ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: "Maks Re" <admaks@gmail.com>
To: "ALT Linux sysadmin discuss" <sysadmins@lists.altlinux.org>
Subject: Re: [Sysadmins] настройка iptables в режиме все запрещено
Date: Tue, 17 Apr 2007 17:48:28 +0400
Message-ID: <f041fbd00704170648g6cf63750m770486263152277f@mail.gmail.com> (raw)
In-Reply-To: <20070417120738.GC19449@xeon.vladregion.ru>

вы правы.


скрипт хитрой тут...

#!/bin/sh
# This firewall script was generated by fwcreator V0.11.4

################################################################
IPTABLES="/sbin/iptables"
#########################################################################
# Политика обработки пакетов по умолчанию - запретить всё, что
# не разрешено
#########################################################################

$IPTABLES -t filter -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#-----------------------------------------------------------------------
# Разрешить трафик через интерфейс обратной петли

$IPTABLES -A INPUT -i lo+ -j ACCEPT
$IPTABLES -A OUTPUT -o lo+ -j ACCEPT

##########################################################################
ANYWHERE="0/0"
LOOPBACK="127.0.0.0/8"
CLASS_A="10.0.0.0/8"
CLASS_B="172.16.0.0/12"
CLASS_C="192.168.0.0/16"
CLASS_D_MULTICAST="224.0.0.0/4"
CLASS_E_RESERVED_NET="240.0.0.0/5"
BROADCAST_SRC="0.0.0.0"
BROADCAST_DEST="255.255.255.255"
ANYPORTS="0:65535"
PRIVPORTS="0:1023"
UNPRIVPORTS="1024:65535"
##################################################################

# Разрешить перенаправление пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

# Разрешить защиту TCP SYN cookie
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#-----------------------------------------------------------------
# Разрешить защиту от фальсификации IP-адресов
#-----------------------------------------------------------------

 # Включить проверку исходных адресов
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo 1 > $f
done

 # Запретить ICMP-перенаправление
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
    echo 0 > $f
done

 # Запретить пакеты с маршрутом к источнику
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
    echo 0 > $f
done

##################################################################
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
##################################################################


#----------------------------------------------------------------------
# ICMP

# (4) Source_Quench
#     Входящие запросы с требованием замедления передачи

$IPTABLES -t filter -A INPUT -i eth1 -p icmp --icmp-type 4 --src 0/0
--dst 123.45.67.89 -j ACCEPT

# (12) Parameter_Problem
#      Входящие сообщения об ошибках

$IPTABLES -t filter -A INPUT -i eth1 -p icmp --icmp-type 12 --src 0/0
--dst 123.45.67.89 -j ACCEPT

# (3) Dest_Unreachable, Service_Unavailable
#     Входящие данные, передаваемые при
#     определении размера; сообщения о том, что узел
#     или сервер недоступны; отклик traceroute

$IPTABLES -t filter -A INPUT -i eth1 -p icmp --icmp-type 3 --src 0/0
--dst 123.45.67.89 -j ACCEPT

# (11) Time_Exceeded
#      Входящие сообщения о тайм-ауте,
#      а также TTL-сообщение traceroute

$IPTABLES -t filter -A INPUT -i eth1 -p icmp --icmp-type 11 --src 0/0
--dst 123.45.67.89 -j ACCEPT


#----------------------------------------------------------------------
# ICMP

# (4) Source_Quench
#     Исходящие запросы с требованием замедления передачи

$IPTABLES -t filter -A OUTPUT -o eth1 -p icmp  --icmp-type 4 --src
123.45.67.89 --dst 0/0 -j ACCEPT

# (12) Parameter_Problem
#      Исходящие сообщения об ошибках

$IPTABLES -t filter -A OUTPUT -o eth1 -p icmp --icmp-type 12 --src
123.45.67.89 --dst 0/0  -j ACCEPT

# (3) Dest_Unreachable, Service_Unavailable
#     Исходящие данные, передаваемые при
#     определении размера; сообщения о том, что узел
#     или сервер недоступны; отклик traceroute

$IPTABLES -t filter -A OUTPUT -o eth1 -p icmp  --icmp-type 3 --src
123.45.67.89 --dst 0/0 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p icmp  --icmp-type
fragmentation-needed --src 123.45.67.89 --dst 0/0 -j ACCEPT

# (11) Time_Exceeded
#      Исходящие сообщения о тайм-ауте,
#      а также TTL-сообщение traceroute

