Повторю одну давнюю историю на тему того, почему не надо бездумно копировать и вставлять что-то в консоль сервера.
Настраивал iptables на одном из серверов. Надо было просто базовый набор правил сделать с заделом на будущее, если вдруг что-то понадобится ограничить. Я обычно за основу беру свой же список правил из статьи https://serveradmin.ru/centos-nastroyka-servera/#Nastraivaem_firewall
Просто копирую набор правил в bash скрипт и запускаю. Пользуюсь статьей уже несколько лет, поэтому точно знаю, что проблем с правилами быть не должно. Достаточно только заменить ip адрес и имя интерфейса. Но в этот раз что-то пошло не так. Применил правила, получил кучу ошибок синтаксиса iptables и меня отрубило от сервера.
Я знаю заветное правило. Настройка firewall без доступа к консоли – к дальней дороге. Подключился по vnc к серверу и посмотрел, в чем проблема. Оказывается, после какого-то обновления движка сайта, он двойные тире -- стал заменять на одинарные и пробел. Соответственно, обычный копипаст правил с сайта приводит к тому, что правила не работают так, как задумывалось. Успевают примениться начальные правила блокировки, а до разрешений дело не доходит.
К чему я всё это написал? Чтобы лишний раз напомнить, не надо лезть в настройки файрвола, если нет доступа напрямую к консоли сервера, чтобы откатить настройки в случае проблем. Не надо копипастить команды сразу в консоль. А файрвол лучше вообще не править через консоль, но я не могу изжить в себе эту привычку. Хожу и правлю. Можно взять, к примеру, готовую роль Ansible и использовать её. Там и более наглядное управление, и проверка конфигурации и другие дополнения. Подобных готовых ролей много. Я и свои писал, но не пользуюсь. Серверами, которые обслуживаю, чаще всего управляю только я, поэтому мне контроль версий и какие-то дополнительные проверки не нужны. Что поломаю, сам же и исправляю.
Кстати, предвидя подобные проблемы, в своей статье по настройке iptables (https://serveradmin.ru/nastroyka-iptables-v-centos-7/) я все правила сделал в виде картинок, а в конце привел текстовый файл с полным набором показанных правил. За такую заботу о людях получил немного негатива в комментах. Не все поняли такую заботу.
Тут тоже всегда ставлю # перед командами, чтобы нельзя было скопировать и сразу выполнить в консоли. Мало ли, что там в буфер в итоге приедет, а из него в консоль.
#совет
Post #4363
10.2K
- 👍 202
- 👎 2