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