rendered paste bodyroot@darkstar:~# cat /etc/rc.d/rc.firewall
#!/bin/sh
#ZADAVANE NA KONSTANTITE
li="eth1" #lan interfeis
la="192.168.0.1" #lan adres
ii="eth0" #internet interfeis
ia="192.168.1.2" #internet adres
lo="lo" #loopback
ca="10.0.0.0/8" #mreja A-klas
cb="172.16.0.0/12" #mreja B-klas
cc="192.168.0.0/16" #mreja C-klas
cd="224.0.0.0/4" #mreja D-klas
ce="240.0.0.0/5" #rezervna mreja
I="/usr/sbin/iptables" #iptables :)
zp="1024:65535" #zabraneni portove
ftp="213.145.119.30" #ftp ip
#SETVANE NA POLITIKATA
$I -P INPUT DROP
$I -P OUTPUT ACCEPT
$I -P FORWARD DROP
# FTP
$I -A INPUT -i $ii -p TCP -m state --state ESTABLISHED,RELATED --sport 21 --dport $zp -s 0/0 -d $ia -j ACCEPT
$I -A OUTPUT -o $ii -p TCP -m state --state NEW,ESTABLISHED --sport $zp --dport 21 -s $ia -d 0/0 -j ACCEPT
$I -A INPUT -i $ii -p TCP -m state --state NEW --sport 20 --dport $zp -s 0/0 -d $ia -j ACCEPT
$I -A OUTPUT -o $ii -p TCP -m state --state ESTABLISHED,RELATED --sport $zp --dport 20 -s $ia -d 0/0 -j ACCEPT
$I -A INPUT -i $ii -p TCP -m state --state ESTABLISHED,RELATED --sport $zp --dport $zp -s 0/0 -d $ia -j ACCEPT
$I -A OUTPUT -o $ii -p TCP -m state --state NEW,ESTABLISHED --sport $zp --dport $zp -s $ia -d 0/0 -j ACCEPT
#AKO IMA MASKIRANE
$I -A FORWARD -p TCP -s $cc --sport $zp --dport 20:21 -j ACCEPT
$I -A FORWARD -p TCP -d $cc --sport 20:21 --dport $zp -j ACCEPT
$I -A FORWARD -p TCP -s $cc --sport $zp --dport $zp -j ACCEPT
$I -A FORWARD -p TCP -d $cc --sport $zp --dport $zp -j ACCEPT
# HTTP
$I -A OUTPUT -o $ii -p TCP --sport $zp --dport 80 -s $ia -d 0/0 -j ACCEPT
$I -A INPUT -i $ii -p TCP -m state --state ESTABLISHED,RELATED --sport 80 --dport $zp -s 0/0 -d $ia -j ACCEPT
#AKO IMA MASKIRANE
$I -A FORWARD -p TCP -s $cc --sport $zp --dport 80 -j ACCEPT
$I -A FORWARD -p TCP -d $cc --sport 80 --dport $zp -j ACCEPT
# HTTPS
$I -A OUTPUT -o $ii -p TCP --sport $zp --dport 443 -s $ia -d 0/0 -j ACCEPT
$I -A INPUT -i $ii -p TCP -m state --state ESTABLISHED,RELATED --sport 443 --dport $zp -s 0/0 -d $ia -j ACCEPT
#AKO IMA MASKIRANE
$I -A FORWARD -p TCP -s $cc --sport $zp --dport 443 -j ACCEPT
$I -A FORWARD -m state --state ESTABLISHED,RELATED -p TCP -d $cc --sport 443 --dport $zp -j ACCEPT
# TRACEROUTE
$I -A OUTPUT -o $ii -p UDP --sport 32769:65535 --dport 33434:33523 -s $ia -d 0/0 -j ACCEPT
#AKO IMA MASKIRANE
$I -A FORWARD -p UDP -s $cc --sport 32769:65535 --dport 33434:33523 -j ACCEPT
$I -A FORWARD -p UDP -d $cc --sport 33434:33523 --dport 32769:65535 -j ACCEPT
# ICQ
$I -A INPUT -p tcp -s 0/0 --destination-port 5000:5100 -j ACCEPT
$I -A OUTPUT -o $ii -p UDP --sport $zp --dport 4000 -s $ia -d 0/0 -j ACCEPT
$I -A INPUT -i $ii -p UDP --sport 4000 --dport $zp -s 0/0 -d $ia -j ACCEPT
#AKO IMA MASKIRANE
$I -A FORWARD -p UDP -s $cc --sport $zp --dport 4000 -j ACCEPT
$I -A FORWARD -p UDP -d $cc --sport 4000 --dport $zp -j ACCEPT
# PRAVILATA
$I -A INPUT -i $lo -j ACCEPT
$I -A OUTPUT -o $lo -j ACCEPT
$I -t nat -A POSTROUTING -s $cc -o $ii -j SNAT --to $ia
$I -A INPUT -i $li -s $cc -j ACCEPT
$I -A OUTPUT -o $li -d $cc -j ACCEPT
# SPOOFED PACKETS
$I -A INPUT -i $ii -s $ia -j DROP
$I -A INPUT -i $ii -s $ca -j DROP
$I -A INPUT -i $ii -d $ca -j DROP
$I -A OUTPUT -o $ii -s $ca -j DROP
$I -A OUTPUT -o $ii -s $ca -j DROP
$I -A INPUT -i $ii -s 127.0.0.0/8 -j DROP
$I -A OUTPUT -o $ii -s 127.0.0.0/8 -j DROP
$I -A INPUT -i $ii -s 255.255.255.255 -j DROP
$I -A INPUT -i $ii -d 0.0.0.0 -j DROP
$I -A OUTPUT -o $ii -s 255.255.255.255 -j DROP
$I -A OUTPUT -o $ii -d 0.0.0.0 -j DROP
$I -A INPUT -i $ii -s $cd -j DROP
$I -A OUTPUT -o $ii -s $cd -j DROP
$I -A INPUT -i $ii -s $ce -j DROP
$I -A OUTPUT -o $ii -d $ce -j DROP
$I -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
$I -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
$I -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
$I -A FORWARD -i $ii -m state ! --state NEW -j DROP
# PPTP
#$I -A OUTPUT -o $EXTERNAL_INTERFACE -p TCP --sport $UNPRIVPORTS --dport 1723 -s $EXTERNAL_IP -d $ANYWHERE -j ACCEPT
#$I -A INPUT -i $EXTERNAL_INTERFACE -p TCP --sport 1723 --dport $zp -s 0/0 -d $ia -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -i $EXTERNAL_INTERFACE -p 47 -j ACCEPT
#iptables -A OUTPUT -o $EXTERNAL_INTERFACE -p 47 -j ACCEPT
#AKO IMA MASKIRANE
#iptables -A INPUT -i $INTERNAL_INTERFACE -p 47 -j ACCEPT
#iptables -A OUTPUT -o $INTERNAL_INTERFACE -p 47 -j ACCEPT\
#iptables -A FORWARD -p TCP -s $INTERNAL_NETWORK --sport $UNPRIVPORTS --dport 1723 -j ACCEPT
#iptables -A FORWARD -p TCP -d $INTERNAL_NETWORK -m state --state ESTABLISHED,RELATED --sport 1723 --dport $UNPRIVPORTS -j ACCEPT
#iptables -A FORWARD -p 47 -s $INTERNAL_NETWORK -j ACCEPT
#iptables -A FORWARD -p 47 -d $INTERNAL_NETWORK -j ACCEPT