Ответы пользователя по тегу Iptables
  • Как правильно настроить iptables с fail2ban на VPS (debian 7)?

    @evgenyks
    Устанавливаем:
    apt-get install iptables-persistent
    Система предложит сохранить имеющиеся iptables-правила в файлы /etc/iptables/rules.v4 для IPv4 и /etc/iptables/rules.v6 для IPv6 - сохраняем.
    Открываем файл /etc/iptables/rules.v4 очищаем и вставляем:
    *filter
    
    # входящие запрещены
    :INPUT DROP [0:0]
    
    # перенаправления запрещены
    :FORWARD DROP [0:0]
    
    # исходящие разрешены
    :OUTPUT ACCEPT [0:0]
    
    # локально разрешено всё
    -A INPUT -i lo -j ACCEPT
    
    # пинг и прочие icmp ответы сервера разрешены
    -A INPUT -p icmp -m state --state NEW -m icmp --icmp-type 8 -j ACCEPT
    -A INPUT -p icmp -m state --state NEW -m icmp --icmp-type 11 -j ACCEPT
    -A INPUT -p icmp -m state --state NEW -m icmp --icmp-type 3 -j ACCEPT
    
    # разрешены только установленные соединения
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    
    # некорретные/ненужные пакеты запрещены
    -A INPUT -m state --state INVALID -j DROP
    -A INPUT -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
    -A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
    -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
    -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
    -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j DROP
    -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
    -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
    -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
    
    # открываем доступ к ssh-порту, 80 порту и какие вам нужно
    -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    
    COMMIT

    Применяем правила:
    iptables-restore < /etc/iptables/rules.v4
    Перезапускаем fail2ban:
    service fail2ban restart
    Проверяем правила:
    iptables -L
    Извиняюсь где взял не помню!
    Ответ написан
    Комментировать