Настройка iptables

Материал из darklurker wiki
Перейти к: навигация, поиск

Установка и настройка

Предполагается, что iptables уже установлен, если нет - ставим

yum install iptables-services

Запускаем сервис

systemctl start iptables

Добавляем в автозагрузку

systemctl enable iptables

Удаляем правила

iptables -F

Создаем файл конфигурации iptables

nano /etc/sysconfg/iptables

Добавляем содержимое

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

## Блокируем нулевые пакеты
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP
## Сбрасываем пакеты XMAS
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP
## Защита от syn-flood
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP
## Разрешенные сервисы
# icmp
-A INPUT -p icmp -j ACCEPT
# ssh
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
# ssh drop
-A INPUT -p tcp --dport 22 -j DROP
# Доступ localhost
-A INPUT -i lo -j ACCEPT
# http
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# https
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# mysql
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
## Разрешаем уже установленные соединения
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
## Отбрасываем все остальные соединения
-P OUTPUT ACCEPT
-P INPUT DROP

COMMIT

Если делали правила conntrack и нужно заменить старые

sed -i 's/-m state/-m conntrack/g;s/--state/--ctstate/g' iptables

Перезапускаем сервис

systemctl restart iptables

Восстановление iptables из файла:

iptables-restore < /etc/iptables

Сохраняем

service iptables save

Для сохранения таблиц рекомендуется использовать пакет netfilter-presistent


Полезные ссылки

Подробное руководство по iptables

Краткий мануал по iptables