nixp.ru v3.0

19 октября 2017,
четверг,
06:35:21 MSK

DevOps с компанией «Флант»
Longobard написал 5 июня 2006 года в 01:15 (709 просмотров) Ведет себя как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.

Где можно почитать что-либо на эту тему? А то правил все больше и больше…

Dr. Evil

а что, собственно, оптимизировать? ты хоть дал бы тогда кофиг какой-нибудь цепочки. может, у тебя для одного ip-адреса тысячу строк с однотипными правилами ;)

Genie

общий принцип: разделяй и влавствуй.. ;)

ну авообще, старайся сократить число проверок

огранизовывай в дерево там, ещё как, но от списка старайся избавиться. ;)

Longobard

Ну например такой момент:

нужно закрыть доступ на 21 и 8000 порт из инета.

Я делаю так:

#Closing ftp and icecast access from internet (21 and 8000 ports)
einfo "            Closing FTP access from the internet (21 port)"
for i in "${valid_networks[@]}"
do
        iptables -A INPUT  -s $i -p tcp --dport 21 -j ACCEPT
done
iptables -A INPUT -p tcp --dport 21 -j DROP
###############################################
einfo "            Closing Icecast access from the internet (8000 port)"
for i in "${valid_networks[@]}"
do
        iptables -A INPUT  -s $i -p tcp --dport 8000 -j ACCEPT
done
iptables -A INPUT -p tcp --dport 8000 -j DROP
###############################################

Т.е. пройдут лишь пакетики с нужных мне подсетей, остальные попадут под дроп :)

А можно сделать так:

for i in "${valid_networks[@]}"
do
        iptables -A INPUT  -s $i -m mport -p tcp --dports 21,8000 -j ACCEPT
done
iptables -A INPUT -m mport -p tcp --dports 21,8000 -j DROP

Вроде как правил будет поменьше, но зато они теперь используют дополнительный модуль (mport).

Что будет шустрее работать?

Dr. Evil

я делаю так, как меня научил один из поситителей этого форума…

закрываю все (-P DROP), а потом открываю только то, что мне надо. у меня файервол не так много чего открывает/зарывает, поэтому мой совет вряд ли применим к твоей схеме.

Genie

шустрее будет радотатть, если ты сделаешь где-то так:

iptables -A INPUT -p tcp --dport 80 -j FILTER_HTTP
iptables -A INPUT -p tcp --dport 21 -j FILTER_FTP
for n in "${subnetsB_ftp[@]}"
do
  iptables -A FILTER_FTP -s $n/16 -j FILTER_FTP_$n
  for f in "${ips_ftp[@]}"
  do
    iptables -A FILTER_FTP_$n -s $f -j ACCEPT
  done
done
#...
Curu3MyHg

Кстати, вопрос интересен не только Longobard’у :)

Genie
шустрее будет радотатть, если ты сделаешь где-то так:

iptables -A INPUT -p tcp --dport 80 -j FILTER_HTTP
iptables -A INPUT -p tcp --dport 21 -j FILTER_FTP
for n in "${subnetsB_ftp[@]}"
do
  iptables -A FILTER_FTP -s $n/16 -j FILTER_FTP_$n
  for f in "${ips_ftp[@]}"
  do
    iptables -A FILTER_FTP_$n -s $f -j ACCEPT
  done
done
#...

Это-то понятно..

Но вот почитать что-нибудь на эту тему:

Longobard
………

Вроде как правил будет поменьше, но зато они теперь используют дополнительный модуль (mport).

Что будет шустрее работать?

было бы очень интересно.. Метод научного тыка не всегда применим..

Есть какая-нибудь статистика того, насколько нагружает файрволл использование разных модулей?

Genie

собери такую статистику сам.

кстати, ты ещё подумай, как ты будешь её собирать.

методику, так сказать, сбора данной статистики ;)

по мне — так это попросту неуловимый Джо. очередной. ;)

основное правило: строй проверки так, чтобы среднее число проверок было минимальным.

для этого — собери статистику, кто как и сколько к какому правилу попадает.

после этого — оптимизируй путь.