iptables + ispmanager lite

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

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

    Kenny newbie

    Регистр.:
    17 авг 2006
    Сообщения:
    462
    Симпатии:
    147
    Статья будет полезна тем, кто использует хостинг панели на серверах или на виртуальном пространстве, но кому не хочется копаться в настройках фаервола.

    Дано:
    1. 3 сетевых интерфейса (на одном висят сайты, второй нужен для ДНС, третий - локальный)
    2. Панель - IPSManager Lite
    3. iptables
    4. Фтп принудительно использует порты 49152:65535

    Код:
    #!/bin/sh
    
    FW="/sbin/iptables"
    
    #
    $FW -F # Сбрасываем все правила iptables
    $FW -X # Сбрасываем все правила iptables, кроме дефолтных 
    
    # ---Firewall---
    
    # Переменные
    FTPCON="20:21" # Команды FTP
    FTPDATA="49152:65535" # Данные FTP
    
    # IP аддреса
    HOME="ip_address" # Admin's Home
    ALIASWEB="ip_address" # IP аддрес интерфейса, на котором будут висеть сайты
    ALIASDNS="ip_address" # 2-ой IP аддрес, чтобы нормально работал DNS
    ALIASLAN="ip_address" # IP в локалке (если есть)
    ALIASLOOP="127.0.0.1" # IP LoopBack (замыкание на себя)
    
    # Интерфейсы
    INTWEB="" # Название интерфейса, на котором будут висеть сайты
    INTDNS="" # Интефейс для DNS2
    INTLAN="" # Интерфейс локальной сети (если есть)
    
    # Применительно к самому серверу (дропаем форвардинг, чтобы никто не юзал сервак, как шлюз)
    $FW -P INPUT DROP 
    $FW -P FORWARD DROP
    
    # (разрешаем все для себя)
    $FW -A INPUT -s $ALIASLOOP -d $ALIASLOOP -j ACCEPT
    $FW -A INPUT -s $ALIASWEB -d $ALIASWEB -j ACCEPT
    $FW -A INPUT -s $ALIASLAN -d $ALIASLAN -j ACCEPT
    $FW -A INPUT -s $ALIASDNS -d $ALIASDNS -j ACCEPT
    
    #
    $FW -A INPUT -p icmp --icmp-type 8 -m limit --limit 10/s --limit-burst 20 -j ACCEPT                     # ICMP
    $FW -A INPUT -p icmp --icmp-type 11 -m limit --limit 10/s --limit-burst 20 -j ACCEPT                    # ICMP
    
    # ---Доступ к сервисам---
    
    # SSH
    $FW -A INPUT -i $INTWEB -s $HOME -d $ALIASWEB -p tcp --dport 22 -j ACCEPT                      # Admin's Home
    
    # FTP
    $FW -A INPUT -i $INTWEB  -p tcp --dport $FTPDATA -j ACCEPT                        # Разрешаем FTP Data
    $FW -A INPUT -i $INTWEB -p tcp --dport $FTPCON -j ACCEPT                 # Разрешаем FTP
    
    # HTTP
    $FW -A INPUT -i $INTWEB -p tcp --dport 80 -j ACCEPT                                                            # Разрешаем http
    
    # P2P
    $FW -A INPUT -i $INTWEB  -p tcp --dport 411 -j ACCEPT                          # Разрешаем p2p (если есть) 
    
    # ispmanager 
    $FW -A INPUT -i $INTWEB  -p tcp --dport 443 -j ACCEPT                          # Разрешаем ISP Manager
    
    # DNS
    $FW -A INPUT -i $INTWEB -p udp --dport 53 -j ACCEPT # Разрешаем DNS для двух айпишнегов
    $FW -A INPUT -i $INTDNS -p udp --dport 53 -j ACCEPT #
    
    # POP
    $FW -A INPUT -i $INTWEB -p tcp --dport 110 -j ACCEPT # Разрешаем POP3
    
    # SMTP
    $FW -A INPUT -i $INTWEB -p tcp --dport 25 -j ACCEPT # Разрешаем SMTP
    
    #
    $FW -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT # Дропаем битые пакеты, которые идут на вшнешний мир, если когда-нить NAT будет
    $FW -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT
    
    Навеяно темой https://www.nulled.cc/showthread.php?t=218076
     
    masterlan нравится это.
  2. masterlan

    masterlan

    Регистр.:
    14 окт 2009
    Сообщения:
    551
    Симпатии:
    51
    Если 3 сетевухи, вероятно сервер используется как шлюз для локалки.
    Для полноты картины может нужно бы написать про nat ? (еще с нарезкой скоростей пользователям :) )
     
  3. Kenny

    Kenny newbie

    Регистр.:
    17 авг 2006
    Сообщения:
    462
    Симпатии:
    147
    Не, шлюзом не используется. Просто есть внутренняя локальная сеть из нескольких машин, для дальнейшего объединения в кластер по средством iptables. Но, это уже отдельная статья =) Если будет нужна статья по НАТу через iptables/ipfw, могу написать или выложить свои рабочие конфиги
     
  4. Drum41k08

    Drum41k08 Hosting - it's my

    Регистр.:
    15 дек 2008
    Сообщения:
    307
    Симпатии:
    28
    Не лучше ли поставить CFS?
     
  5. Kenny

    Kenny newbie

    Регистр.:
    17 авг 2006
    Сообщения:
    462
    Симпатии:
    147
    Может быть и лучше, но так привычнее