service iptables restart - собственно перезапускается и считывает заново конфиг (/etc/sysconfig/iptables)
service iptables start/stop - останавливает и запускает
service iptables save - сохраняет правила iptables в конфиг файл.

IPTABLES: блокировка самых распространенных атак

Зачастую хостеры отдают в распоряжение пользователей не настроенные серверы. Тем не менее, не будет лишним сбросить все правила фаервола при помощи следующей команды:

iptables -F

Кроме того, существует несколько простых команды, которые способны “отразить” некоторые виды атак. Во-первых, заблокируйте нулевые пакеты:

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Данная мера необходима для того, чтобы фаервол не принимал входящие пакеты с tcp-флагами. По большому счету нулевые пакеты используются для выяснения настроек сервера и выявления его уязвимостей.

Команда для отражения атак syn-flood:

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

В ходе атаки syn-flood создается новое соединение без каких-либо флагов (SYN, ACK и пр.). Делается это лишь с одной целью 一 отнять ресурсы сервера.

Команда для защиты от разведывательных пакетов XMAS:

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

Для того, чтобы правила были доступны и после перезагрузки IPTABLES или httpd, выполните следующую команду:

service iptables save

 IPTABLES: ограничение количества параллельных соединений к серверу для одного IP

Что касается ограничия количества параллельных соединений к серверу для одного IP, то здесь нам поможет модуль connlimit. Например, чтобы разрешить, к примеру, пять ssh-соединений на одного пользователя, следует воспользоваться командой:

iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 5 -j REJECT

Параметр connlimit-above 5  указывает на то, что правило начнет действовать в том случае, если количество соединений превысит указанное число.

Для установки количества портов используется следующее правило:

iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP

Параметр  --connlimit-mask 24 указывает маску сети. Не забудьте использовать команду для сохранения правил:

service iptables save

 IPTABLES: ограничение доступа по SSH

как разрешить трафик по SSH, чтобы подключение к  VPS удаленно стало возможно. Делается это при помощи команды, указывающей на то, что в фаервол добавлено правило, которое принимает  tcp-трафик, поступающий на 22-й порт (он идет по умолчанию):

iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Чтобы включить доступ к SSH по постоянному IP-адресу, нужно узнать его, введя в терминал команду:

w

После этого можно добавить правило фаервола, которое разрешит трафик на порт SSH, исходящий с указанного IP:

iptables -A INPUT -p tcp -s ваш IP -m tcp --dport 22 -j ACCEPT

Вместо “ваш IP” подставьте реальный адрес, который вы узнали, выполнив команду w.

Рассмотрим еще одно полезное правило 一 правило, позволяющее устанавливать исходящее соединение. Проще говоря, использовать ping, а также запускать обновление ПО:

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Команда для сохранения правил перезагрузки IPTABLES или httpd:

service iptables save