$IPTABLES -t filter -A OUTPUT -o eth1 -p icmp --icmp-type 11 --src
123.45.67.89 --dst 0/0 -j ACCEPT


###################################################################################
# Разрешить входящие запросы на локальный DNS-сервер с указанного узла (порт 53)
###################################################################################

#Разрешить обращение клиентов к серверу

$IPTABLES -t filter -A INPUT -i eth1 -p udp --src 0/0 --sport
$UNPRIVPORTS --dst 123.45.67.89 --dport 53 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p udp --src 123.45.67.89
--sport 53 --dst 0/0 --dport $UNPRIVPORTS -j ACCEPT

#Разрешить общение между серверами

$IPTABLES -t filter -A INPUT -i eth1 -p udp --src 0/0 --sport 53 --dst
123.45.67.89 --dport 53 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p udp --src 123.45.67.89
--sport 53 --dst 0/0 --dport 53 -j ACCEPT

###################################################################################
# Разрешить входящие запросы на локальный DNS-сервер с указанного узла (порт 53)
###################################################################################

#Разрешить обращение клиентов к серверу

$IPTABLES -t filter -A INPUT -i eth0 -p udp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 53 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p udp --src 192.168.1.3 --sport
53 --dst 192.168.1.0/24 --dport $UNPRIVPORTS -j ACCEPT

#Разрешить общение между серверами

$IPTABLES -t filter -A INPUT -i eth0 -p udp --src 192.168.1.0/24
--sport 53 --dst 192.168.1.3 --dport 53 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p udp --src 192.168.1.3 --sport
53 --dst 192.168.1.0/24 --dport 53 -j ACCEPT

######################################################################
# Разрешить исходящие запросы к указанному удаленному DNS-серверу (порт 53,UDP)
######################################################################


# Разрешить обращения клиентов к сереверу

$IPTABLES -t filter -A OUTPUT -o eth1 -p udp --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport 53 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p udp --src 0/0 --sport 53 --dst
123.45.67.89 --dport $UNPRIVPORTS -j ACCEPT

# Разрешить обращения сервера к сереверу

$IPTABLES -t filter -A OUTPUT -o eth1 -p udp --src 123.45.67.89
--sport 53 --dst 0/0 --dport 53 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p udp --src 0/0 --sport 53 --dst
123.45.67.89 --dport 53 -j ACCEPT


######################################################################
# Разрешить исходящие запросы к указанному удаленному DNS-серверу (порт 53,UDP)
######################################################################


# Разрешить обращения клиентов к сереверу

$IPTABLES -t filter -A OUTPUT -o eth0 -p udp --src 192.168.1.3 --sport
$UNPRIVPORTS --dst 192.168.1.0/24 --dport 53 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth0 -p udp --src 192.168.1.0/24
--sport 53 --dst 192.168.1.3 --dport $UNPRIVPORTS -j ACCEPT

# Разрешить обращения сервера к сереверу

$IPTABLES -t filter -A OUTPUT -o eth0 -p udp --src 192.168.1.3 --sport
53 --dst 192.168.1.0/24 --dport 53 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth0 -p udp --src 192.168.1.0/24
--sport 53 --dst 192.168.1.3 --dport 53 -j ACCEPT


#########################################################################
# Разрешить переброску пакетов через интерфейс для получения доступа к
# удаленному SSH-серверу (порт 22,TCP)
#########################################################################

$IPTABLES -t filter -A FORWARD -o eth0 -p tcp --src 0/0 --sport
$UNPRIVPORTS --dst 0/0 --dport 22 -j ACCEPT
$IPTABLES -t filter -A FORWARD -i eth0 -p tcp ! --tcp-flags
SYN,ACK,FIN SYN --src 0/0 --sport 22 --dst 0/0 --dport $UNPRIVPORTS -j
ACCEPT


##############################################################
# Разрешить входящие запросы на локальный SSH-сервер
# с указанного узла (порт 22,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth1 -p tcp --src 0/0 --sport
$UNPRIVPORTS --dst 123.45.67.89 --dport 22 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 123.45.67.89 --sport 22 --dst 0/0 --dport $UNPRIVPORTS -j
ACCEPT


##############################################################
# Разрешить входящие запросы на локальный SSH-сервер
# с указанного узла (порт 22,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 22 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.3 --sport 22 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT


######################################################################
# Разрешить исходящие запросы к указанному удаленному SSH-серверу
# (порт 22,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport 22 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 0/0 --sport 22 --dst 123.45.67.89 --dport $UNPRIVPORTS -j
ACCEPT


