_________________ ___________ / _____/\_ ___ \\_ _____/ / \ ___/ \ \/ | __) \ \_\ \ \____| \ \______ /\______ /\___ / \/ \/ \/ The German Computer Freaks www.gcf.de Since 1997 /\ / \ ________________________________________________________________________/ # / Konfiguration und Anwendungsgebiete von Firewalls Paper \ / von Gabriel Black, April 2002 \/ 1.0 - Grundliegendes 1.1 - Was ist eine Firewall? 1.2 - Welche Arten von Firewalls gibt es? 1.3 - Wann lohnt sich der Einsatz einer Firewall? 1.4 - Wie funktioniert eine Firewall? 2.0 - Einsatzgebiete 2.1 - Firewalls in Firmen 2.2 - Firewalls im privaten Bereich 2.3 - Wie sicher sind Firewalls? 3.0 - Die richtige Konfiguration 3.1 - Konfiguration einer Firewall unter Windows 3.2 - Konfiguration der Personal-Firewall unter Linux 3.3 - Konfiguration der SuSEfirewall unter Linux 4.0 - Bekannte Bugs und Nebenwirkungen von Firewalls 4.1 - Bekannte Bugs und Sicherheitslücken diverser Firewalls 4.2 - Nebenwirkungen falscher oder fehlerhafter Konfigurationen von Firewalls ========================================================================== 1.0 - Grundliegendes 1.1 - Was ist eine Firewall? Eine Firewall ist eine Hardwarekomponente, bzw. ein Programm, welches den Zugriff von außen (z.B. über das Internet) auf ein lokales Netzwerk oder eine Workstation verhindern soll. 1.2 - Welche Arten von Firewalls gibt es? Im Prinzip werden nur 2 Arten von Firewalls unterschieden: Die Hardwarelösung und die Softwarelösung. Die Hardwarelösung besteht aus einem Gerät, welches zwischen die Internetverbindung und den PC geschaltet wird. Die Softwarelösung hingegen besteht aus einem Programm, welches offene Verbindungen des PC's überwacht und ggf. Zugriffe verhindert. 1.3 - Wann lohnt sich der Einsatz einer Firewall? Der Einsatz einer Firewall lohnt sich im Grunde immer wenn man das Internet nutzt. Selbst wenn sich keine sensiblen oder wichtigen Daten auf dem Rechner befinden ist der Einsatz einer Firewall lohnenswert. Niemand verliert gern durch einen Angriff auf sein System Daten. 1.4 - Wie funktioniert eine Firewall? Eine Firewall überwacht offene Verbindungen (sog. Ports) zum PC und schließt diese in vielen Fällen. Startet nun jemand einen Angriff auf das System, blockt die Firewall diesen Angriff ab, indem sie die empfangenen Daten-Pakete mit dem gefährlichen Inhalt nicht durch lässt. Andere, ungefährliche Daten-Pakete werden von der Firewall nicht aufgehalten. ========================================================================== 2.0 - Einsatzgebiete 2.1 - Firewalls in Firmen Firewalls werden schon seit langer Zeit von Firmen eingesetzt, die ihr Netzwerk vor Angriffen von aussen schützen wollen. Auch Webserver werden mit Firewalls geschützt. Die meisten Firmen setzen dabei auf die Hardwarelösung. 2.2 - Firewalls im privaten Bereich Nur die wenigsten privaten Nutzer benutzen eine Hardwarelösung. Im Normalfall wird auf die kostengünstigere Variante der Softwarelösung zurückgegriffen. Oft sind Firewalls für die private Nutzung sogar als Freeware zu bekommen. So z.B. auch ZoneAlarm (http://www.zonealarm.com), eine für den privaten Gebrauch sehr gute Firewall, welche auch recht einfach zu konfigurieren ist. 2.3 - Wie sicher sind Firewalls? Firewalls sind der ideale Schutz für jeden, der seinen PC vor Zugriffen schützen will. Als Voraussetzung gilt jedoch, dass die firewall korrekt konfiguriert sein muss. Wie man eine Firewall korrekt konfiguriert, wird im nächsten Abschnitt beschrieben. ========================================================================== 3.0 - Die richtige Konfiguration (Ich gehe hier von einem Einzelplatz System aus) 3.1 - Konfiguration einer Firewall unter Windows Es gibt viele verschiedene Software Firewalls für Windows. Im Prinzip funktionieren jedoch alle Firewalls gleich (s. 1.4). Und das heisst, das im Prinzip alle Firewalls gleichermassen konfiguriert werden. Als erstes sollte man eine frisch installierte Firewall so einstellen, dass sie mit dem Start des Betriebssystems gestartet wird. Falls das nicht möglich ist, sollte man eine Verknüpfung im Autostart-Ordner von Windows anlegen. Nun sollte man einstellen welche Ports überwacht werden sollten. Ich empfehle folgende Ports auf jeden Fall überwachen zu lassen: - 1243 <- Besonders beliebt bei Trojanern 24347 <- Besonders beliebt bei Trojanern (Sub Seven ab Version 1.9) 21 <- FTP 25 <- Telnet - Es ist ratsam diese Ports immer überwachen zu lassen, da diese gern für Angriffe genutzt werden. Wenn man einen lokalen Webserver betreibt, sollte man zusätzlich noch Port 80 (HTTP) überwachen lassen. Die meisten Firewalls bieten eine Option die sich "Offene Ports schließen" nennt. Diese Option sollte aktiviert sein. Es lassen sich ebenfalls bei den meisten Firewalls Ports reservieren (z.B. für Messengerprogramme wie ICQ, etc.). Wenn man ein entsprechendes Programm benutzt, ist es ratsam die entsprechenden Port hier einzutragen, wenn man das jewelige Programm weiterhin ohne Probleme nutzen möchte. Wenn die Firewall die Möglichkeit einer Rückverfolgung (Traceroute) bietet, solle auch diese aktiviert sein. Sollte man evtl. Einmal die Behörden einschalten müssen, können die hier erfassten Daten sehr nützlich sein. Das sog. Logging (Aufzeichnung von Aktivitäten) ist für eine spätere Auswertung wichtig. Diese Option sollte ebenfalls Aktiviert sein. Wird die Internetverbindung über einen Proxy-Server hergestellt, muss im entsprechenden Menü der Firewall die korrekte IP-Adresse und in den meisten Fällen der entsprechnde Port eingestellt werden. Die entsprechnden Daten werden in der Regel vom Provider bereit gestellt. Für gewöhnlich wird in diesem Menü Folgendes abgefragt: - Hostname <- IP-Adresse des Proxy-Servers User-ID <- Benutzername Passwort <- Passwort des Benutzernamens Port <- Verbindungsport zum Proxy-Server (oft Port 1080) Protokoll <- Gewöhnlich Socks4 oder Socks5 - Viele Firewalls bieten die Möglichkeit, von vornherein Daten-Pakete von bestimmten IP-Adressen zu filtern. Hier sollten Nur dann Eingaben gemacht werden, wenn von einer IP-Adresse über einen längeren Zeitraum Angriffe gestartet werden. Da die meisten Internetverbindungen aber bei jedem Verbindungsaufbau eine neue IP-Adresse zugewiesen bekommen, ist diese Option nur in seltenen Fällen nutzbar. Der Niederländische ISP Chello z.B. vergiebt an seine Kunden feste IP-Adressen. Das heisst, dass der User immer, dank einem Cable-Modem, welches ans lokale TV-Netz angeschlossen ist, die selbe IP-Adresse bei der Einwahl zugewiesen bekommt. In diesem Falle wäre es ratsam, die IP-Adresse in diesen Filter zu setzen, um eventuelle spätere Angriffe von vornherein zu blockieren. Umgekehrt ist es auch Möglich, Daten-Pakete von bestimmten IP-Adressen ohne Kontrolle durch die Firewall kommen zu lassen. Der Filter funktioniert genau wie oben beschrieben, hat nur die umgekehrte Wirkung. Meiner Meinung nach sollte man jedoch nie ein Daten-Paket ohne Kontrolle durch eine Firewall empfangen. Selbst Daten-Pakete von vertrauenswürdigen Absendern können schädliche Inhalte aufweisen. Schliesslich kann man IP-Adressen Spoofen. Die Firewall erkennt im Normalfall keinen Unterschied zwischen einer gespooften und einer echten IP-Adresse. Es ist also davon abzuraten, hier Einträge zu machen. Es sei denn man erlaubt bestimmten IP-Adressen den Zugriff auf das System (z.B. zur Fern-Administration oder zum Dateitransfehr). In diesem Fall sollte man jedoch die Sicherheitsstufe auf die höchst mögliche Einstellung setzen. Sicher ist sicher. Ich glaube, ich hab nun alle wichtigen Einstellungen für die Konfiguration einer Firewall unter Windows angesprochen. Kommen wir nun zu einem etwas komplizierteren Thema... 3.2 - Konfiguration der Personal-Firewall unter Linux Ich beziehe mich hier auf die Personal-Firewall die mit jeder Linux-Distribution ausgeliefert wird. Für den privaten Gebrauch ohne den Einsatz von Servern die über das Internet erreichbar sind, ist sie ideal für jederman, egal ob Einsteiger oder Profi, der sich nicht mit der Konfiguration einer umfangreichen Firewall aufhalten möchte. Zuerst möchte ich darauf hinweisen, dass ein ausführliches HowTo zum Thema Firewalls bei Linux mitgeliefert wird. Man findet es im Paket "howtode", Serie "doc". Zum lesen des Files gebt an der Konsole folgendes ein: - less /usr/share/doc/howto/de/DE-Firewall-HOWTO.txt.gz ^- funktioniert nur, wenn das Paket howtode installiert ist - Die Personal-Firewall von Linux ist dafür gedacht Konfigurationsfrei zu arbeiten. Dennoch gibt es Einstellungen, die man vornehmen kann. Die Personal-Firewall besitzt nur eine Variable in folgender Datei zur Konfiguration: - /etc/rc.config.d/security.rc.config - Die Vaiable lautet "REJECT_ALL_INCOMMING_CONNECTIONS" und kontrolliert den Datenverkehr. Man sollte zuerst einmal die Interfacenamen kennen, die hier als Eingabe erlaubt sind: - eth0 <- erster Netzwerkadapter eth1 <- zweiter Netzwerkadapter ippp0 <- Modem oder ISDN Gerät tr0 <- wird in der Regel für Router verwendet - Zusätzlich wird zu jedem Interfacenamen auch ein oder mehrere Schlüsselwörter benötigt: - yes <- Die Firewall schützt das gesamte System, ausser localhost no <- Firewall nicht aktiv modem <- Bezeichnet angeschlossene Modems; Kurzform für alle ppp Interfacenamen masq <- Masquerading (wird hier nicht weiter angesprochen) - Wird in der "security.rc.config" z.B. folgende Variable eingetragen, - REJECT_ALL_INCOMMING_CONNECTIONS="ippp0 modem" - werden sämtliche Verbindungen, die von aussen zum eigenen PC über die eigene Modem- oder ISDN-Verbindung hergestellt werden, verworfen. Diese Konfiguration lässt sich ebenfalls auf das Netzwerk übertragen. Lediglich der Interfacename "ippp0" muss auf "eth0" geändert werden. das Schlüsselwort "modem" muss dafür auf "yes" geändert werden. 3.3 - Konfiguration der SuSEfirewall unter Linux Bevor eine Konfiguration der SuSEfirewallvorgenommen wird, sollte man sich die Dokuentation dazu durchlesen. Die Dokumentation findet man unter: - /usr/share/doc/packages/SuSEfirewall - Die Konfiguration wird in der Datei - /etc/rc.config.d/firewall.rc.config - vorgenommen. In dieser Datei gibt es viele Variablen, die zur Konfiguration notwendig sind. Ich werde hier alle Variablen kurz vorstellen. START_FW - Diese Option muss in "/etc/rc.config" auf "yes" gestellt werden. Ansonten startet die Firewall nicht. FW_DEV_WORLD - WORLD ist durch das Gerät (s. Interfacenamen bei 3.2) zu ersetzen. FW_DEV_INT - Das Gerät, welches ins innere Netz (z.B. LAN) weist. Falls es kein LAN o. ä. gibt, kann diese Option einfach ausgelassen werden. FW_ROUTE - Nur nötig bei Masquerading. Sollte auf "no" gesetzt werden. FW_MASQUERADE - Aktivierung von Masquerading (zum Aktivieren "yes" eintragen). FW_MASQ_NETS - Falls Masquerading benutzt wird, werden hier die zu maskierenden IP-Adressen eingetragen. FW_PROTECT_FROM_INTERNAL - Wenn ein Netzwerk vorhanden ist, sollte diese Option auf "yes" gesetzt werden, um auch Angriffe aus dem internen Netz abzuwehren. FW_AUTOPROTECT_GLOBAL_SERVICES - Sollte unbedingt auf "yes" stehen. FW_SERVICES_EXTERNAL_TCP - Hier werden die Services eingetragen, auf die von aussen zugegriffen weden darf (nur sinnvoll, wenn Server betrieben werden. Services werden z.B. mit - www <- Webserver ftp <- FTP-Server smtp <- Mailserver - angegeben. FW_SERVICES_EXTERNAL_UDP - Wird nur benötigt um Ports für einen Nameserver zu reservieren. Sollte in der Regel jedoch leer gelassen werden. FW_SERVICES_INTERNAL_TCP - Hier werden die Services eingetragen, auf die von innen (z.B. aus dem LAN) zugegriffen werden darf. FW_SERVICES_INTERNAL_UDP - Siehe oben. FW_TRUSTED_NETS - Hier werden die IP-Adressen von vertrauenswürdigen Systemem eingetragen. Mehrere Adressen werden durch leerzeichen von einander getrennt. Die hier aufgeführten Systeme müssen ebenfalls ausreichend geschützt sein, da sonst ein Zugriff auf ds eigene System über diese Systeme erfolgen könnte. FW_SERVICES_TRUSTED_TCP - Hier lassen sich die TCP-Ports festlegen, die von den "Trusted Hosts" benutzt werden dürfen. In der Regel ist es ausreichend hier als Service "ssh" einzugeben. FW_SERVICES_TRUSTED_UDP - Wie oben, lediglich auf UDP bezogen. FW_ALLOW_INCOMMING_HIGHPORTS_TCP - Falls ein FTP-Server aktiv ist, muss man hier "ftp-data" eintragen. FW_ALLOW_INCOMMING_HIGHPORTS_UDP - Nur nötig, wenn ein Nameserver betrieben wird. Mit "yes" werden alle hohen Portnummern freigegeben. FW_Service_DNS - Wenn ein Nameserver betrieben wird, muss diese Option auf "yes" gesetzt werden. In diesem Falle muss der Port 53 freigegebn sein. FW_SERVICE_DHCLIENT - Wenn ein DHC Client zum Bezug der IP-Adresse benutzt wird, muss diese Option auf "yes" stehen. Andernfalls kann diese Option leer gelassen werden. FW_STOP_KEEP_ROUTING_STATE - Sollte auf "yes" stehen, falls ISDN benutz wird. Das waren auch schon alle Variablen. Eine genaue Konfiguration muss jeder für sich selbst finden da jedes System unterschiedlich ist. Aber so schwer wie es auf den ersten Blick aussieht, ist es gar nicht. ========================================================================== 4.0 - Bekannte Bugs und Nebenwirkungen von Firewalls 4.1 - Bekannte Bugs und Sicherheitslücken diverser Firewalls Bekannte Bugs sind z.B. Möglichkeiten, mit denen sich einige vereinzelte Firewallsvon außen durchtunneln bzw. ganz ausschalten lassen. Dies kann auf verschiedene Arten passieren, wie z.B. Flooding. Eine Bekannte Sicherheitslücke von "Lockdown" z.B. ist die Möglichkeit das Administrator Passwort in der Datei "Lockdown.ini" unter dem Stichpunkt "[password]" auszulesen. Die Firewall "BlackIce Defender" lässt sich sogar mittels einiger Manipulationen in den entsprechenden .ini-Dateien ganz abschalten. In wenigen Fällen wurde von Firewalls berichtet, die zwar offene Ports überwachen, aber dennoch unautorisierte Daten über diese Ports passieren lassen. 4.2 - Nebenwirkungen falscher oder fehlerhafter Konfigurationen von Firewalls Mögliche Nebenwirkungen wären z.B. folgende: - Eine Verbindung zum Internet lässt sich nicht aufbauen Diverse Programme (Messenger, FTP-Clients, etc.) werden nicht durch die firewall gelassen Online-Spiele verbinden sich nicht mehr mit dem Server oder es lässt sich kein Server auf machen - In so einem Fall hilft nur die Rekonfiguration der Firewall. In einigen Fällen lässt sich auch das entsprechnde Programm an die Firewall anpassen, was zwar sicherer, dafür aber aufwendiger ist. ========================================================================== ========================================================================== ========================================================================== Dieser Text ist frei kopier- und erweiterbar. Es wäre jedoch nett, wenn man mich über eine weitere Veröffentlichung oder Änderung(en) informieren würde. Man erreicht mich unter der E-Mail Adresse - Gabriel_Black@web.de - Rechtschreibefehler gehen aufs Haus! ;) Gabriel Black