Защита сервера - Centos - Iptables. Проверьте, посоветуйте.

Тема в разделе "Администрирование серверов", создана пользователем ldrade, 3 ноя 2011.

Модераторы: mefish, stooper
  1. ldrade

    ldrade Создатель

    Регистр.:
    27 окт 2011
    Сообщения:
    39
    Симпатии:
    3
    Сервер на CENTOS 5.6
    Требуется дополнить скрипт (укрепить защиту!) ))
    Возможно где то ошибки, не правильный порядок правил, может предложите еще чего добавить, изменить, возможно у меня сервер "дырявый" с такими правилами. )
    Скрипт запускаю через /etc/rc.d/rc.local
    Сам скрипт iptables.sh:

    #!/bin/sh
    # Очищаем предыдущие записи
    iptables -F
    iptables -t nat -F
    iptables -t mangle -F
    iptables -X
    iptables -t nat -X
    iptables -t mangle -X
    # Установка политик по умолчанию
    iptables -P INPUT DROP
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    # Разрешаем локальный интерфейс
    iptables -A INPUT -i lo -j ACCEPT
    # Простая защита от DoS-атаки
    iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    # Защита от спуфинга
    iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with tcp-reset
    # Защита от попытки открыть входящее соединение TCP не через SYN
    iptables -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
    # Закрываемся от кривого icmp
    iptables -I INPUT -p icmp -f -j DROP
    # REL, ESTB allow
    iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
    # Разрешим передачу трафика уже открытым соединениям:
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    # Разрешаем рабочие порты
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 7777 -j ACCEPT
    # Для работы OpenVPN
    /sbin/modprobe ip_tables
    /sbin/modprobe iptable_filter
    /sbin/modprobe iptable_mangle
    /sbin/modprobe iptable_nat
    echo 1 > /proc/sys/net/ipv4/ip_forward
    sysctl -p
    iptables -I FORWARD 1 -i tap0 -p udp -j ACCEPT
    iptables -t nat -A POSTROUTING -s 192.168.231.0/24 -o eth0 -j MASQUERADE
    iptables -A INPUT -p udp --dport 1111 -j ACCEPT
    # Разрешение главных типов протокола ICMP
    iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
    iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT
    iptables -A INPUT -p icmp --icmp-type 12 -j ACCEPT
    # Защита сервера SSH от брутфорса
    iptables -A INPUT -p tcp --syn --dport 22 -m recent --name dmitro --set
    iptables -A INPUT -p tcp --syn --dport 22 -m recent --name dmitro --update --seconds 30 --hitcount 3 -j DROP
    # Просмотр
    iptables -L --line-number
    echo
    echo "Adding DONE, maybe OK"
    echo "Saving to rc, PSE wait!"
    service iptables save
    echo
    service iptables restart
    echo "Done"
    # заставить iptables отсекать весь остальной трафик, для которого нет описаных правил.
    iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited

     
  2. Drum41k08

    Drum41k08 Hosting - it's my

    Регистр.:
    15 дек 2008
    Сообщения:
    307
    Симпатии:
    28
    Установи CSF и будет тебе хорошая защита. Он и брутфорсы банит, и управление достаточно удобное, и даже немного от DDoS атак защитит, по крайней мере по ICMP.


    Перейти по ссылке
     
    egoryichinfo и ldrade нравится это.
  3. Alexandr3

    Alexandr3

    Заблокирован
    Регистр.:
    22 апр 2008
    Сообщения:
    429
    Симпатии:
    96