iptables разрешает входящий и исходящий трафик только на веб-сервер и с него

У меня есть сервер Elastic Search, который, кажется, эксплуатировался (он используется для DDoS-атаки, где в течение месяца не было брандмауэра).

В качестве временной меры, пока я создавал новый, я надеялся заблокировать весь трафик на сервер и с сервера, который не приходил с нашего веб-сервера или не направлялся к нему. Достигнут ли эти правила iptables этого:

iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 9200 -j DROP
iptables -P FORWARD \! --src 1.2.3.4 DROP
iptables -P OUTPUT \! --src 1.2.3.4 DROP

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

1 ответ

Чтобы добиться этого, я бы реализовал сброс по умолчанию, ПОСЛЕ определения разрешенных IP-адресов. Так будет выглядеть

iptables -I INPUT --src 1.2.3.4 -p tcp --dport 9200 -j ACCEPT
iptables -P INPUT DROP
iptables -I FORWARD --src 1.2.3.4 ACCEPT
iptables -P FORWARD DROP
iptables -I OUTPUT --src 1.2.3.4 ACCEPT
iptables -P OUTPUT DROP

Кроме того, имейте в виду, что цепочка FORWARD, скорее всего, ничего не делает, если у вас нет нескольких nics, тегов vlan и т. Д.... и "1" в /proc/sys/net/ipv4/ip_forward,

Кроме того, сначала проверьте свои правила и, возможно, добавьте 10-минутный хрон для сброса правил, или вы можете заблокировать себя, если это удаленный компьютер, без внешнего консольного доступа:)

Другие вопросы по тегам