Ahoi ihr Landratten!
Ich zeige euch heute in simpler form wie ihr euern Server mit der Linux Kernel Firewall ein wenig absichert.
Als erstes löschen wir erstmal alle Regeln!
Dafür habe ich ein kleines Script angelegt:
#!/bin/sh echo "Stopping firewall and allowing everyone..." iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT
So jetzt fügen wir Regeln hinzu(Natürlich müsst ihr hier eure Ports eintragen die ihr geöffnet haben wollt, hier werde ich http, https und ssh öffnen)
Dazu wieder ein kleines Script:
#!/bin/sh #Drop all Input Connections iptables -P INPUT DROP iptables -P FORWARD DROP #Allow Local Traffic iptables -v -A INPUT -i lo -j ACCEPT; #Allow All Incoming SSH iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT #Allow Incomming HTTP iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT #Allow Incomming HTTPS iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT #Allow Incomming ICMP (Ping from Outside -> Inside) iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT #Allow DNS iptables -I INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT ip6tables -I INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT ################## # IPv6 # ################## #Drop all Incomming Connections ip6tables -P INPUT DROP ip6tables -P FORWARD DROP #Allow All Outgoing Connections ip6tables -P OUTPUT ACCEPT #Allow All Incoming SSH ip6tables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT #Allow Incomming HTTP ip6tables -A INPUT -i etho -p tcp -m tcp --dport 80 -j ACCEPT #Allow Incomming HTTPS ip6tables -A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT #Allow Incomming ICMP ip6tables -A INPUT -p ipv6-icmp -j ACCEPT ip6tables -A OUTPUT -p ipv6-icmp -j ACCEPT
Ich habe noch ICMP(Ping) Lokalen Traffic und DNS erlaub.
jetzt ganz wichtig! Ausloggen und wieder einloggen umzu gucken ob ihr nicht ein Fehler gemacht habt. Bis jetzt sind die Regeln noch nicht fest und werden nach jedem Neustart gelöscht. (Wir wollen ja nicht das sich hier jemand aussperrt!)
Jetzt installieren wir iptables-persistant, das Tool lädt die Regeln dann auch bei jedem Systemstart.
sudo apt-get install iptables-persistent
jetzt fügen wir die Regeln noch Persisten hinzu und dann sind wir auch fertig.
iptables-save > /etc/iptables/rules.v4 ip6tables-save > /etc/iptables/rules.v6
Bearbeitet von Mr_NiceGuy, 19 January 2016 - 10:38 Uhr.