Всем привет. Есть машина, где будут распологаться игровые сервера. Вопросы: 1) Стоит ли ставить фальтрацию ip и mac адреса? 2) Нужно ли позакрывать порти и открыть те которые я использую? 3) Какой скрипт посоветуете для защиты.
В зависимости от кол-ва юзверов... Конечно! А еще лучше сделать порт-форвардинг и перебросить общеизвестные сервисы на другие порты (для усложнения пентеста) От чего? P.S. http://dd0s.blogspot.com/ Читал?
Будут стоять игровые сервера типа: кс и ксс. Если будут флудить канал тоисть все только настраивать iptables? z0mbyak Спасибо, читаю.
От флуда спасет, от качественного Ddos'а конечно нет) Есть разные) Вбей в гугль anti ddos script, получишь более-менее полный ответ на свой вопрос...
1) По умолчанию использовать опцию дроп(-P DROP)! 2) На все порты установить лимит соединений с одного адреса, можно использовать конструкции типа (в примере для порта HTTP) -A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m hashlimit --hashlimit-upto 10/min --hashlimit-burst 30 --hashlimit-mode srcip --hashlimit-name DDOS --hashlimit-htable-size 32768 --hashlimit-htable-max 32768 --hashlimit-htable-expire 100000 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 --connlimit-saddr -j DROP 3) Повырубать все что не используется, включая ицмп, и не в коем случае не использовать реджект ибо жрет ресуры.
Конкретно указанные правила действуют только на порт 80 (т.е. Http), так как конструкция: Таблицы позволяют настраивать так же и другие протоколы, но для этого нужно указать конкретный порт, например 22.
На ssh безусловно, но я бы блокал по попыткам: iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP Чтоб не давать брутить. А вот с фтп только на управляющее соединение ибо как написано в правиле tcp . Правлило из предыдущего сообщения фактически лимитирует количество подключений на порт, кой с какими продвинутыми методами. Можно было написать и проще(или при отсутствии xaddons): -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 --connlimit-saddr -j DROP т.е. выхе 10 подключений - йух. Я пишу везде 80 порт про тому, что привычно и понятно, правила можешь юзать для портов контры и т.п.
Нашол правило для защиты игровых сервер. iptables -A INPUT -p udp -m conntrack --ctstate NEW -m length --length 51:53 -m hashlimit --hashlimit-upto 10/sec --hashlimit-burst 10 --hashlimit-mode srcip,srcport,dstip,dstport --hashlimit-name CStrike_new -j ACCEPT iptables -A INPUT -p udp -m conntrack --ctstate ESTABLISHED -m length --length 256:65535 -m hashlimit --hashlimit-upto 101/sec --hashlimit-burst 101 --hashlimit-mode srcip,srcport,dstip,dstport --hashlimit-name CStrike_ESTABL -j ACCEPT iptables -A INPUT -p udp -j DROP Как вы думаете, будет ли он нормально работать? Или что то упростить или добавить?
Ну, если порты "те самые" то должно, и учти что весь остальной удп при таких правилах запрет, а на тцп ни каких ограничений нет..
нет конечно, я бы на твоем месте сканирнул себе порты, потом посмотрел, что открыто потом попер закрывать... последовательно, мужик, просто и последовательно. Ни кто не сможет тебе дать рецепт как сделать "все 3.14здато", но в тонкостях подскажем.
Недавно нашол такую вот статью: http://hexkey.ru/309/iptables-filtratsiya-po-ip-i-mac/ Как вы думаете, полезная?