From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3D8EC67E.6070205@rmts.donpac.ru> Date: Mon, 23 Sep 2002 11:45:02 +0400 From: =?KOI8-R?Q?=F0=D2=CF=CB=CF=D0=D8=C5=D7_=E5=D7=C7=C5=CE=C9=CA?= User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:0.9.9) Gecko/20020513 X-Accept-Language: en-us, en MIME-Version: 1.0 To: community@altlinux.ru Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: [Comm] FTP =?KOI8-R?Q?=C9_Firewall?= Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.13 Precedence: bulk Reply-To: community@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: Здравствуйте! Настроен iptables, ходить по www можно, а с ftp такие проблемы: $ ftp ftp.rmts.donpac.ru Connected to ftp.rmts.donpac.ru (195.161.172.86). 220-RMTS FTP service WarFTPd 1.71-b.01 (Jan 8 2000) Ready (C)opyright 1996 - 2000 by Jarle (jgaa) Aase - all rights reserved. 220 Please enter your user name. Name (ftp.rmts.donpac.ru:john): john 331 User name okay, Need password. Password: 230 User logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (238 bytes). И здесь ftp зависает Скрипт, загружающий правила firewall выглядит так #!/bin/sh # # file /etc/sysconfig/iptable_ppp.sh - Initial IP Firewall script for 2.4.x # # Author: Vladimir Kholmanov, Eugene Prokopiev # use at your own risk # ################################################################################ # Конфигурационные параметры. # При необходимости - отредактируйте. # # Script не требует указания ни статического, ни "подхвата" # динамического IP адреса. # Правила фильтрации привязаны к интерфейсам. # # Проверьте правильность пути к iptables. ################################################################################ EXTERNAL_IFACE="ppp0" INTERNAL_IFACE="eth0" LOCAL_IFACE="lo" VIRTUAL_IFACE="vmnet1" IPTABLES="/sbin/iptables" ################################################################################ # Проверка зависимостей в загружаемых IPTables modules # /sbin/depmod -a # ################################################################################ # Устанавливаем default policies для INPUT, FORWARD и OUTPUT chains # $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD DROP ################################################################################ # Создаем дочерние chains для ICMP, TCP и UDP протоколов. # $IPTABLES -N icmp_in_ppp $IPTABLES -N tcp_in_ppp $IPTABLES -N udp_in_ppp ################################################################################ # Загружаем ICMP rules для входящих потоков # $IPTABLES -A icmp_in_ppp -p ICMP --icmp-type 3 -j ACCEPT $IPTABLES -A icmp_in_ppp -p ICMP --icmp-type 0 -j ACCEPT $IPTABLES -A icmp_in_ppp -p ICMP --icmp-type 11 -j ACCEPT $IPTABLES -A icmp_in_ppp -m limit --limit 6/minute --limit-burst 1 -p ICMP --icmp-type 8 -j ACCEPT $IPTABLES -A icmp_in_ppp -m limit --limit 2/minute --limit-burst 4 -j LOG --log-prefix "ICMP in ppp died: " $IPTABLES -A icmp_in_ppp -p ICMP -j DROP ################################################################################ # Загружаем TCP rules для входящих потоков # $IPTABLES -A tcp_in_ppp -p TCP --syn --dport 80 -j ACCEPT $IPTABLES -A tcp_in_ppp -p TCP --syn --dport 22 -j ACCEPT $IPTABLES -A tcp_in_ppp -p TCP --syn --dport 53 -j ACCEPT $IPTABLES -A tcp_in_ppp -p TCP --syn --sport 53 -j ACCEPT $IPTABLES -A tcp_in_ppp -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A tcp_in_ppp -m limit --limit 2/minute --limit-burst 4 -j LOG --log-prefix "TCP in ppp died: " $IPTABLES -A tcp_in_ppp -p TCP -j DROP ################################################################################ # Загружаем UDP rules для входящих потоков # $IPTABLES -A udp_in_ppp -p UDP --dport 53 -j ACCEPT $IPTABLES -A udp_in_ppp -p UDP --sport 53 -j ACCEPT $IPTABLES -A udp_in_ppp -m limit --limit 3/minute --limit-burst 6 -j LOG --log-prefix "UDP in ppp died: " $IPTABLES -A udp_in_ppp -p UDP -j DROP ################################################################################ # INPUT chain # # Регистрируем и удаляем "проблемные" TCP пакеты. # $IPTABLES -A INPUT -i $EXTERNAL_IFACE -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:" $IPTABLES -A INPUT -i $EXTERNAL_IFACE -p tcp ! --syn -m state --state NEW -j DROP ################################################################################ # "Направляющие" для локальных и "перенаправляющие" для inet пакетов rules. # $IPTABLES -A INPUT -p TCP -i $LOCAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p TCP -i $VIRTUAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p TCP -i $INTERNAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p TCP -i $EXTERNAL_IFACE -j tcp_in_ppp $IPTABLES -A INPUT -p UDP -i $LOCAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p UDP -i $VIRTUAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p UDP -i $INTERNAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p UDP -i $EXTERNAL_IFACE -j udp_in_ppp $IPTABLES -A INPUT -p ICMP -i $LOCAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p ICMP -i $VIRTUAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p ICMP -i $INTERNAL_IFACE -j ACCEPT $IPTABLES -A INPUT -p ICMP -i $EXTERNAL_IFACE -j icmp_in_ppp ################################################################################ # Регистрирующее rule для "неохваченных" пакетов. # $IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 6 -j LOG --log-prefix "IP INPUT packet died: " ################################################################################ # Корректировка уязвимости NAT # $IPTABLES -A OUTPUT -m state -p icmp --state INVALID -j DROP -- С уважением, Прокопьев Евгений