ACHTUNG !!! Bitte auf jedenfall eine Firewall nutzen !!!

Sonst sind die Hacker im nullkommanix auf Ihrer Maschine ! Und sie bekommen am Ende des Monats eine 5 stellige Rechnung von Ihrem Provider wegen überzogenem Traffic !

Auch bitte regelmäßig nach System Updates sehen. Gefährdet sind besonders "offene" Services wie der Nameserver (Bind), Webserver (Apache), FTPServer (vsftpd) und der Mailserver (Postfix).

Wenn Sie die Wahl haben und Ihre Distribution bietet diese Dienste optional in der Chroot Umgebung an, dann nehmen Sie dies an ! In der Chroot Umgebung wird der Dienst "nur" als User gestartet. Wenn dieser Dienst nun doch mal gehacked wird, ist der Angreifer "nur" als User im System und hat keine root Rechte, außerdem ist er in einer Chroot Umgebung gefangen. Mit anderen Worten er kann so gut wie nichts anrichten. Und aus dieser sogenannten Jail Umgebung auszubrechen ist wieder eine weitere Hürde !

Wenn Sie hinter einem Router sitzen (Dedizierter Server oder eigener Heimrouter ohne DHCP) müssen Sie die Route eingeben (das Default Gateway) und den DNS einstellen:

route add default gw 192.168.x.x
echo "nameserver 138.232.1.4" >> /etc/resolv.conf

Firewall & Expoit Test Links

Firewall testen mit Shields Up
Browser Exploits testen
Browser Exploits testen 2

Weiterführender Link zum Thema Firewall & IPTables

Offene Ports für einen Webserver

TCP="21 22 25 53 80 110 587 443 995"
UDP="53 123"

Dies sind die Einstellungen für die Protokkolle HTTP (Tcp 80) Pop (Tcp 110), email message submission (TCP 587) und SPop (Tcp 995) bei Imap (Tcp 143), SMTP (Tcp 25), FTP (TCP 21), Nameserver (Tcp/Udp 53), bitte diese ändern ...

Optional noch (TCP 22) für SSH, (UDP 123) für NTP (Timeserver) und (TCP 443) für HTTPS freigeben.

Wenn Sie diverse Dienste nicht in gebrauch haben, geben Sie diese natürlich auch nicht frei !!!

Diverse nützliche Bash Scripte, diesen können, bei Wunsch, beim Start von Linux in aus der /etc/rc.local aufgerufen werden.

Wer eine etwas umfangreichere Firewall haben möchte scrollt ans Ende dieser Seite zur Rubrik "Anständige Firewall mit Routerfunktionen, Portforwarding, DMZ etc.".

Masqurading & Forwarding IPTables (Routerfunktion, Internetverbindungssharing) :

#!/bin/bash
# --------------- Router ---------------------
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Jetzt mit dem Router die Internetverbindung herstellen und bei den clienten als Gateway und Nameserver die IP des Routers angeben ...

Optionale Filterregeln IPTables für z.B. eMule/aMule :

#!/bin/bash
# ---------- emule, amule, edonkey ----------------
iptables -A INPUT -p tcp --dport 4662 -j ACCEPT
iptables -A INPUT -p udp --dport 4672,4675 -j ACCEPT


Optionale Filterregeln IPTables für Samba (Achtung nur Intern verwenden):

#!/bin/bash
# Globale Variabeln definieren
# ----------------------------
IPTABLES=/usr/sbin/iptables

# Spezielle Ports
# ----------------------------
p_high=1024:65535

# Interfaces
# ----------------------------
INTIF=eth1

# IP Adressen
# ----------------------------
INTIP=192.168.1.1
INTERN=192.168.1.0/255.255.255.0


$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT

#   von INTRANET smb nmb msdns erlauben
$IPTABLES -A OUTPUT -p udp --sport $p_high --dport 137 -d $INTERN -s $INTIP -o $INTIF -j ACCEPT
$IPTABLES -A INPUT -p udp --sport 137 --dport $p_high -s $INTERN -d $INTIP -i $INTIF -j ACCEPT

$IPTABLES -A OUTPUT -p udp --sport 137 --dport 137 -d $INTERN -s $INTIP -o $INTIF -j ACCEPT
$IPTABLES -A INPUT -p udp --sport 137 --dport 137 -s $INTERN -d $INTIP -i $INTIF -j ACCEPT

$IPTABLES -A OUTPUT -p udp --sport 138 --dport 138 -d $INTERN -s $INTIP -o $INTIF -j ACCEPT
$IPTABLES -A INPUT -p udp --sport 138 --dport 138 -s $INTERN -d $INTIP -i $INTIF -j ACCEPT

$IPTABLES -A OUTPUT -p tcp --sport $p_high --dport 139 -d $INTERN -s $INTIP -o $INTIF -j ACCEPT
$IPTABLES -A INPUT -p tcp --sport 139 --dport $p_high -s $INTERN -d $INTIP -i $INTIF -j ACCEPT

$IPTABLES -A OUTPUT -p tcp --sport $p_high --dport 445 -d $INTERN -s $INTIP -o $INTIF -j ACCEPT
$IPTABLES -A INPUT -p tcp --sport 445 --dport $p_high -s $INTERN -d $INTIP -i $INTIF -j ACCEPT

$IPTABLES -A INPUT -p udp --sport $p_high --dport 137 -s $INTERN -d $INTIP -i $INTIF -j ACCEPT
$IPTABLES -A OUTPUT -p udp --sport 137 --dport $p_high -d $INTERN -s $INTIP -o $INTIF -j ACCEPT

$IPTABLES -A INPUT -p tcp --sport $p_high --dport 139 -s $INTERN -d $INTIP -i $INTIF -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 139 --dport $p_high -d $INTERN -s $INTIP -o $INTIF -j ACCEPT

$IPTABLES -A INPUT -p tcp --sport $p_high --dport 445 -s $INTERN -d $INTIP -i $INTIF -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 445 --dport $p_high -d $INTERN -s $INTIP -o $INTIF -j ACCEPT

$IPTABLES -A OUTPUT -p udp --sport 137 --dport 137 -d 192.168.1.255 -s $INTIP -o $INTIF -j ACCEPT
$IPTABLES -A INPUT -p udp --sport 137 --dport 137 -s $INTERN -d 192.168.1.255 -i $INTIF -j ACCEPT

"Anständige" Firewall mit Routerfunktionen, Portforwarding, DMZ etc. :

Besser direkt eine anständige Firewall benutzten, z.b. für Console die arno-iptables-firewall_2.0.1e.tar.gz benutzen !!! (Arno's IPTABLES Firewall Link). Arno's IPTables Firewall ist ein Bash Script, läuft allso auf JEDER Linux Distri mit IPTables ! Kann natürlich auch als Router fungieren ... Ich kann diese Firewall nur empfehlen ! Ein tolles Stück Software, über Spenden würde sich der Author bestimmt freuen ! ;-).

Zu empfehlen, für X, wäre auch die Firestarter oder Guarddog (gibt für fast jede Distri Pakete).

Wenn man einen Server alleine als Firewall aufsetzen will wäre z.B. IPFire, Smoothwall, Monowall, PFSense oder Redwall geeignet, alle mit eigenem schönen Webinterface, oder den Minirouter Fli4l.