From: "Прокопьев Евгений" <john@rmts.donpac.ru>
To: community@altlinux.ru
Subject: [Comm] FTP и Firewall
Date: Mon, 23 Sep 2002 11:45:02 +0400
Message-ID: <3D8EC67E.6070205@rmts.donpac.ru> (raw)
Здравствуйте!
Настроен 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
--
С уважением, Прокопьев Евгений
next reply other threads:[~2002-09-23 7:45 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-23 7:45 Прокопьев Евгений [this message]
2002-09-23 7:50 ` Mr.Ghost
2002-09-23 8:52 ` Прокопьев Евгений
2002-09-23 9:45 ` Прокопьев Евгений
2002-09-23 10:13 ` Dmitry Lebkov
2002-09-23 10:33 ` Прокопьев Евгений
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D8EC67E.6070205@rmts.donpac.ru \
--to=john@rmts.donpac.ru \
--cc=community@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git