[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