#!/bin/bash # echo -n "Ustawieniea /proc: " # ustawienia na proc if [ -e /proc/sys/ipv4/tcp_ecn ]; then echo 0 > /proc/sys/net/ipv4/tcp_ecn fi echo 1 > /proc/sys/net/ipv4/ip_forward for x in lo eth0 eth1 do echo 1 > /proc/sys/net/ipv4/conf/${x}/rp_filter done #echo 1 >/proc/sys/net/ipv4/tcp_syncookies echo 1 >/proc/sys/net/ipv4/tcp_abort_on_overflow echo 128 >/proc/sys/net/ipv4/ip_default_ttl echo 1 > /proc/sys/net/ipv4/conf/all/log_martians echo "OK" # konfiguracja skryptu IP=xxx IP1=yyy IP2=zzz IP3=www IP4=uuu IPT=./iptables cd /sbin echo -n "Domyslne plityki: " $IPT -F $IPT -F -t nat # domyslne polityki $IPT -P INPUT DROP $IPT -P FORWARD ACCEPT $IPT -P OUTPUT ACCEPT echo "OK" echo -n "Dodatkowe inrfejsy: " # interfejsy sieciowe pozostale /sbin/ifconfig eth0:1 $IP1 up /sbin/ifconfig eth0:2 $IP2 up /sbin/ifconfig eth0:3 $IP3 up /sbin/ifconfig eth0:4 $IP4 up $IPT -A INPUT -d $IP1 -j DROP $IPT -A INPUT -d $IP2 -j DROP $IPT -A INPUT -d $IP3 -j DROP $IPT -A INPUT -d $IP4 -j DROP $IPT -A OUTPUT -o eth0 -s $IP1 -j DROP $IPT -A OUTPUT -o eth0 -s $IP2 -j DROP $IPT -A OUTPUT -o eth0 -s $IP3 -j DROP $IPT -A OUTPUT -o eth0 -s $IP4 -j DROP echo "OK" echo -n "Loopback: " # loopback $IPT -A INPUT -i lo -s 127.0.0.1 -j ACCEPT $IPT -A INPUT -i ! lo -s 127.0.0.1 -j DROP echo "OK" echo -n "LAN: " $IPT -A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT echo "OK" echo -n "Zabezpieczenia: " #$IPT -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:" $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP echo "OK" echo -n "Zabezpieczenia smb: " $IPT -A INPUT -m tcp -i eth0 -p tcp --sport 137:139 -j DROP $IPT -A INPUT -m udp -i eth0 -p udp --sport 137:139 -j DROP $IPT -A INPUT -m tcp -i eth0 -p tcp --sport 445 -j DROP $IPT -A INPUT -m udp -i eth0 -p udp --sport 445 -j DROP $IPT -A OUTPUT -m tcp -p tcp -o eth0 --dport 137:139 -j DROP $IPT -A OUTPUT -m udp -p udp -o eth0 --dport 137:139 -j DROP $IPT -A OUTPUT -m tcp -p tcp -o eth0 --dport 445 -j DROP $IPT -A OUTPUT -m udp -p udp -o eth0 --dport 445 -j DROP echo "OK" echo -n "DNS servers: " # dnsy z tpsa $IPT -A INPUT -i eth0 -m tcp -p tcp -s 194.204.159.1 -j ACCEPT $IPT -A INPUT -i eth0 -m tcp -p tcp -s 194.204.152.34 -j ACCEPT $IPT -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -s 0.0.0.0 -d 83.17.7.50 --dport 53 -j ACCEPT $IPT -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p udp -s 0.0.0.0 -d 83.17.7.50 --dport 53 -j ACCEPT echo "OK" # przepuszczanie polaczen juz ustalonych $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT echo -n "Accept for incoming connection for services: " # przepuszczanie www $IPT -A INPUT -m tcp -p tcp --dport http -j LOG --log-prefix "WWW:" $IPT -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp -d $IP --dport http -j ACCEPT $IPT -A INPUT -m tcp -p tcp -s QQQ -d $IP --syn --dport 32 -j LOG --log-prefix "SSH Legal:" $IPT -A INPUT -m tcp -p tcp -s QQQ -d $IP --dport 32 -j ACCEPT $IPT -A INPUT -m tcp -p tcp -d $IP --dport 32 --syn -j LOG --log-prefix "SSH ILLEGAL:" $IPT -A INPUT -m tcp -p tcp -d $IP --dport 32 -j DROP $IPT -A INPUT -m tcp -p tcp -d $IP --dport 53 -j ACCEPT $IPT -A INPUT -m udp -p udp -d $IP --dport 53 -j ACCEPT $IPT -A INPUT -m tcp -p tcp -d $IP --dport 14534 -j ACCEPT -i eth0 $IPT -A INPUT -m tcp -p tcp -d $IP --dport 51234 -j ACCEPT -i eth0 $IPT -A INPUT -m tcp -p tcp -d $IP --dport 8767 -j ACCEPT -i eth0 $IPT -A INPUT -m udp -p udp -d $IP --dport 8767 -j ACCEPT -i eth0 echo "OK" echo -n "Local internet: " $IPT -A FORWARD -s 192.168.0.0/24 -j ACCEPT #$IPT -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 83.17.7.50 $IPT -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 83.17.7.50 echo "OK" echo -n "Opcje logowania: " $IPT -A INPUT -m udp -p udp --dport 53 -j LOG --log-prefix "DNS:" $IPT -A INPUT -m tcp -p tcp --dport 53 -j LOG --log-prefix "DNS:" $IPT -A INPUT -m tcp -p tcp --syn -j LOG --log-prefix "SYN:" $IPT -A INPUT -m udp -p udp -j LOG --log-prefix "UDP:" echo "OK" # accepting only icmp reply $IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT #$IPT -A INPUT -p icmp -j ACCEPT # blokowanie wszystkiego z syn #$IPT -A INPUT -m tcp -p tcp -i eth0 -s 0/0 --syn -j DROP #$IPT -A INPUT -m tcp -p tcp --syn -j LOG --log-prefix "DENIED:"