LINUX.ORG.RU
ФорумAdmin

поругайте iptables

 


2

3
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
iptables -A INPUT -p tcp --syn --dport 443 -m connlimit --connlimit-above 48 --connlimit-mask 24 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --syn --dport 443 -m connlimit --connlimit-above 16 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 1 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 --connlimit-mask 24 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 3389 -m connlimit --connlimit-above 1 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with tcp-reset
iptables -A INPUT -p udp --dport 53 -m connlimit --connlimit-above 8 -j DROP
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -p tcp -i eth2 --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp -i eth2 --tcp-flags SYN,ACK,FIN,RST RST -j DROP
iptables -A INPUT  -j LOG --log-prefix "iptables denied: " --log-level debug


Последнее исправление: hellysmile (всего исправлений: 2)

хм… а iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT разве надо? спокон веков вроде бы ядро и так марсианские пакеты резало.

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT — чуть-чуть что с синхронизацией времени, и некоторые пакеты не пройдут. зачем такая паранойя?

connlimit на dport 22 не перепутаны? и, по моему, что-то connlimit-mask вообще перемудрено.

P.S. но я не великий строитель файрволов :-)

dmiceman ★★★★★
()
Ответ на: комментарий от dmiceman

«connlimit-mask» - конекты на подсеть «connlimit на dport 22» - ну не хочу я с 1го айпи больше 1го ссш коннекта хД

hellysmile
() автор топика
Ответ на: комментарий от Kroz
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

ну у меня 0 негде не открыт, а по дефолту резать все, или этот порт надо отдельно закрыть?

hellysmile
() автор топика
Ответ на: комментарий от dmiceman

чуть-чуть что с синхронизацией времени

ну и хрен с тем пингом

hellysmile
() автор топика
Ответ на: комментарий от hellysmile

Хм, недосмотрел. Нет, отдельно не нужно. В моем конфигуе такая активность уходила в лог, поэтому было отдельное правило.

Kroz ★★★★★
()

-m state --state
-m conntrack --ctstate

Уже б использовали что-то одно

! -i lo -d 127.0.0.0/8 -j REJECT

За это отвечает rp_filter (см. sysctl -a|fgrep -w rp_filter)

-A INPUT -p tcp -i eth2 --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

Это к чему ? Приход пакетов с единственным rst не более 1 в секунду ? Зачем это ? А если 2/с будет, то всё сломается ?

-m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK

Зачем этот частный случай ? Что будет, если прийдёт новый пакет с флагом fin ? Первое условие выполнится, а второе - нет, его нужно дальше проверять, сразу не понятно, что это «левый» пакет ?
Меня всегда удивляли люди, которые любят пихать в firewall кучу частных случаев. Как будто он от этого начнёт лучше и надёжднее работать. Думаю в tcp стэке уже давным давно сделаны всевозможные проверки на разную комбинацию IP/портов/флагов, ядро само знает как реагировать на кривые пакеты. Зачем заново изобретать эти проверки в виде правил ?

spirit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.