[Comm] iptables

Кудрявцев Сергей =?iso-8859-1?q?KudryavtsevSV_=CE=C1_rambler=2Eru?=
Вт Мар 10 14:04:46 MSK 2009


Как реализовать данный скрипт?

# grep -v \# sec

echo -e "Установка общих переменных окружения"
IPT="/sbin/iptables"
IFC="/sbin/ifconfig"
G="/bin/grep"
SED="/bin/sed"
AWK="/usr/bin/awk"
ECHO="/bin/echo -e"

$ECHO "Установка переменных окружения Loop device/localhost"
LPDIF="lo"
LPDIP="127.0.0.1"
LPDBC="255.255.255.255"
LPDMSK="255.0.0.0"
LPDNET="$LPDIP/$LPDMSK"

$ECHO "Установка переменных окружения внешнего интерфейса"
EXTIF="eth0"
EXTIP="`$IFC $EXTIF | $AWK 
/$EXTIF/'{next}//{split($0,a,":");split(a[2],a," ");print a[1];exit}'`"
EXTBC="255.255.255.255"
EXTMSK="`$IFC $EXTIF | $AWK 
/$EXTIF/'{next}//{split($0,a,":");split(a[4],a," ");print a[1];exit}'`"
EXTNET="$EXTIP/$EXTMSK"

$ECHO "Сброс всех существующих и очистка персональных цепочек."
CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null`
for i in $CHAINS
do
$IPT -t $i -F
done
for i in $CHAINS
do
$IPT -t $i -X
done

$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

$ECHO "Запрещаем все входящиеи сквозные соединения, разрешаем все 
исходящие соединения"
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP

$IPT --append INPUT --match state --state related,established --jump ACCEPT
$IPT --append INPUT -i $EXTIF --protocol icmp --icmp-type echo-request 
--match limit --limit 1/s --jump ACCEPT
$IPT --append INPUT -i $EXTIF --match tcp --protocol tcp --syn -m limit 
--limit 1/s --jump ACCEPT
$IPT --append INPUT -i $EXTIF --match tcp --protocol tcp --tcp-flags 
SYN,ACK,FIN,RST RST -m limit --limit 1/s --jump ACCEPT
$IPT --append INPUT -i $EXTIF --match tcp  --protocol tcp --syn --dport 
3030:3033 -m iplimit --iplimit-above 3 --jump REJECT
$IPT --append INPUT -i $EXTIF --match tcp --protocol tcp --match 
multiport --dports 21,22,80,3030:3033 --sport 1024:65535 --match limit 
--limit 10/s --jump ACCEPT
$IPT --append INPUT -i $EXTIF --match tcp --protocol tcp --match time 
--timestart 00:00 --timestop 08:00 --days Mon --dport 21 --jump REJECT
$IPT --append INPUT --match psd --jump DROP
$IPT --append INPUT -i $EXTIF --protocol tcp --match tcp --match 
multiport --dports 135,139,1025 --jump TARPIT

$ECHO "Выключение поддержки проброса пакетов в ядре"
echo 0 > /proc/sys/net/ipv4/ip_forward

Почему-то в ALS4.0+Branch5.0 нифига не видит половину?

# ./sec
Установка общих переменных окружения
Установка переменных окружения Loop device/localhost
Установка переменных окружения внешнего интерфейса
Полученные значения переменных окружения
LPDIP=127.0.0.1 LPDBC=255.255.255.255 LPDMSK=255.0.0.0 
LPDNET=127.0.0.1/255.0.0.0
EXTIP=x EXTBC=255.255.255.255 EXTMSK=255.255.255.252 
EXTNET=x/255.255.255.252
INTIP= INTBC= INTMSK= INTNET=
Сброс всех существующих и очистка персональных цепочек.
Запрещаем все входящиеи сквозные соединения, разрешаем все исходящие 
соединения
iptables v1.4.0: Couldn't load match 
`iplimit':/lib64/iptables/libipt_iplimit.so: cannot open shared object 
file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.0: Unknown arg `--days'
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.0: Couldn't load match 
`psd':/lib64/iptables/libipt_psd.so: cannot open shared object file: No 
such file or directory

Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.0: Couldn't load target 
`TARPIT':/lib64/iptables/libipt_TARPIT.so: cannot open shared object 
file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
Выключение поддержки проброса пакетов в ядре

----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/community/attachments/20090310/f9c093bf/attachment.html>


Подробная информация о списке рассылки community