######################################################################
# Разрешить исходящие запросы к указанному удаленному SSH-серверу
# (порт 22,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp --src 192.168.1.3 --sport
$UNPRIVPORTS --dst 192.168.1.0/24 --dport 22 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.0/24 --sport 22 --dst 192.168.1.3 --dport
$UNPRIVPORTS -j ACCEPT


#########################################################################
# Разрешить переброску пакетов через интерфейс для получения доступа к
# удаленному NTP-серверу (порт 123,UDP)
#########################################################################

$IPTABLES -t filter -A FORWARD -o eth0 -p udp --src 0/0 --sport 123
--dst 0/0 --dport 123 -j ACCEPT
$IPTABLES -t filter -A FORWARD -i eth0 -p udp --src 0/0 --sport 123
--dst 0/0 --dport 123 -j ACCEPT

###############################################################
# Разрешить входящие запросы на локальный NTP-сервер
# с указанного узла (порт 123,UDP)
###############################################################

$IPTABLES -t filter -A INPUT -i eth1 -p udp --src 0/0 --sport 123
--dst 123.45.67.89 --dport 123 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p udp --src 123.45.67.89
--sport 123 --dst 0/0 --dport 123 -j ACCEPT


###############################################################
# Разрешить входящие запросы на локальный NTP-сервер
# с указанного узла (порт 123,UDP)
###############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p udp --src 192.168.1.0/24
--sport 123 --dst 192.168.1.3 --dport 123 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p udp --src 192.168.1.3 --sport
123 --dst 192.168.1.0/24 --dport 123 -j ACCEPT


######################################################################
# Разрешить исходящие запросы к указанному удаленному
# NTP-серверу (порт 123,UDP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth1 -p udp --src 123.45.67.89
--sport 123 --dst 0/0 --dport 123 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p udp --src 0/0 --sport 123
--dst 123.45.67.89 --dport 123 -j ACCEPT


##############################################################
# Разрешить входящие запросы на локальный SQUID-сервер
# с указанного узла (порт 3128,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 3128 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.3 --sport 3128 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT


#########################################################################
# Разрешить переброску пакетов через интерфейс для получения доступа к
# удаленному HTTP-серверу (порт 80,TCP)
#########################################################################

$IPTABLES -t filter -A FORWARD -o eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 0/0 --dport 80 -j ACCEPT
$IPTABLES -t filter -A FORWARD -i eth0 -p tcp ! --tcp-flags
SYN,ACK,FIN SYN --src 0/0 --sport 80 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT

##############################################################
# Разрешить входящие запросы на локальный HTTP-сервер
# с указанного узла (порт 80,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth1 -p tcp --src 0/0 --sport
$UNPRIVPORTS --dst 123.45.67.89 --dport 80 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 123.45.67.89 --sport 80 --dst 0/0 --dport $UNPRIVPORTS -j
ACCEPT


##############################################################
# Разрешить входящие запросы на локальный HTTP-сервер
# с указанного узла (порт 80,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 80 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.3 --sport 80 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT


######################################################################
# Разрешить исходящие запросы к указанному удаленному HTTP-серверу
# (порт 80,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport 80 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 0/0 --sport 80 --dst 123.45.67.89 --dport $UNPRIVPORTS -j
ACCEPT

######################################################################
# Разрешить исходящие запросы к указанному удаленному HTTP-серверу
# (порт 80,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp --src 192.168.1.3 --sport
$UNPRIVPORTS --dst 192.168.1.0/24 --dport 80 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.0/24 --sport 80 --dst 192.168.1.3 --dport
$UNPRIVPORTS -j ACCEPT

##############################################################
# Разрешить входящие запросы на локальный SMTP-сервер
# с указанного узла (порт 25,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth1 -p tcp --src 0/0 --sport
$UNPRIVPORTS --dst 123.45.67.89 --dport 25 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 123.45.67.89 --sport 25 --dst 0/0 --dport $UNPRIVPORTS -j
ACCEPT


##############################################################
# Разрешить входящие запросы на локальный SMTP-сервер
# с указанного узла (порт 25,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 25 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.3 --sport 25 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT


######################################################################
# Разрешить исходящие запросы к указанному удаленному SMTP-серверу
# (порт 25,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport 25 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 0/0 --sport 25 --dst 123.45.67.89 --dport $UNPRIVPORTS -j
ACCEPT


