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.

450px|mini|Firewall-Prinzip; unerwünschte Daten werden ausgefiltert (rot), gewünschte Daten (blau) kommen an

Zweck und Funktionsweise 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.Dirk Knop: Surfen ohne Reue? In c’t Magazin, 2, 2006, S. 166 Insbesondere existieren Techniken, um Ports durch Firewalls zu öffnen, die auch von Instant-Messenger-Programmen wie Skype verwendet werden.heise.de

Grundlegende Funktionen 340px|mini|Erstellen einer Paketfilter-Regel mit einem grafischen Frontend (Firestarter)

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.

340px|mini|Interaktiver Dialog von Fireflier 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.

450px|mini|Stateful Inspection: die Eigenschaften ausgehender Datenpakete werden in einer Statustabelle gespeichert. Mit dieser werden eingehende Datenpakete verglichen 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“.

mini| Log dargestellt von Firestarter: Der Rechner mit der IP-Adresse 10.0.0.140 versuchte, auf Port 80 zuzugreifen. Diese Verbindungsversuche wurden vom Paketfilter blockiert und mit einer Fehlermeldung beantwortet. 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.

Ein Fernwartungszugang kann zur Administration einer Personal Firewall auf einem Endgerät im Netzwerk durch den Netzadministrator dienen.

Abgrenzung zur Firewall 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.

450px|mini|Hardware-Firewall, Gateway-Firewall, Firewall-Gateway oder kurz Firewall: Sie befindet sich zwischen verschiedenen Rechnernetzen und beschränkt den Zugriff zwischen diesen Netzen 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.