Как настроить iptables для локального веб сервера ?

Discussion in 'Безопасность и Анонимность' started by Jason Bourne, 5 Feb 2011.

  1. Jason Bourne

    Jason Bourne Member

    Joined:
    13 Nov 2009
    Messages:
    267
    Likes Received:
    36
    Reputations:
    25
    Всем привет ! :) Собственно понадобилась прога наподобие денвера только под бунту, решил что буду устанавливать это "подобие" таким способом ,но вот тут возник такой вопрос нужно для этого локального веб сервера настроить iptables :( Так вот что и как нужно настраивать в iptables для этого локального веб сервера ?
     
  2. SiriysBlack

    SiriysBlack New Member

    Joined:
    27 Feb 2010
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    #!/bin/sh
    ### Скрипт конфигурации IPTables ###
    # Очищаем предыдущие записи
    iptables -F
    # Установка политик по умолчанию
    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 -p tcp --dport 20 -j ACCEPT
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 25 -j ACCEPT
    iptables -A INPUT -p udp --sport 53 -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 110 -j ACCEPT
    iptables -A INPUT -p tcp --dport 143 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -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 -A INPUT -p tcp –dport 22 -j ACCEPT
    # Просмотр
    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"


    Написанные в скрипте правила будут справедливы для любого дистрибутива (кроме команд сохранения правил и перезагрузки брандмауэра).
     
    #2 SiriysBlack, 11 Feb 2011
    Last edited: 11 Feb 2011
    1 person likes this.