echo Paketfilter wird gestartet...
# module für den paketfilter
echo module werden geladen...
modprobe ip_tables
modprobe ipt_ttl
modprobe ipt_LOG
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
# tables flushen
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
# iptables -t mangle -F
# iptables -t mangle -X
# defaultpolicies auf drop setzen
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#
#############################
# rules #
#############################
#
# localhost
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
# zugriff auf webserver zulassen
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#FTP zulassen
iptables -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
#VPN zulassen
iptables -A OUTPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
# zugriff auf DHCP-Server zulassen
iptables -A OUTPUT -o eth2 -p tcp --dport 67:70 -j ACCEPT
iptables -A INPUT -i eth2 -p tcp --dport 67:70 -j ACCEPT
# samba zulassen und loggen
iptables -A INPUT -i eth2 -p tcp --dport 137:139 -j ACCEPT
iptables -A INPUT -i eth2 -p tcp --dport 137:139 -j LOG --log-prefix "SAMBA vom lan"
# ssh zulassen und loggen
iptables -A INPUT -i eth2 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth2 -p tcp --dport 22 -j LOG --log-prefix "SSH vom lan"
#iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -i ppp0 -p tcp --dport 22 -j LOG --log-prefix "SSH vom internet"
#iptables -A OUTPUT -o ppp0 -p tcp --dport 22 -j ACCEPT
#iptables -A OUTPUT -o ppp0 -p tcp --dport 22 -j LOG --log-prefix "SSH vom router"
# ssh2 zulassen und loggen
iptables -A INPUT -i eth2 -p tcp --dport 24 -j ACCEPT
iptables -A INPUT -i eth2 -p tcp --dport 24 -j LOG --log-prefix "SSH2 vom lan"
#iptables -A INPUT -i ppp0 -p tcp --dport 24 -j ACCEPT
#iptables -A INPUT -i ppp0 -p tcp --dport 24 -j LOG --log-prefix "SSH2 vom internet"
#iptables -A OUTPUT -o ppp0 -p tcp --dport 24 -j ACCEPT
#iptables -A OUTPUT -o ppp0 -p tcp --dport 24 -j LOG --log-prefix "SSH2 vom router"
# REALPLAYER
iptables -A OUTPUT -o ppp0 -p tcp --dport 554 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --dport 554 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport 554 -j ACCEPT
iptables -A INPUT -i ppp0 -p udp --dport 554 -j ACCEPT
iptables -A FORWARD -p tcp --dport 554 -j ACCEPT
iptables -A FORWARD -p udp --dport 554 -j ACCEPT
# pakete die von internet kommen aber vorgeben vom lan zu seien verwerfen
iptables -A INPUT -i ppp0 -s 192.168.33.0/24 -j DROP
# pakete mit status INVALID verwerfen
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
#
# einige ports auf anfragen von außen schließen
#
# gjamer blocken und loggen
iptables -A INPUT -p tcp --dport 12076 -j DROP
iptables -A INPUT -p tcp --dport 12076 -j LOG --log-prefix "gjamer vom internet"
# hack 99 keylogger blocken und loggen
iptables -A INPUT -p tcp --dport 12223 -j DROP
iptables -A INPUT -p tcp --dport 12223 -j LOG --log-prefix "keylogger vom internet"
# girlfriend blocken und loggen
iptables -A INPUT -p tcp --dport 21544 -j DROP
iptables -A INPUT -p tcp --dport 21544 -j LOG --log-prefix "girlfriend vom internet"
# prosiak blocken und loggen
iptables -A INPUT -p tcp --dport 22222 -j DROP
iptables -A INPUT -p tcp --dport 22222 -j LOG --log-prefix "prosiak vom internet"
# masters paradise blocken und loggen
iptables -A INPUT -p tcp --dport 40426 -j DROP
iptables -A INPUT -p tcp --dport 40426 -j LOG --log-prefix "masters paradise vom inet"
# delta source blocken und loggen
iptables -A INPUT -p udp --dport 47262 -j DROP
iptables -A INPUT -p udp --dport 47262 -j LOG --log-prefix "delta source vom internet"
# sockets de troie blocken und loggen
iptables -A INPUT -p tcp --dport 50505 -j DROP
iptables -A INPUT -p tcp --dport 50505 -j LOG --log-prefix "sockets de troie vom inet"
# school bus blocken und loggen
iptables -A INPUT -p tcp --dport 54321 -j DROP
iptables -A INPUT -p tcp --dport 54321 -j LOG --log-prefix "schoolbus vom internet"
# subseven blocken und loggen
iptables -A INPUT -p tcp --dport 6711:6713 -j DROP
iptables -A INPUT -p tcp --dport 6711:6713 -j LOG --log-prefix "subseven vom internet"
# netbus blocken und loggen
iptables -A INPUT -p tcp --dport 12345:12346 -j DROP
iptables -A INPUT -p tcp --dport 12345:12346 -j LOG --log-prefix "netbus vom internet"
iptables -A INPUT -p tcp --dport 20034 -j DROP
iptables -A INPUT -p tcp --dport 20034 -j LOG --log-prefix "netbus vom internet"
# trojaner subseven blocken und loggen
iptables -A INPUT -p tcp --dport 1243 -j DROP
iptables -A INPUT -p tcp --dport 1243 -j LOG --log-prefix "TrojanerSubseven vom internet"
# back orifice blocken un loggen
iptables -A INPUT -p tcp --dport 31337 -j DROP
iptables -A INPUT -p tcp --dport 31337 -j LOG --log-prefix "back orifice vom internet"
# finger blocken und loggen
iptables -A INPUT -p tcp --dport 79 -j DROP
iptables -A INPUT -p tcp --dport 79 -j LOG --log-prefix "finger vom internet"
# telnet blocken und loggen
iptables -A INPUT -p tcp --dport 23 -j DROP
iptables -A INPUT -p tcp --dport 23 -j LOG --log-prefix "telnet vom internet"
# traceroute blocken und loggen
iptables -A INPUT -p tcp --dport 30 -j DROP
iptables -A INPUT -p tcp --dport 30 -j LOG --log-prefix "traceroute vom internet"
# deepthroat blocken und loggen
iptables -A INPUT -p tcp --dport 6670 -j DROP
iptables -A INPUT -p tcp --dport 6670 -j LOG --log-prefix "deepthroat vom internet"
# finger blocken und loggen
iptables -A INPUT -p tcp --dport 79 -j DROP
iptables -A INPUT -p tcp --dport 79 -j LOG --log-prefix "finger vom internet"
#
# trojaner die vom lan versuchen daten zusenden blocken und loggen
#
# gjamer blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 12076 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 12076 -j LOG --log-prefix "gjamer"
# hack 99 keylogger blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 12223 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 12223 -j LOG --log-prefix "hack 99 keylogger"
# girlfriend blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 21544 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 21544 -j LOG --log-prefix "girlfriend"
# prosiak blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 22222 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 22222 -j LOG --log-prefix "prosiak"
# masters paradise blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 40426 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 40426 -j LOG --log-prefix "masters paradise"
# delta source blocken und loggen
iptables -A FORWARD -i eth2 -p udp --dport 47262 -j DROP
iptables -A FORWARD -i eth2 -p udp --dport 47262 -j LOG --log-prefix "delta source"
# sockets de troie blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 50505 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 50505 -j LOG --log-prefix "sockets de troie"
# school bus blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 54321 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 54321 -j LOG --log-prefix "schoolbus"
# subseven blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 6711:6713 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 6711:6713 -j LOG --log-prefix "subseven"
# netbus blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 12345:12346 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 12345:12346 -j LOG --log-prefix "netbus"
iptables -A FORWARD -i eth2 -p tcp --dport 20034 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 20034 -j LOG --log-prefix "netbus 2 pro"
# trojaner subseven blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 1243 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 1243 -j LOG --log-prefix "TrojanerSubseven"
# back orifice blocken un loggen
iptables -A FORWARD -i eth2 -p tcp --dport 31337 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 31337 -j LOG --log-prefix "back orifice"
# finger blocken und loggen
iptables -A FORWARD -i eth2 -p tcp --dport 79 -j DROP
iptables -A FORWARD -i eth2 -p tcp --dport 79 -j LOG --log-prefix "finger"
# zugriff auf router vom netz zulassen
iptables -A OUTPUT -o eth2 -s 192.168.33.0/24 -j ACCEPT
iptables -A INPUT -i eth2 -s 192.168.33.0/24 -j ACCEPT
# verkehr von innen nach außen zulassen -> connection-tracking
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#
#############################
# portforwarding #
#############################
#
# portforwarding + nat für emule
#iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 4662 -j DNAT --to-destination 192.168.0.2
#iptables -t nat -A POSTROUTING -o eth2 -p tcp --dport 4662 -j SNAT --to-source 192.168.0.0
#iptables -A FORWARD -i ppp0 -m state --state NEW -p tcp -d 192.168.0.2 --dport 4662 -j ACCEPT
#iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 4672 -j DNAT --to-destination 192.168.0.2
#iptables -t nat -A POSTROUTING -o eth2 -p udp --dport 4672 -j SNAT --to-source 192.168.0.0
#iptables -A FORWARD -i ppp0 -m state --state NEW -p udp -d 192.168.0.2 --dport 4672 -j ACCEPT
#
#############################
# routing #
#############################
#routing mit dynamischer IP Adresse
#
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
# masquerading aktivieren
#iptables -t nat -A POSTROUTING -p tcp --dport 25 -o ppp0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -p tcp --dport 110 -o ppp0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -p tcp --dport 20:21 -o ppp0 -j MASQUERADE
# routing aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward
#
#############################
# schutz gegen DoS-Attacken #
#############################
#
# TCP-FIN-timeout setzen
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
# 5 antworten auf TCP-SYN
echo 5 > /proc/sys/net/ipv4/tcp_retries1
# TCP-pakete max. 15 mal wiederholen
echo 15 > /proc/sys/net/ipv4/tcp_retries2
# syn-cookies
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
# bootp
# echo
# antworten auf ungültige fehlermeldungen unterbinden
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
# antworten auf broadcasts unterbinden
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# sourcegerouteten pakete ablehnen * evetl. durch ppp0 ersetzen
#echo 0 > /proc/sys/net/ipv4/conf/*/accept_source_route
# reverse-path-filtering aktivieren * evetl. durch ppp0 ersetzen
#echo 1 > /proc/sys/net/ipv4/conf/*/rp_filter
# speicherallozierung - und timing für IP-De/-Fragmentierung
echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
echo 30 > /proc/sys/net/ipv4/ipfrag_time
echo fertig!
Lesezeichen