Управление сетевым трафиком – одна из самых сложных задач, с которыми приходится сталкиваться системным администраторам.
Мы должны указать, что пользователи работают с утвержденными входящим и исходящим требованиям брандмауэра, чтобы гарантировать защиту системы от атак.
Многие пользователи используют IPTables на Linux в качестве брандмауэра, тогда как в свою очередь IPTables – это просто инструмент командной строки, который помогает администраторам определять правила и взаимодействовать с ядром Linux.
Другими словами этот инструмент позволяет помочь администраторам настроить список правил для входящего и исходящего сетевого трафика, а конкретная реализация фактически находится в ядре Linux.
IPTables включает набор встроенных и определяемых пользователем цепочки правил , и администраторы могут добавить к цепочке различные правила обработки пакетов.
Я познакомлю вас с некоторыми правилами брандмауэра iptables, которые используются администраторами сети.
Разрешить доступ к сетевой карте loopback
iptables -A INPUT –i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Настроим переадресацию портов
Иногда нам нужно перенаправить трафик службы сервера Linux на другой порт, тогда вы можете использовать следующую команду:
iptables -t nat -A PREROUTING –i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8080
Приведенная выше команда перенаправит весь трафик с порта 80 карты eth0 на порт 8080.
Отключим PING
Можно блокировать входящие соединения ICMP, используя следующие правила:
iptables -A INPUT -p icmp -i eth0 -j DROP
Запуск, остановка и перезапуск IPTables
iptables systemctl stop
iptables systemctl restart iptables
или /etc/init.d/iptables start
/etc/init.d/iptables stop
/etc/init.d/iptables restart
Просмотр политики брандмауэра IPtables
Используем IPtables для отключения определенного порта
Блокируем определенные исходящие соединения:
iptables -A OUTPUT -p tcp –dport zzz -j DROP
Блокируем определенные входящие соединения:
iptables -A INPUT -p tcp –dport zzz -j ACCEPT
Разрешим установление связанных подключений
При разделении сетевого трафика, чтобы разрешить установку входящих соединений, вы можете использовать следующие правила: ing соединения:
iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT
Для исходящего соединения:
iptables -A OUTPUT -m conntrack –ctstate ESTABLISHED -j ACCEPT
Предотвращение подключения к сетевой карте
iptables -A INPUT -i eth0 -s zzz.zzz.zzz.zzz -j DROP
Заблокируем правила доставки почты
Если ваша система не используется для доставки почты, мы можем заблокировать исходящий порт SMTP в правиле:
iptables -A INPUT -i eth0 -s zzz.zzz.zzz.zzz -j DROP
Заблокируем MAC-адрес
iptables -A INPUT -m mac –mac-source 00:00:00:00:00:00 -j DROP
Ограничим количество одновременных подключений
iptables -A INPUT -p tcp –syn –dport 22 -m connlimit –connlimit-above 3 -j REJECT
Заблокируем атаку флуда службы HTTP
iptables -A INPUT -p tcp –dport 80 -m limit –limit 100/minute –limit-burst 200 -j ACCEPT
Используем диапазон IP-адресов в правилах IPtables для CIDR, например:
iptables -A OUTPUT -p tcp -d 192.168.1.1/24 –dport 22 -j ACCEPT
Используем Multiport для управления несколькими портами