IPCHAINS Firewall Einrichtung (MODEM,ISDN) auf Basis von Suse Linux 7.0

Von: Eric Steiner alias shell




Vorwort:

Dieser Text soll es Benutzern von Suse Linux ermöglichen eine Firewall für ihr privates Dialin Netz zu erstellen, um die Sache nicht unnötig kompliziert zu machen beschäfigen wir uns in diesem Text nicht mit den verschiedenen ipchains Ketten, den Regeln etc., vorausgesetzt wird, das sie keine Services( ftp, http, irc etc.) anbieten wollen.




Ein frisch installiertes Suse Linux ist ziemlich unsicher, da standardmässig der Apache Webserver läuft, ebenso ein FTP Daemon ja sogar ein telnet Login ist möglich. Dem wollen wir in diesem Tutorial abhelfen, indem wir ipchains mittels des SuSEfirewall Scriptes konfigurieren.

Ihr werdet sehen, das Ganze ist nicht wirklich so tragisch wie es scheint.

Loggt euch zunächst mal in KDE mit eurem root Account ein und startet ein kedit Fenster. (Alt+F2 -> kedit eingeben)

Wie gehen jetzt von dem Fall aus das ihr nur ein sicheres SuSE Linux haben wollt ohne jedoch etwaige Services (wie zB ftpd, httpd) anzubieten.

1. Öffnet die Datei /etc/rc.config.d/firewall.rc.config mit kedit

Folgende Punkte sind darin umzuändern:

# 2.)
# Which is the interface that points to the internet?
#
# Enter all the network devices here which are untrusted.
#
# Choice: any number of devices, seperated by a space
# e.g. "eth0", "ippp0 ippp1"
#
FW_DEV_WORLD="ippp0" <-- Hier tragt ihr euer Interface ein, für Modem ist es ppp0 für ISDN ippp0 in unserem Fall konfigurieren wir hier ein ISDN System.

Als nächstes sollte folgender Punkt betrachtet werden:

# 11.)
# How is access allowed to high (unpriviliged [above 1023]) ports?
#
# You may either allow everyone from anyport access to your highports ("yes"),
# disallow anyone ("no"), anyone who comes from a defined port (portnumber or
# known portname) [note that this is easy to circumvent!], or just your
# defined nameservers ("dns").
# Note that if you want to use normal (active) ftp, you have to set the TCP
# option to ftp-data. If you use passive ftp, you don't need that.
# Note that you can't use rpc requests (e.g. rpcinfo, showmount) as root
# from a firewall using this script.
#
# Choice: "yes", "no", "dns", portnumber or known portname, defaults to "no"
#
FW_ALLOW_INCOMING_HIGHPORTS_TCP="no" # Common: "ftp-data" (sadly!)
FW_ALLOW_INCOMING_HIGHPORTS_UDP="yes" # Common: "dns

Highports TCP wird hier auf No gestellt , Highports UDP auf yes da ansonsten Probleme mit der Einwahl ins Internet auftreten können.

Zu guter Letzt wollen wir uns noch folgende Punkte ansehen:

# 19.)
# Allow (or don't) ICMP echo pings on either the firewall or the dmz from
# the internet?
# REQUIRES: FW_ROUTE for FW_ALLOW_PING_DMZ
#
# Choice: "yes" or "no", defaults to "no"
#
FW_ALLOW_PING_FW="no"
FW_ALLOW_PING_DMZ="no"

Hier stellen wir beides auf NO, wenn also jemand unsere IP pingt wird er keine Antwort (in Windows eine Zeitüberschreitung) erhalten, und es wirkt so als ob die IP nicht online wäre.

Ganz interessant auch noch der letzte Punkt:

# 20.)
# Allow (or don't) ICMP time-to-live-exceeded to be send from your firewall.
# This is used for traceroutes to your firewall (or traceroute like tools).
#
# Please note that the unix traceroute only works if you say "yes" to
# FW_ALLOW_INCOMING_HIGHPORTS_UDP, and windows traceroutes only if you say
# "yes" to FW_ALLOW_PING_FW
#
# Choice: "yes" or "no", defaults to "no"
#
FW_ALLOW_FW_TRACEROUTE="no"

Falls nicht schon geschehen sollte hier auf jeden fall Traceroute auf No gesetzt werden.

Nun speichert ihr die Datei ab

Öffnet als nächstes die /etc/rc.config Datei

Hier suchen wir mittels der Suchfunktion in Kedit nach FW_START

Wir sollten folgenden Punkt vorfinden:

# Should the Firewall be started?
# This configures, if the firewall script ist started in the bootup process.
# However, if you later start the firewall by hand, this option is of course
# ignored.
# The configuration is done in /etc/rc.config.d/firewall.rc.config.
#
# Choice: "yes" or "no", defaults to "no"
#
START_FW="yes"

Hier ist einfach START_FW auf yes zu setzen (bei euch ist das im Moment auf NO)

Dieser Eintrag bewirkt das beim booten bereits die Firewall gestartet wird und ihr nicht manuell SuSEfirewall ausführen müsst.

Nun werdet ihr euch Fragen wohin SuSE Linux die Logdateien der Firewall schreibt, ganz einfach diese werden mit allen anderen Systemnachrichten standartmässig in /var/log/messages geschrieben.

Um nun diese Datei quasi "live" anzusehen benutzen wir den tail Befehl mit dem Parameter -f für follow, dH wir geben als root ein:

tail -f /var/log/messages

Hier seht ihr jetzt unter anderem die Logs der Firewall wie zB:

May 25 10:10:13 linux kernel: Packet log: input DENY ippp0
PROTO=6 195.96.12.133:2987 62.46.160.218:6346
L=60 S=0x00 I=7202 F=0x4000 T=47 SYN (#19)
Das bedeutet im Klartext am 25.Mai um 10 nach 10 wurde das ICMP Packet vom Interface ippp0 (ISDN Device bei Modem ppp0) abgewiesen (DENY)

Das erste ist die IP des Pingers und das 2te ist ihre eigene IP Adresse.

Mit dem Befehl SuSefirewall stop könnt ihr eure Firewall jederzeit ausschalten und mit SuSEfirewall schaltet ihr selbige wieder ein :) (natürlich nur als root)

Bravo ihre Firewall arbeitet, und sie können sich sicher im Internet bewegen.

shellshock
aloneinthedark@uni.de