IPTABLES — самая простая защита сервера

24/02/2013
от
Поделиться

Итак, чтобы хоть как-т по началу защитить свой сервер можно применить простые правила в iptables:

  • iptables -F INPUT #удаляем все существующие правила на входящие
  • iptables -A INPUT -p tcp —dport 80 -j ACCEPT #пускать все входящие на 80 порт
  • iptables -A INPUT -p tcp —dport 22 -j ACCEPT #пускать все (тут надо задуматься) входящие на 22 порт
  • iptables -A INPUT -m conntrack —ctstate ESTABLISHED,RELATED -j ACCEPT #разрешаем внутренним соединеняим жить и беспрепятственно обмениваться пакетами внутри сети
  • iptables -P INPUT DROP #меняем правило по умолчанию — ничего не пропускать на входящие
  • iptables -P OUTPUT ACCEPT #устанавливаем правило по умолчанию разрешать все исходящие пакеты
  • iptables -P FORWARD ACCEPT #то же самое делаем и для FORWARD
  • service iptables save # (для CentOS) сохраняем все настройки правил в файл /etc/sysconfig/iptables, которые в свою очередь будут применены при следующей загрузке системы.

Напоминаю, что все что вы делаете с правилами в iptables применяется тут же, но будет действовать до перезагрузки системы, если вы конечно же не выполнили команду save.

Ещещ одно вспомогательное правило отловить баги, забытые порты и т.д. — включить логирование непропущенных пакетов, например:

iptables -A INPUT -j LOG —log-level WARN —log-prefix "INPUT DROP: "

Вот и все, нехитро, но и не сложно. В результате, конечно же мы тут себя не спасаем от брутфорса, DDOS и т.д. но все остальные порты точно будут закрыты и все пакеты отправленные на них извне — отброшены.

Да, чуть не забыл, при выполнении команды "iptables -P INPUT DROP" естественно выкинет Вас из вашей текущей сессии в ssh, по этому надо подумать перед тем как ее выполнить. Например это можно сделать из VNC консоли, или с помощью оператора &&, или же в самом конце, после разрешающих правил.

Успешной всем защиты!

Поделиться

Метки: , , , , , , , ,

Ответить

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