Eine (auch: ein) Personal Firewall oder Desktop Firewall (von englisch firewall Brandschutzwand, „Brandmauer“) ist eine Software, die den ein- und ausgehenden Datenverkehr eines PCs auf dem Rechner selbst filtert. Sie wird zum Schutz des Computers eingesetzt und vom Bundesamt für Sicherheit in der Informationstechnik (BSI) als eine empfohlene Schutzmaßnahme für Nutzer des Internets aufgelistet.
Im Gegensatz zu einer klassischen Netzwerk-Firewall ist eine Personal Firewall keine eigenständige Netzwerkeinheit, die den Verkehr zwischen zwei Netzwerken filtert. Sie filtert nur zwischen dem Rechner, auf dem sie läuft, und dem Netz.
Ein Nachteil dieses Prinzips ist, dass die Firewallsoftware selbst angegriffen werden kann. Die Ausnutzung oder Umgehung dieser kann den vollständigen Zugang zum zu schützenden System bedeuten. Die Angreifbarkeit des Rechners wird an den Stellen, an denen die Firewall aktiv ist, von seinem Netzwerk-Betriebssystem auf seine Firewall verlagert. Eine zusätzliche Sicherheit gegen Angriffe entsteht hier dadurch, dass eine Firewall weniger komplex ist als ein ganzes Betriebssystem – und daher statistisch weniger Fehler enthält.
Als weiteren Vorteil kann eine Personal Firewall im Gegensatz zu einer externen Firewall genau ermitteln, welche Applikationen an der ein- und ausgehenden Kommunikation beteiligt sind. Auf diese Weise sind applikationsspezifische Filter möglich, so dass man einigen Programmen den Datenverkehr erlauben kann und anderen nicht.
Eine Personal Firewall ist auf einem an ein Netz angeschlossenen Computer, einem Host, installiert, um diesen vor Angriffen aus dem Netz zu schützen.
Bei dem Netz kann es sich um das Internet oder um ein lokales Netz eines Unternehmens oder eines Privathaushaltes handeln. Die Personal Firewall soll Zugriffe von außen auf den Rechner kontrollieren und kann diese selektiv verhindern, um ihn vor Angriffen durch Würmer oder Cracker zu schützen.
Eine weitere Aufgabe besteht darin, den Verbindungsaufbau zu Backdoors oder Kommunikation von Spyware zu erkennen und zu verhindern. Ein solcher „Breakout“ ist allerdings prinzipbedingt schwer zu verhindern und gelingt nicht jeder Firewall-Software.[1] Insbesondere existieren Techniken, um Ports durch Firewalls zu öffnen, die auch von Instant-Messenger-Programmen wie Skype verwendet werden.[2]
Grundlegende Funktionen
Bei der Kommunikation in Rechnernetzen wird die zu sendende Information in einzelne Datenpakete gepackt, die über das Netz zu entfernten Rechnern weitergeleitet werden. Neben den zu übermittelnden Daten enthält jedes Paket Adressierungsinformationen: Die Quell-IP-Adresse gibt an, von welchem Rechner das Paket stammt, die Ziel-IP-Adresse, zu welchem Rechner es geschickt werden soll. Im Paket angegebene Nummern, die Quell-Port-Nummer und die Ziel-Port-Nummer, erlauben es dem Betriebssystem, das Paket einem Anwendungsprogramm zuzuordnen.
Der Hauptbestandteil einer Personal Firewall ist ein Paketfilter. Dieser Paketfilter ermöglicht es, eingehende oder ausgehende Datenpakete nach vorgegebenen Regeln zu blockieren. Filterkriterien können Quell- und Zieladresse, Protokoll, sowie Quell- und Zielport sein.
Im Unterschied zu externen Firewalls hat eine Personal Firewall einen Anwendungsfilter (Application Control), der einzelne Anwendungsprogramme gezielt von der Netzkommunikation ausschließen kann. Zusätzlich kann die Anwendung in die Regeln für den zuvor erwähnten Paketfilter einfließen, so dass dieser anwendungsbasiert filtern kann. So kann einzelnen Anwendungen eine bestimmte Kommunikation erlaubt werden, die anderen verboten ist.
Die Personal Firewall stellt dem Anwender oder Administrator ein grafisches Frontend für die Konfiguration von Paket- und Anwendungsfilter zur Verfügung.
Weitere Funktionen
Personal Firewalls unterscheiden sich im Funktionsumfang durch zusätzliche Komponenten.
Die meisten Personal Firewalls verfügen über einen Lernmodus. Dabei werden die Regeln für Paketfilter und Anwendungsfilter durch Interaktion mit dem Benutzer festgelegt. Registriert die Personal Firewall Datenverkehr, für den noch keine Regel existiert, wird dies dem Benutzer in einem Dialogfenster gemeldet. Er kann daraufhin entscheiden, ob diese Verbindung gestattet oder blockiert werden soll. Aus der Antwort kann die Firewall eine neue Regel formulieren, die zukünftig angewendet wird.
Mit einem Content-Filter können einige Personal Firewalls Inhalte von Datenpaketen überprüfen und beispielsweise ActiveX-Komponenten, JavaScript oder Werbebanner aus angeforderten HTML-Seiten herausfiltern. Content-Filter, die sich auf Webanwendungen spezialisiert haben, werden als "Web Shield" oder "Web Application Firewall" bezeichnet. Filter für E-Mail-Anhänge werden ebenfalls häufig angeboten.
Manche Firewalls verfügen über ein Einbrucherkennungs- und -abwehrsystem. Im Fachjargon wird dieses „Intrusion Detection System“ (IDS) beziehungsweise „Intrusion Prevention System“ (IPS) genannt. Unterschieden werden netzwerkbasierte (NIDS) und hostbasierte Intrusion Detection Systeme (HIDS). Ein NIDS untersucht den Netzverkehr auf bekannte Angriffsmuster und meldet deren Auftreten. Schadsoftware versucht oft die Filterung durch die Firewall zu umgehen. Dies könnte geschehen, indem die Schadsoftware den Dienst der Personal Firewall beendet. Ein möglicher Trick, die Personal Firewall zu umgehen, ist, ein vertrauenswürdiges Programm (beispielsweise den Browser) zu starten und über dieses die Verbindung herzustellen. Ebenso kann versucht werden, ein vertrauenswürdiges Programm oder eine davon genutzte Bibliothek zu verändern oder sich als Erweiterung für ein solches Programm einzuschleusen. Ein Host-basiertes Intrusion Detection System (HIDS) versucht, solche Tricks zu erkennen, und warnt den Benutzer.
Eine weitere mögliche Funktion ist das "Sandboxing". Einem Programm, das in einer Sandbox läuft, werden Zugriffe auf bestimmte Systemressourcen verweigert. Es soll dadurch verhindert werden, dass eine kompromittierte Anwendung Schaden am Betriebssystem anrichtet.
Ein Rechner, der im Internet kommuniziert, hat in der Regel mehrere Verbindungen gleichzeitig aufgebaut. Beispielsweise wird beim Aufrufen einer Webseite im Internet durch den Browser vorher immer zusätzlich der Namensdienst zur Auflösung der IP-Adresse konsultiert. Das Gleiche gilt für das Versenden oder Abrufen von E-Mails. Eine solche Verbindung wiederum besteht aus mehreren einzelnen Datenpaketen, die bidirektional ausgetauscht werden. Ein Paketfilter, der Stateful Inspection (zustandsgesteuerte oder dynamische Paketfilterung) beherrscht, kann ein Datenpaket nach dem Kriterium durchlassen, ob dieses Teil einer bereits bestehenden Verbindung – das heißt die Antwort auf ein vorangegangenes erlaubtes Datenpaket – ist. Man sagt, die Filterung wird durch den Zustand (bestehend oder nicht-bestehend) der Verbindung gesteuert. Daher rührt die Bezeichnung „zustandsgesteuerte Paketfilterung“. Eine von mehreren Möglichkeiten, diese Funktion zu implementieren, besteht darin, dass der Paketfilter, wenn er ein ausgehendes Datenpaket gemäß der vom Benutzer vorgegebenen Regel durchlässt, eine neue Regel generiert, die ein Paket, das die Eigenschaften einer zu erwartenden Antwort besitzt, ebenfalls erlaubt. Da diese Regel nicht starr vorgegeben ist, sondern vom Paketfilter dynamisch erzeugt wird, spricht man auch von „dynamischer Paketfilterung“.
Eine wichtige Funktion ist die Protokollierung des Vorgehens des Paketfilters in einer „Logdatei“ (kurz: Log). So ist es möglich, Fehler bei der Netzkonfiguration zu erkennen.
Einige Personal Firewalls bieten einen Stealth-Modus (von engl. stealth „Heimlichkeit“) an. Bei diesem Modus werden Anfragen auf ungenutzten Ports unbeantwortet verworfen. Normalerweise würde in einem solchen Fall eine Antwort erfolgen, dass der Rechner erreichbar, der Port jedoch nicht belegt ist. Durch das Ausbleiben der Antwort soll es dem Angreifer schwerer gemacht werden, Informationen über das System zu sammeln. Diese Vorgehensweise wird als „Security through obscurity“ (Sicherheit durch Verschleierung) bezeichnet.
Viele Personal Firewalls prüfen selbständig, ob der Hersteller eine aktuellere Version der Firewallsoftware im Netz bereitgestellt hat, laden diese gegebenenfalls herunter und installieren sie. Diese Automatik gewährleistet eine zeitnahe Aktualisierung der Firewallsoftware, wenn diese von Sicherheitslücken betroffen sein sollte.
Man unterscheidet generell zwei Arten von Firewalls anhand ihrer Topologie:
Netzwerk-Firewalls (siehe Bild), ein eigenständiges System oder Gerät (im Wesentlichen bestehend aus Hardware, speziellem Betriebssystem und Firewall-Software) mit mindestens zwei LAN-Schnittstellen, das die Aufgabe hat, ein gesamtes Netzwerk zu schützen;
Personal Firewalls, das sind Programme oder Programmpakete, die auf einem Computer installiert werden und das dortige Betriebssystem ergänzen oder erweitern, um diesen Rechner zu schützen.
Der Oberbegriff „Firewall“ umfasst genau genommen beide Arten, wenngleich ohne Zusatz (Netzwerk- oder Personal-) vor allem im professionellen Umfeld meist erstere Art gemeint ist.
Eine darüber hinaus allgemeingültige Terminologie zum Thema gibt es allerdings nicht. Begriffe werden uneinheitlich und manchmal widersprüchlich benutzt.
In der zweiten Auflage eines Klassikers zum Thema Firewall wird unter dem Titel „Personal-Firewall“ die Absicherung eines einzelnen Rechners mithilfe des Paketfilters ipchains beschrieben (Lit.: Cheswick 2004, S. 266). Diese Personal Firewall wird dort von der Gateway-Firewall abgegrenzt. Letztere befindet sich als Schnittstelle zwischen zwei Computernetzen und wird im Rest des Buches „Firewall“ genannt. Eine Personal Firewall ist dagegen auf dem zu schützenden Host installiert.
Manchmal wird die mit der Installation auf dem zu schützenden Host verbundene Möglichkeit, anwendungsspezifisch zu filtern, als zwingendes Merkmal einer Personal Firewall gesehen. Eine andere Sichtweise ist, dass es sich bei einer Personal Firewall um einen Paketfilter handelt, der mit dem Benutzer interagiert. Nicht selten wird die Personal Firewall als eine Ansammlung verschiedener Sicherheitsfunktionen in einem Softwarepaket gesehen. Software, die über die im Abschnitt weitere Funktionen erwähnten Funktionen hinausgehend Viren-, Spywarescanner oder Spamfilter enthält, wird meist nicht als Personal Firewall, sondern als „Security Suite“ (Sicherheitspaket) bezeichnet.
Häufig geben Hersteller ihrer Paketfiltersoftware oder deren Konfigurationstools den Namen „Firewall“. Beispiele dafür sind die Windows-Firewall, die SuSEfirewall oder die IPFirewall (ipfw) von FreeBSD. In Handbüchern von Personal Firewalls und Computerzeitschriften werden die Bezeichnungen Firewall und Personal Firewall häufig synonym eingesetzt. Bei Heimanwendern haben sich die Begriffe Hardware-Firewall und Software-Firewall eingebürgert. Hardware-Firewall bezeichnet ein externes Gerät, Software-Firewall ist ein Synonym für Personal Firewall.
Viele Netzadministratoren lehnen diese Bezeichnungen ab: Auch auf einem externen Router läuft Software. Statt zwischen Hard- und Software-Firewall solle man zwischen Routern mit Paketfilterfunktion und Host-basierten Paketfiltern (HBPF) unterscheiden. Alle oben genannten Produkte würden – nach Meinung vieler Netzadministratoren – nicht der Bezeichnung Firewall gerecht. Eine Firewall sei ein sorgfältig geplantes und ständig gewartetes System zur Trennung von Netzbereichen. „Eine Firewall ist ein Konzept“, heißt es, „und keine Software, die man sich einfach installieren kann.“. Die Umsetzung eines solchen Firewallkonzepts – die (physische) Firewall – ist standortspezifisch und besteht nur selten aus einer einzigen Komponente.
Personal Firewall als Schutzmaßnahme
Personal Firewalls bilden oftmals einen Teil der Absicherung privater PCs mit Internetzugang. Ihr Einsatz wird unter anderem von Microsoft und vielen Fachzeitschriften empfohlen. Seit Anfang 2006 wurde in Microsofts TechNet Magazine[3] und in der c’t[4][5][6] aber auch darauf hingewiesen, dass eine PFW als Schutz vor Angriffen von innen nur gegen Schädlinge hilft, die sich keine Mühe geben, sich zu verstecken.
Auf Kritik stieß der Einsatz von Personal Firewalls von Anfang an in der Newsgroup de.comp.security (heute de.comp.security.firewall). Sicherheitslücken werden durch nicht vertrauenswürdige oder fehlerhafte Software verursacht oder durch deren unsachgemäße Konfiguration. Es sei der falsche Weg, diesem Sicherheitsproblem durch Hinzufügen zusätzlicher Software zu begegnen, die ebenfalls fehlerhaft oder fehlkonfiguriert sein könne. Personal Firewalls würden die Komplexität des Gesamtsystems und somit dessen Angriffsfläche erhöhen.[11]
Die kritischen FAQ der Newsgroup de.comp.security.firewall gestehen Personal Firewalls zu, dass man deren Logs benutzen kann, um mehr über den durch den eigenen Rechner initiierten Netzverkehr zu lernen.[12] Ein genaues Verständnis der Vorgänge setzt Kenntnisse über die Internetprotokollfamilie voraus.
Schutz vor Angriffen von außen
Angriffe von außen richten sich meist gegen Programme, die Netzwerkdienste anbieten. Im Heimanwenderbereich sind Datei- und Druckdienste, RPC-Dienste, Nachrichtendienste sehr verbreitet. Programme, deren Aufgabe es ist, den Dienst anzubieten, nennt man Server oder Peers. Ein Server oder Peer fordert einen Socket vom Betriebssystem an, um auf Anfragen von unbekannten Rechnern aus dem Netz zu warten.
Angriffe können gegen den Authentifizierungsmechanismus dieser Dienste gerichtet sein. Der Angreifer nutzt meist schwache Passwörter aus, um Zugriff auf das System zu erlangen. Dies gilt beispielsweise für die Dateifreigaben oder für SSH. Andere Angriffsarten nutzen Programmfehler (meist ein Pufferüberlauf) im Server, um Code auf dem entfernten Host zur Ausführung zu bringen. So nutzte der Internetwurm Blaster eine Schwachstelle im RPC-Dienst von Windows 2000 und Windows XP.
Bei einigen Betriebssystemen wie beispielsweise Solaris oder Windows NT, 2000 und XP werden Netzwerkdienste schon in der Standardkonfiguration auf allen Netzwerkschnittstellen angeboten. Dies hat zur Folge, dass Rechner mit ungepatchtem Windows 2000 und Windows XP bis SP1 als Betriebssystem im Durchschnitt bereits wenige Minuten, nachdem sie ohne Schutz durch eine Firewall mit dem Internet verbunden worden sind, Angriffen zum Opfer fallen. Der Rechner ist meist kompromittiert, noch bevor die zu Verhinderung des Angriffs benötigten Sicherheitsaktualisierungen heruntergeladen werden können. Ab Windows XP SP2 werden derartige Angriffe von der integrierten und standardmäßig aktiven Windows-Firewall abgewehrt.[13]
Der Paketfilter einer Personal Firewall schützt vor den hier beschriebenen Angriffen, indem er alle Datenpakete aus dem Internet verwirft, die an den Port, an dem der Server lauscht, gerichtet sind. Obwohl der Server läuft und an einem Port lauscht, ist er vom Internet aus nicht erreichbar. Der Server kann von anderen Rechnern nicht angegriffen, aber auch nicht genutzt werden.
Viele Angriffe lassen sich ohne Firewall verhindern, wenn der Dienst, der eine Sicherheitslücke aufweist, rechtzeitig gepatcht wird. Im Falle einer Zero-Day-Attacke ist dies allerdings nicht möglich. Eine andere Schutzmöglichkeit besteht darin, Angriffe durch eine restriktive Netzwerkkonfiguration abzuwehren, indem ungenutzte Server abgeschaltet werden oder an ein Netzwerkinterface gebunden werden, das vom Internet nicht erreichbar ist. Eine Personal Firewall kann den unerwünschten Zugriff auf Server filtern, die der Benutzer nicht beenden kann oder möchte, oder von denen er gar nicht bemerkt hat, dass sie laufen.
Eine wesentlich geringere Bedeutung haben Angriffe gegen die TCP/IP-Software des Betriebssystems selbst. Das Ping of Death ist ein Beispiel für einen solchen Angriff. Bei solchen Angriffen ist eine externe Firewall von Vorteil, die auf ihrem eigenen Betriebssystem läuft, das von jenem des zu schützenden Rechner unabhängig ist. Unter Umständen kann ein Host-basierter Paketfilter ebenfalls Angriffe gegen den IP-Stack abwehren, nämlich dann, wenn er Pakete bereits verwirft, bevor sie den fehlerhaften Teil des IP-Stacks durchlaufen.
Personal Firewalls bestehen aus Software, die fehlerhaft sein kann. Manchmal werden Schwachstellen in Personal Firewalls bekannt, die es erst ermöglichen, zu schützende Systeme über das Netz anzugreifen. So wurden im März 2004 nicht rechtzeitig aktualisierte Versionen von BlackICE und RealSecure Opfer des Witty-Wurms.
Ein Nachteil der Personal Firewall gegenüber der Gateway-Firewall (auch kurz Firewall genannt) und dem Einsatz von Bastion-Hosts ist, dass der Angreifer nach erfolgreichem Angriff der Personal-Firewall-Software bereits vollen Zugriff auf das zu schützende System erlangt.
Schutz vor Angriffen von innen
Häufig gelangt Schadsoftware über einen Pufferüberlauf in einer Anwendung oder als Trojanisches Pferd auf den Rechner. Dieses wird vom Benutzer, der von der Schädlichkeit des Programms nichts ahnt, ausgeführt. Es zählt nicht zu den Aufgaben einer Personal Firewall, vor dem Ausführen eines Trojanischen Pferdes zu schützen. Aber sie soll die spätere Kommunikation von auf diese Weise auf den Rechner gelangter Schad-Software („Malware“) aufdecken oder vereiteln.
Vor allem wenn die Schadsoftware mit eingeschränkten Benutzerrechten ausgeführt wird, kann eine PFW oft verhindern, dass die Malware eine Hintertür (englisch Backdoor) auf dem System einrichtet. Erfahrene Benutzer können aus den Log-Meldungen der Personal Firewall den Versuch erkennen, eine Backdoor einzurichten. Meist kann jedoch nicht mit Sicherheit gesagt werden, ob die von der Personal Firewall vereitelte Aktion die einzige Funktion der Schadsoftware ist oder ob weitere unbemerkte Manipulationen am Betriebssystem vorgenommen wurden. In diesem Fall gilt das System als kompromittiert. Ein solches kann auch durch eine Personal Firewall nicht mehr gesichert werden.
Personal Firewalls, die ausgehende Verbindungen kontrollieren, konnten in der Vergangenheit bestimmte E-Mail-Würmer, die ihren eigenen SMTP-Client mitbrachten, an der Verbreitung hindern. Einige E-Mail-Würmer versuchen daher, die Personal Firewall zu beenden. Ob dies gelingt, hängt stark von der eingesetzten Firewallsoftware ab.
Häufig werden Personal Firewalls dazu eingesetzt, Spyware zu erkennen, die noch nicht in der Datenbank eines Spywarescanners enthalten ist. Verlangt ein unbekannter Prozess nach einer Verbindung mit dem Internet, ist diesbezüglich ein Verdacht gegeben, dessen Prüfung unerfahrenen Anwendern jedoch oft schwerfällt. So werden häufig Programme für Spyware gehalten, die lediglich nach Aktualisierungen suchen. Umgekehrt tarnt sich Schadsoftware oft als nützlicher Systemprozess.
Ein technisches Problem ist, dass es zahlreiche Möglichkeiten gibt, die Filterung ausgehender Verbindungen zu umgehen: Die Paketfilterung kann genauso wie bei externen Paketfiltern über getunnelte Verbindungen umgangen werden. Die Anwendungskontrolle kann umgangen werden, indem ein von der PFW als vertrauenswürdig eingestuftes Programm zur Herstellung der Verbindung herangezogen wird. So demonstrierte beispielsweise der Chaos Computer Club Ulm in einem Vortrag über Personal Firewalls eine Methode, den Browser aufzurufen und Informationen nach außen zu senden, die von keiner der getesteten PFWs erkannt oder verhindert werden konnte (siehe Weblinks).
Stealth-Modus
Der Nutzen des von manchen Firewall-Produkten angebotenen Stealth-Modus (siehe weitere Funktionen) wird kritisch gesehen. Entgegen den Empfehlungen der RFCs verwirft der Paketfilter im Stealth-Modus alle Anfragen kommentarlos (DROP), anstatt mit ICMP-Kontrollnachrichten zu antworten. Administratoren haben beobachtet, dass Rechner, die auf Pings nicht antworten, vergleichsweise seltener gescannt und seltener angegriffen werden. Aus technischer Sicht kann der Stealth-Modus weder einen Angriff noch einen Scan der TCP-Ports verhindern: Wenn der Router des Providers auf Pings nicht mit „Destination unreachable“ antwortet, weiß ein Angreifer, dass der Rechner existiert. Ein Portscanner kann das Problem, dass es bei Anfragen zu einer Zeitüberschreitung (englisch Timeout) kommt, umgehen: Er sendet die Anfragen parallel und sammelt alle Antworten. Kommt keine Antwort, wird der Zustand des entsprechenden Ports als „gefiltert“ angezeigt. Der Portscan wird ausgebremst, aber nicht verhindert.
Reguläre Programme können durch den Einsatz des Stealth-Modus behindert werden. Dies gilt beispielsweise für Internet-Anwendungen, die den Authentifizierungsdienst (auch „auth-service“ oder „ident“ genannt) nutzen. Manche Server bauen im Rahmen des Anmeldevorgangs eine Verbindung zum TCP-Port 113, dem auth-service des Client-Computers, auf. Man spricht von einer Ident-Anfrage. Diese dient Administratoren von Mehrbenutzersystemen dazu, festzustellen, welcher Benutzer den Service verwendet hat. Heimanwender benötigen den Authentifizierungsdienst nicht. Wird die Ident-Anfrage jedoch nicht zurückgesetzt, sondern kommt es, verursacht durch die Firewall, zu einer Zeitüberschreitung der Anfrage, kann dies zu Problemen bei der Anmeldung bei Servern führen.
Ident-Anfrage
Einige Personal Firewalls filtern im Stealth-Modus alle eingehenden Meldungen des „Internet Control Message Protocols“ (ICMP). Besonders der Meldungstyp 3 „Destination Unreachable“ transportiert jedoch wichtige Fehler- und Kontrollnachrichten für gewollte Internetverbindungen. Dazu gehört beispielsweise die Ermittlung der maximalen Paketgröße (MTU für Maximum Transmission Unit), die über ein Netzwerk übertragen werden kann. Wird ICMP gefiltert, kann es zu unerwarteten Netzproblemen kommen. Wenn zum Beispiel Websites von Google Groups oder eBay nicht abgerufen werden können, während andere Websites problemlos funktionieren, deutet dies auf MTU-Probleme hin.
Interessanterweise kann die Strategie, eingehende Anfragen nicht zu beantworten, zu höherem Datenverkehr führen. Viele Anwendungen stellen die Anfrage nämlich erneut, wenn sie keine Antwort oder Fehlermeldung erhalten.
Konfiguration
Die Schutzwirkung, die sich mithilfe einer Personal Firewall erzielen lässt, hängt zu einem hohen Grad von deren sachgemäßen Konfiguration ab.
Die Grundeinstellungen eignen sich häufig nicht für den vom Benutzer gewünschten Einsatzzweck. So stellt beispielsweise ein Fernwartungszugang, wie er von Kerio 2 in der Standardkonfiguration angeboten wird, beim Einsatz der Personal Firewall auf einem Einzelplatzrechner mit Internetzugang nur ein unnötiges Risiko dar.
Die meisten, aber keineswegs alle Produkte blockieren in den Grundeinstellungen den Zugriff von außen auf die vom Rechner angebotenen Netzwerkdienste. Bei der Tiny Personal Firewall muss diese Paketfilterfunktion erst vom Benutzer aktiviert werden, wenn sie benötigt wird.
Mithilfe der Rechtetrennung des Betriebssystems lässt sich die Schutzwirkung einer Desktop Firewall erhöhen. Wird zum Surfen im Internet ein eingeschränktes Benutzerkonto verwendet, läuft Schadsoftware, die dabei unbeabsichtigt ausgeführt wird, ebenfalls nur mit eingeschränkten Rechten und kann die Konfiguration der Personal Firewall nicht manipulieren.
Viele Hersteller raten vom Betrieb von mehr als einer Personal Firewall auf einem Rechner ab, da sich diese gegenseitig behindern können, und daher die Schutzwirkung verloren geht. Wird eine andere Personal Firewall eingesetzt, empfiehlt Microsoft, die bei Windows XP Service Pack 2 mitgelieferte Windows-Firewall zu deaktivieren.
Bei der Konfiguration einer Personal Firewall kann nach verschiedenen Grundhaltungen vorgegangen werden: „Erlaubt ist alles, was nicht ausdrücklich verboten ist“ und „Verboten ist alles, was nicht ausdrücklich erlaubt ist“. Letztere Grundhaltung gilt als sicherer, ist aber schwieriger zu konfigurieren.
Für unerfahrene Benutzer wirkt es oft verwirrend, wenn für unbekannte Prozesse nach einer Regel verlangt wird. Manche dieser Prozesse gehören zum Betriebssystem und sind für Internetverbindungen notwendig. Bei der Definition der Regeln nach der zuletzt genannten Grundhaltung werden zunächst so wenige Prozesse wie möglich freigegeben. Funktioniert danach eine Software nicht mehr wie erwartet, so kann das Log nach gesperrten Verbindungen durchsucht werden, um den zu der behinderten Software gehörenden Prozess freizugeben. Bei unbekannten Prozessen empfiehlt es sich, nach weiteren Informationen zu forschen, um zu klären, wozu dieser Prozess gehört.
Beispiele für Personal-Firewall-Software
Windows
Im Gegensatz zu Windows 98 bringen Windows-NT-basierende Systeme ab NT 4.0 bordeigene Möglichkeiten der Paketfilterung mit. Einerseits stellt IPsec eine Möglichkeit zur regelsatzbasierten Paketfilterung dar, andererseits können in den Eigenschaften der Netzwerkverbindung Filter für eingehende Verbindungen auf bestimmte Ports definiert werden.
Mit Windows XP bis inklusive Service Pack 1 wird die Internet Connection Firewall (ICF) mitgeliefert. Sie kann für einzelne Netzwerkinterfaces aktiviert werden und prüft eingehende Datenpakete dahingehend, ob diese zuvor angefordert worden sind. In der Standardkonfiguration ist die ICF nicht für alle Netzschnittstellen aktiviert. Dies hatte zur Folge, dass viele nicht rechtzeitig gepatchte Windows-XP-Rechner den Internetwürmern Blaster und Sasser zum Opfer fielen.
Mit dem Service Pack 2 für Windows XP wurden die Funktionen der Firewall erweitert, und sie wurde in Windows-Firewall umbenannt. Sie wird bei der Installation des Service Packs 2 oder bei der Windowsinstallation von einem Datenträger mit integriertem (englisch: slipstreamed) Service Pack 2 automatisch aktiviert. Nach außen gerichtete Verbindungen kontrolliert die Windows-Firewall unter Windows XP nicht.
Ab Windows Vista wurde die Funktion der Firewall erneut erweitert: Sie kann ausgehende Verbindungen filtern. Außerdem wurden die bisher von der Windows-Firewall unabhängigen IPsec-Richtlinien integriert, und sie verfügt über einen Fernwartungszugang.
Während es sich bei der hier besprochenen Software für Linux um quelloffene und meist freie Software handelt, dominieren unter Windows Closed-Source-Programme von kommerziellen Anbietern. Es sind jedoch auch einige Open-Source-Projekte für Windows entstanden:
Die iSafer Winsock Firewall, eine Winsock-basierte Personal Firewall, steht unter der GNU General Public License (GPL). PeerGuardian ist ebenfalls unter der GPL lizenziert. PeerGuardian wurde mit dem Ziel entwickelt, Spyware in Peer-to-Peer-Programmen zu blockieren. Version 1 wurde – für Firewallsoftware ungewöhnlich – in Visual Basic programmiert. PeerGuardian 2 ist in C und C++ geschrieben und wurde auch auf unixoide Betriebssysteme portiert. Ebenfalls quelloffen ist die Paketfilter-basierte Personal Firewall NetDefender.
Der unter UNIX übliche Ansatz, eine Personal Firewall aus Einzelkomponenten zusammenzusetzen, ist auch unter Windows möglich. Auch für Windows existiert reine Paketfiltersoftware: WIPFW ist ein Port der FreeBSD IPFW für Windows. PktFilter, ein Produkt des französischen IT-Sicherheits-Unternehmens „Hervé Schauer Consultants“, ist unter der BSD-Lizenz erhältlich und verwendet eine Syntax, die IPFilter ähnlich ist.
Linux und andere unixoide Betriebssysteme
Ein Computer, auf dem Unix oder ein Unix-Derivat als Betriebssystem eingesetzt wird, lässt sich ebenfalls durch einen hostbasierten Paketfilter absichern. Viele für Personal Firewalls typische Funktionen lassen sich mit Software hervorrufen, die für UNIX erhältlich ist.
Der grafische Regelgenerator Firewall Builder (Fwbuilder) läuft auf mehreren Betriebssystemen und unterstützt verschiedene Paketfilter. Obwohl Firewall Builder vorwiegend für den professionellen Einsatz gedacht ist, existieren Anleitungen (Howtos) zum Einrichten einer Personal Firewall mithilfe dieses Programms. Zur Protokollierung kommt unter unixoiden Betriebssystemen meist syslog zum Einsatz. Die meisten Syslog-Implementierungen können über Unix Domain Sockets kommunizieren, wenn sie lokale Logdateien anlegen. Ein beliebtes Intrusion Detection System ist Snort. In eine Sandbox lassen sich Anwendungen, die für eine Kompromittierung anfällig sind, mithilfe von chroot oder Jails sperren. Anwendungskontrolle ist mithilfe von Mandatory Access Control (MAC) möglich. Implementierungen sind beispielsweise SELinux, Trusted Solaris und Systrace. Systrace ist Bestandteil von NetBSD, OpenBSD und OpenDarwin. Es wurde auf Linux und Mac OS X portiert. Als Content-Filter lassen sich der Web-Cache-ProxySquid in Verbindung mit SquidGuard oder DansGuardian einsetzen.
Linux
Linux enthält den Paketfilter Netfilter. Das konsolenbasierte Standard-Frontend dafür heißt iptables. Als grafisches Frontend für iptables gibt es Programme wie KMyFirewall und Guarddog für KDE und Firestarter für den Gnome-Desktop. Firestarter ist übersichtlich und einfach zu bedienen, erlaubt aber dennoch umfangreiche Einstellmöglichkeiten, wie das Filtern bestimmter ICMP-Typen, oder das Zurückweisen von Paketen mit einer Fehlermeldung. Anwender können selbst Module schreiben, um das Programm zu erweitern. Viele Linux-Distributionen bringen eigene Werkzeuge zur Einrichtung des Paketfilters mit: Die SuSEfirewall beispielsweise ist eine Skriptsammlung für iptables. Sie kann mit dem grafischen Installations- und Konfigurationswerkzeug YaST (Yet another Setup Tool) eingerichtet werden.
Anwendungsbasiertes Filtern war mit iptables mithilfe des Moduls Owner Match möglich. Der Befehl
erlaubt nur die Verbindung mit dem Programm ssh nach außen. Das Modul wurde ab der Kernelversion 2.4.20 Teil des offiziellen Linux-Kernels. In der Kernelversion 2.6.14 wurde es wegen Problemen auf Symmetrischen Multiprozessorsystemen wieder aus dem Kernel entfernt. Eine Alternative zu Owner Match ist NuFW.
Die Personal Firewall TuxGuardian beruht auf den Linux Security Modules (LSM) des Linux-Kernels 2.6. TuxGuardian erlaubt Anwendungskontrolle und kann mit dem Benutzer über Dialogfenster interagieren.
Fireflier ist ebenfalls eine Personal Firewall, die sowohl detailliert interaktiv konfiguriert werden kann als auch eine mit IP-Adressen und -Ports kombinierte Anwendungskontrolle erlaubt. Sie stellt sowohl für KDE wie GNOME ein Clientprogramm zur Verfügung. Mit der Oberfläche lassen sich individuelle iptables-Regeln festlegen, inklusive Stateful Inspection.
Eine Personal Firewall mit grafischer Bedienoberfläche ist auch in dem kommerziellen und größtenteils proprietären Linux-Sicherheitssoftware DesktopSecure des Unternehmens Panda Security enthalten.
FreeBSD
FreeBSD bringt mit dem Skript rc.firewall einen vorgefertigten Regelsatz für den PaketfilterIPFirewall (ipfw) mit. Für den Schutz eines Einzelplatzrechners mit Internetzugang kann das rc.firewall-Skript mit der Option „client“ aufgerufen werden. Das Benutzerhandbuch des Betriebssystems enthält Beispielkonfigurationen für den Host-basierten Einsatz der Paketfilteralternativen IPFilter (ipf) und pf. Benutzer, die Konfigurationswerkzeuge mit grafischer Bedienoberfläche bevorzugen, finden einige wenige Programme in den Ports: Die Qt-Firewall (qtfw) ist ein Frontend für die IPFirewall.
Mit der Implementierung von MAC unter FreeBSD befasst sich das Projekt TrustedBSD.
Mac OS X
macOS enthält ebenfalls den Paketfilter IPFirewall (ipfw). Bekannte grafische Frontends für diesen Paketfilter unter OS X sind die Shareware-Programme Firewalk der Firma Pliris LLC, Flying Buttress von Brian Hill, das vor der Version 1.4 unter dem Namen BrickHouse erhältlich war, sowie das Open-Source-Programm WaterRoof. In den Betriebssystemversionen 10.2 (Jaguar) bis 10.4 (Tiger) ist ein grafisches Frontend für ipfw im Betriebssystem enthalten.
Bei Mac OS X 10.5 (Leopard), das am 26. Oktober 2007 erschien, wurde die Application Firewall eingeführt. Wie der Name bereits andeutet, filtert sie anwendungsbasiert, wobei die Anwendungen anhand Digitaler Signaturen erkannt werden. Die Hauptaufgabe der Application Firewall besteht darin, eingehende Verbindungen zu dem Rechner, auf dem sie läuft, zu kontrollieren. Laut Apple soll die anwendungsbasierte Filterung dem Benutzer die Konfiguration erleichtern, da dabei kein Wissen über von der Anwendung verwendeten Ports und Protokolle erforderlich sei.[14] Die Application Firewall verfügt über eine grafische Bedienoberfläche; dagegen ist die ipfw ab Version 10.5 des Betriebssystems nur mehr über die Kommandozeile oder mit Hilfe von grafischen Frontends anderer Hersteller konfigurierbar.
In Artikeln vom 29. Oktober[15] und 8. November 2007[16] wurde auf Heise online kritisiert, dass die Application Firewall in den Grundeinstellungen des Betriebssystems nicht aktiv ist und dass es bei Mac OS X 10.5 in der Einstellung „Alle eingehenden Verbindungen blockieren“ Ausnahmen für Programme gab, die mit root-Rechten laufen. So waren beispielsweise der Samba-Server (nmbd), mdnsresponder und der Zeitserver (ntpd) trotz aktiver Application Firewall von außen erreichbar.
Als Reaktion auf die Kritik wurde in der am 15. November 2007 erschienen Aktualisierung auf 10.5.1 die Einstellung von „Alle eingehenden Verbindungen blockieren“ auf „Nur wesentliche Dienste zulassen“ umbenannt. Außerdem wurde die Zahl der Ausnahmen verringert. Beispielsweise wird nach der Aktualisierung der Zugriff auf Samba von der Application Firewall blockiert, wenn diese aktiv ist. Die Aktualisierung beseitigte auch Probleme mit der Internet-Telefonie-Software Skype und dem Computerspiel World of Warcraft. Unter Mac OS X 10.5 konnten beide Programme nicht mehr gestartet werden, wenn sie zuvor von der Application Firewall signiert worden waren.
Das kommerzielle Programm Little Snitch hat sich auf das anwendungsbasierte Filtern ausgehender Verbindungen spezialisiert – jene Funktion, die ipfw nicht bietet. Little Snitch kann interaktiv über Dialogfenster konfiguriert werden. Diese Fenster erscheinen und informieren den Benutzer, wenn eine Anwendung eine Verbindung (z. B. ins Internet) herstellt (siehe Lernmodus).
Literatur
William R. Cheswick, Steve M. Bellovin, Aviel D. Rubin: Firewalls und Sicherheit im Internet. Addison-Wesley, München 2004, ISBN 3-8273-2117-4
Lisa Yeo: Personal Firewalls for Administrators and Remote Users. Prentice Hall PTR, New Jersey 2003, ISBN 0-13-046222-5
Zwicky, Cooper, Chapman: Einrichten von Internet Firewalls. O’Reilly, Köln 2001, ISBN 3-89721-169-6
↑Jürgen Schmidt: Der Spion der aus dem Inneren kam. Warum Personal Firewalls als Detektiv versagen. In: c’t, 2006, Heft 17 (Memento vom 16. Oktober 2007 im Internet Archive), S. 108–110, 7. August 2006