ich wollte euch mein erstes Firewall Script vorstellen, was glaube ich alles beinhaltet, was ich brauche. =)
Entdeckt ihr Fehler oder Sachen die dort nicht drin stehen sollten? Ein paar Tipps wären nicht schlecht. ^^ Auf dem Root läuft bis jetzt nur ein TS3 Server.
Code: Alles auswählen
#!/bin/bash
echo "Initializing Firewall ..."
# Load modules
modprobe ip_conntrack_ftp
# Clear all other rules
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Creation of my own chains
iptables -N MYDROP
iptables -N MYACCEPT
# Loopback communication
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT
# Statefull Inspection
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j MYDROP
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Configuring our own chains
iptables -A MYDROP -j LOG --log-prefix "FW-DROP: "
iptables -A MYDROP -j DROP
iptables -A MYACCEPT -j LOG --log-prefix "FW-ACCEPT: "
iptables -A MYACCEPT -j DROP
# SSH
iptables -A INPUT -p tcp --dport 22 -j MYACCEPT
#iptables -A OUTPUT -p tcp --dport 22 -j MYACCEPT
# ICMP Ping
iptables -A INPUT -p icmp -j MYACCEPT
iptables -A OUTPUT -p icmp -j MYACCEPT
# DNS
iptables -A INPUT -p udp --dport 53 -j MYACCEPT
iptables -A INPUT -p tcp --dport 53 -j MYACCEPT
iptables -A OUTPUT -p udp --dport 53 -j MYACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j MYACCEPT
# WWW
#iptables -A INPUT -p tcp --dport 80 -j MYACCEPT
#iptables -A OUTPUT -p tcp --dport 80 -j MYACCEPT
#iptables -A INPUT -p tcp --dport 443 -j MYACCEPT
#iptables -A OUTPUT -p tcp --dport 443 -j MYACCEPT
# Mail
#iptables -A INPUT -p tcp --dport 25 -j MYACCEPT
#iptables -A OUTPUT -p tcp --dport 25 -j MYACCEPT
#iptables -A INPUT -p tcp --dport 110 -j MYACCEPT
#iptables -A INPUT -p tcp --dport 143 -j MYACCEPT
# FTP
iptables -A INPUT -p tcp --dport 21 -j MYACCEPT
iptables -A OUTPUT -p tcp --dport 21 -j MYACCEPT
# DHCP
iptacles -A INPUT -p udp --dport 67 -j MYACCEPT
#Teamspeak 3 Server
iptables -A INPUT -p udp --dport 9987 -j MYACCEPT
iptables -A INPUT -p tcp --dport 30033 -j MYACCEPT
iptables -A INPUT -p tcp --dport 10011 -j MYACCEPT
iptables -A OUTPUT -p udp --dport 2010 -j MYACCEPT
iptables -A INPUT -p tcp --dport 41144 -j MYACCEPT
iptables -A OUTPUT -p tcp --dport 2008 -j MYACCEPT
echo "Firewall is configured and active!"
iptables -A INPUT -j LOG --log-prefix "FW-LAST-DROP:"