##############################################################
# Разрешить входящие запросы на локальный FTP-сервер
# с указанного узла (порт 20,21,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth1 -p tcp --src 0/0 --sport
$UNPRIVPORTS --dst 123.45.67.89 --dport 21 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 123.45.67.89 --sport 21 --dst 0/0 --dport $UNPRIVPORTS -j
ACCEPT

#Разрешить локальному серверу сделать ответный канал для передачи
данных в нормальном режиме
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp -m state --state
RELATED,ESTABLISHED --src 123.45.67.89 --sport 20 --dst 0/0 --dport
$UNPRIVPORTS -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p tcp -m state --state
RELATED,ESTABLISHED ! --tcp-flags SYN,ACK,FIN SYN --src 0/0 --sport
$UNPRIVPORTS --dst 123.45.67.89 --dport 20 -j ACCEPT

#Разрешить удаленному клиенту создать канал для передачи данных в
пассивном режиме
$IPTABLES -t filter -A INPUT -i eth1 -p tcp -m state --state
RELATED,ESTABLISHED --src 0/0 --sport $UNPRIVPORTS --dst 123.45.67.89
--dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp -m state --state
RELATED,ESTABLISHED ! --tcp-flags SYN,ACK,FIN SYN --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport $UNPRIVPORTS -j ACCEPT

##############################################################
# Разрешить входящие запросы на локальный FTP-сервер
# с указанного узла (порт 20,21,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 21 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.3 --sport 21 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT

#Разрешить локальному серверу сделать ответный канал для передачи
данных в нормальном режиме
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp -m state --state
RELATED,ESTABLISHED --src 192.168.1.3 --sport 20 --dst 192.168.1.0/24
--dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth0 -p tcp -m state --state
RELATED,ESTABLISHED ! --tcp-flags SYN,ACK,FIN SYN --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 20 -j ACCEPT

#Разрешить удаленному клиенту создать канал для передачи данных в
пассивном режиме
$IPTABLES -t filter -A INPUT -i eth0 -p tcp -m state --state
RELATED,ESTABLISHED --src 192.168.1.0/24 --sport $UNPRIVPORTS --dst
192.168.1.3 --dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp -m state --state
RELATED,ESTABLISHED ! --tcp-flags SYN,ACK,FIN SYN --src 192.168.1.3
--sport $UNPRIVPORTS --dst 192.168.1.0/24 --dport $UNPRIVPORTS -j
ACCEPT

######################################################################
# Разрешить исходящие запросы к указанному удаленному FTP-серверу
# (порт 20,21,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport 21 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 0/0 --sport 21 --dst 123.45.67.89 --dport $UNPRIVPORTS -j
ACCEPT

#Разрешить удаленному серверу создать канал передачи данных в нормальном режиме
$IPTABLES -t filter -A INPUT -i eth1 -p tcp -m state --state
RELATED,ESTABLISHED --src 0/0 --sport 20 --dst 123.45.67.89 --dport
$UNPRIVPORTS -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp -m state --state
RELATED,ESTABLISHED ! --tcp-flags SYN,ACK,FIN SYN --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport 20 -j ACCEPT

#Разрешить локальному клиенту создать канал передачи данных в пассивном режиме
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp -m state --state
RELATED,ESTABLISHED --src 123.45.67.89 --sport $UNPRIVPORTS --dst 0/0
--dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p tcp -m state --state
RELATED,ESTABLISHED ! --tcp-flags SYN,ACK,FIN SYN --src 0/0 --sport
$UNPRIVPORTS --dst 123.45.67.89 --dport $UNPRIVPORTS -j ACCEPT


##############################################################
# Разрешить входящие запросы на локальный IMAP-сервер
# с указанного узла (порт 143,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 143 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.3 --sport 143 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT


######################################################################
# Разрешить исходящие запросы к указанному удаленному IMAP-серверу
# (порт 143,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport 143 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 0/0 --sport 143 --dst 123.45.67.89 --dport $UNPRIVPORTS -j
ACCEPT


#######################################################################
# Разрешить входящие traceroute-запросы от удаленных клиентов
# Обычно traceroute использует -S 32769:65535 -D 33434:33523
#######################################################################

$IPTABLES -t filter -A OUTPUT -o eth1 -p udp --src 123.45.67.89
--sport 32769:65535 --dst 0/0 --dport 33434:33523 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p icmp --icmp-type 11 --src 0/0
--dst 123.45.67.89 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p icmp --icmp-type 3 --src 0/0
--dst 123.45.67.89 -j ACCEPT

#########################################################################
# Разрешить переброску пакетов через интерфейс для получения доступа к
# удаленному HTTP-серверу через защтщенное соединение (порт 443,TCP)
#########################################################################

$IPTABLES -t filter -A FORWARD -o eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 0/0 --dport 443 -j ACCEPT
$IPTABLES -t filter -A FORWARD -i eth0 -p tcp ! --tcp-flags
SYN,ACK,FIN SYN --src 0/0 --sport 443 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT

##############################################################
# Разрешить входящие запросы на локальный HTTP-сервер
# с указанного узла через защищенное соединение(порт 443,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth1 -p tcp --src 0/0 --sport
$UNPRIVPORTS --dst 123.45.67.89 --dport 443 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 123.45.67.89 --sport 443 --dst 0/0 --dport $UNPRIVPORTS -j
ACCEPT


##############################################################
# Разрешить входящие запросы на локальный HTTP-сервер
# с указанного узла через защищенное соединение(порт 443,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dst 192.168.1.3 --dport 443 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.3 --sport 443 --dst 192.168.1.0/24 --dport
$UNPRIVPORTS -j ACCEPT


######################################################################
# Разрешить исходящие запросы к указанному удаленному HTTP-серверу
# через защищенное соединение (порт 443,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp --src 123.45.67.89
--sport $UNPRIVPORTS --dst 0/0 --dport 443 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 0/0 --sport 443 --dst 123.45.67.89 --dport $UNPRIVPORTS -j
ACCEPT

######################################################################
# Разрешить исходящие запросы к указанному удаленному HTTP-серверу
# через защищенное соединение (порт 443,TCP)
######################################################################

$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp --src 192.168.1.3 --sport
$UNPRIVPORTS --dst 192.168.1.0/24 --dport 443 -j ACCEPT
$IPTABLES -t filter -A INPUT -i eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --src 192.168.1.0/24 --sport 443 --dst 192.168.1.3 --dport
$UNPRIVPORTS -j ACCEPT

##############################################################
# Разрешить входящие запросы на локальный IMAP-сервер
# с указанного узла через защищенное соединение (порт 993,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth1 -p tcp --src 0/0 --sport
$UNPRIVPORTS --dport 993 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth1 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --sport 993 --dst 0/0 --dport $UNPRIVPORTS -j ACCEPT


##############################################################
# Разрешить входящие запросы на локальный IMAP-сервер
# с указанного узла через защищенное соединение (порт 993,TCP)
##############################################################

$IPTABLES -t filter -A INPUT -i eth0 -p tcp --src 192.168.1.0/24
--sport $UNPRIVPORTS --dport 993 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o eth0 -p tcp ! --tcp-flags SYN,ACK,FIN
SYN --sport 993 --dst 192.168.1.0/24 --dport $UNPRIVPORTS -j ACCEPT




On 4/17/07, Alexander Volkov <alt@vladregion.ru> wrote:
> On 2007-04-17 16:04:26 +0400, Maks Re wrote:
> MR> разумеется присутствуют.
> тогда правила сюда, а то телепатам неколи видимо...
> --
>  Regards, Alexander
>
> _______________________________________________
> Sysadmins mailing list
> Sysadmins@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sysadmins
>


-- 
С уважением,
  Макс.

  reply	other threads:[~2007-04-17 13:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-17 11:52 Maks Re
2007-04-17 11:59 ` Ivan Fedorov
2007-04-17 12:04   ` Maks Re
2007-04-17 12:07     ` Alexander Volkov
2007-04-17 13:48       ` Maks Re [this message]
2007-04-17 14:00         ` Alexey Shabalin
2007-04-17 14:25           ` Maks Re
2007-04-17 12:13     ` Andrii Dobrovol`s`kii
2007-04-17 15:02 ` Serge Polkovnikov
2007-04-17 15:11   ` Maks Re
2007-04-17 15:20     ` Serge Polkovnikov
2007-04-17 15:24       ` Maks Re
2007-04-17 15:50         ` Serge Polkovnikov
2007-04-17 16:13           ` Maks Re
2007-04-18  9:07             ` Serge Polkovnikov

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=f041fbd00704170648g6cf63750m770486263152277f@mail.gmail.com \
    --to=admaks@gmail.com \
    --cc=sysadmins@lists.altlinux.org \
    /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 sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/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 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git