Systeme   Security   Betriebssysteme   Netzwerk   Hardware   Kommunikation 
  • Firewalls

    Eine Firewall (von engl. firewall ?die Brandwand?) ist ein System aus Software- und Hardwarekomponenten, das den Zugriff zwischen verschiedenen Rechnernetzen beschränkt, um ein Sicherheitskonzept umzusetzen.

    Hardwarekomponenten einer Firewall sind Rechner mit Netzwerkschnittstellen wie Router oder Hosts; Softwarekomponenten sind beispielsweise Paketfilter oder Proxyserver. Ein häufiger Einsatzzweck einer Firewall besteht darin, den Datenverkehr zwischen einem zu schützenden lokalen Netzwerk (LAN) und dem Internet zu kontrollieren.

    Firewalls sitzen an den Schnittstellen zwischen einzelnen Netzen oder Computersystemen und kontrollieren den Datenverkehr zwischen den Teilbereichen, um ungewünschten Verkehr zu verhindern und nur den gewünschten Verkehr passieren zu lassen. Der häufigste Einsatz einer Firewall besteht darin, den Verkehr zwischen einem lokalen Netz (LAN) und dem Internet zu kontrollieren. Ein komplexes Szenario stellt die Demilitarized Zone (DMZ) dar. Prinzipiell rechtfertigt nicht nur der Übergang LAN-Internet den Einsatz einer Firewall. Auch zwischen zwei oder mehreren organisationsinternen Netzen kann eine Firewall verwendet werden, um dem unterschiedlichen Schutzbedarf der Zonen Rechnung zu tragen.

    Dementsprechend besitzt eine Firewall zwei wesentliche Aufgaben:

    • Unterbinden von ungewolltem Datenverkehr von externen Computersystemen zum geschützten Bereich
    • Unterbinden von ungewolltem Datenverkehr vom geschützten Bereich zu externen Systemen

    Rund um das Thema Firewall existieren viele Begriffe, die teilweise richtig sind, aber sehr oft nur die halbe Wahrheit vermitteln. Umgangssprachlich ist mit einer Firewall häufig die Software gemeint, welche den Datenverkehr zwischen den getrennten Bereichen kontrolliert und regelt. Man muss also zwischen dem (Sicherheits-)Konzept Firewall und der konkreten Realisierung der Firewall unterscheiden. Das Sicherheitskonzept beschreibt Regeln, welche Informationen die Firewall passieren dürfen und welche nicht. Realisiert wird das Konzept durch eine Software, die auf einer (oftmals speziellen) Hardware läuft. Die Hardware ist dabei für das Empfangen und Senden der einzelnen Datenpakete zuständig (und somit eigentlich kein sicherndes Element) und die Software regelt den Verkehr. (Was wird durchgelassen? Was wird nicht durchgelassen?) Dabei ist die Hardware häufig wie bei anderen Netzwerkelementen (Routern oder Gateways) auch für die Aufgabenstellung optimiert (schnelle Prüfung von Paketen, hochperformantes Empfangen und Senden von Paketen, etc.).

    Prinzipiell trennt man die Firewalltypen spezifisch, d.h. eine Softwarefirewall sichert einzelne PC´s und Workstations, da sie als Software auf den Systemen installiert ist. Eine Hardwarefirewall schützt Hardware, also das Netzwerk als solches. Dies hat nicht zwangsweise was mit der Technik zu tun, es dient nur der Begrifflichkeitenerklärung.

    Host-Firewall (Software) und Netzwerk-Firewall (Hardware)

    Umgangssprachlich wird häufig von Hardware- oder Software-Firewall gesprochen. Bei dieser Unterscheidung handelt es sich in erster Linie um eine nicht-technische Definition. Die Unterscheidung von Hard- und Software-Firewall ist technisch gesehen unsinnig. Zu jeder Firewall gehört Software, und diese muss auf Hardware ausgeführt werden. Fälschlicherweise werden dedizierte Router, auf denen die Firewallsoftware ausgeführt wird, als Hardware-Firewall bezeichnet. Personal Firewalls werden oft als Software-Firewall bezeichnet, aber auf dem PC ausgeführt. Sie benötigen also den PC als Hardware.

    Wichtiger als die Bezeichnung als Hard- oder Software-Firewall ist das zugrunde liegende Betriebssystem. Software-Firewalls werden wie oben beschrieben auf PC's installiert und sind dadurch natürlich auch von den Sicherheitslücken des Betriebssystems betroffen. Hardware-Firewalls können auch auf Standard-Betriebssystemen beruhen (dort in der Regel Unix) und somit auch von Problemen dieser Betriebssysteme betroffen. Dazu kommen noch Bugs und Sicherheitslücken in der eigentlichen Firewall-Software.

    Es gibt jedoch auch Hardware-Firewalls, welche mit einem speziell dafür entwickeltem Betriebssystem funktionieren, das heißt, das Betriebssystem ist gleichzeitig auch die Firewall-Software. Auch diese kann natürlich Bugs und Sicherheitslücken enthalten, jedoch fällt die zusätzliche Fehlerquelle (Betriebssystem / Firewall-Software) durch die einheitliche Struktur (Firewall-Betriebssystem) weg.

    Hardware-Firewalls werden deshalb als sicherer angesehen als Software-Firewalls.

  • Proxies

    Ein Proxy oder Proxyserver (von engl. proxy representative = Stellvertreter, bzw. lat. "proximus" = "Der Nä(c)hste") ist ein Dienstprogramm für Computernetze, das im Datenverkehr vermittelt. Es macht den Datentransfer effizienter (weniger Netzbelastung durch große Datenmengen) bzw. schneller, kann aber auch die Sicherheit erhöhen.

    Die Vermittlung erfolgt zwischen Computern oder Programmen in so genannten Rechnernetzen. Aus Sicht des Servers verhält sich der Proxy wie ein Client, dem Client gegenüber wie ein Server.


    Funktion von Proxy-Servern

    Im einfachsten Fall leitet der Proxy die Daten einfach weiter. Hier ist von der Existenz des Proxys nichts zu spüren (Transparenter Proxy). In der Regel meint man bei der landläufigen Verwendung des Begriffes Proxy einen HTTP-Proxy, der zwischen Webbrowser (Client) und Webserver vermittelt. Hier hat der Proxy eine oder mehrere der folgenden Funktionen:


    Zwischenspeicher (Cache)

    Der Proxy kann gestellte Anfragen bzw. vielmehr deren Ergebnis speichern. Wird die gleiche Anfrage erneut gestellt, kann diese aus dem Speicher beantwortet werden, ohne zuerst den Webserver zu fragen. Der Proxy stellt sicher, dass die von ihm ausgelieferten Informationen nicht allzu veraltet sind. Eine vollständige Aktualität wird daher in der Regel nicht gewährleistet. Durch das Zwischenspeichern können Anfragen schneller beantwortet werden, und es wird gleichzeitig die Netzlast verringert. Beispielsweise vermittelt ein Proxyserver einer Firma den gesamten Datenverkehr der Computer der Mitarbeiter mit dem Internet.

    Filter

    Mittels Proxys können beispielsweise bestimmte Kategorien von Webseiten für den Benutzer gesperrt oder Zugriffe darauf protokolliert werden. Es kann auch der Inhalt auf schädliche Programme durchsucht werden. Somit ist ein Proxy meist Teil eines Firewall-Konzepts.

    Trennung von lokalem Netz und Internet

    Normalerweise wird man Rechnern im lokalen Netz keinen direkten Internetzugang erlauben. Der Proxy bildet dann die Schnittstelle zwischen beiden Netzen.

    Zugriffssteuerung

    Ist der Server nicht frei im Internet erreichbar, so kann ein vorgeschalteter Proxy den Zugriff ermöglichen. Ein Angreifer kann dann den Server nicht mehr direkt angreifen, sondern nur den Proxy. Es kann auch der Zugriff von Clients auf Webserver nur über einen Proxy ermöglicht werden.

    Vorverarbeitung von Daten

    Proxys können auch gewisse Applikationsfunktionen übernehmen, beispielsweise Daten in ein standardisiertes Format bringen.

    Anonymisierungsdienst

    Der Proxy leitet die Daten des Clients zum Server weiter, wodurch der Server die IP-Adresse des Clients nicht auslesen kann. Siehe auch: Anonymität im Internet

    Bandbreitenkontrolle

    Der Proxy teilt verschieden Benutzern/Gruppen je nach Auslastung unterschiedliche Ressourcen zu. Der Proxyserver Squid beherrscht dieses Verfahren.

    Strukturell/logisch liegt der Proxyserver zwischen anfragendem Client und dem angefragten Server, zu dem er vermittelt. Der strukturell Nächste ist hier aber nicht notwendigerweise auch der räumlich Nächste.

    Proxys sind generell für jedes verbindungsorientierte Protokoll möglich. Häufig werden sie für die folgenden Protokolle verwendet:

    • HTTP: Die meisten Provider bieten ihren Kunden die Verwendung eines Proxys an. Dadurch wird die Netzlast verringert und der Zugriff beschleunigt. In Firmen hingegen wird über solche Proxys oft das Surfverhalten der Mitarbeiter eingeschränkt bzw. kontrolliert.

    • SMTP: Manche Firewalls bieten einen SMTP-Proxy an, der den Mailverkehr zwischen Internet und Mailserver überwacht und bestimmte gefährliche bzw. unerwünschte Befehle ausfiltert. Durch das Design des SMTP-Protokolls ist jeder SMTP-Server auch als SMTP-Proxy verwendbar.

    • Application-Level-Proxy (z. B. Squid): Ein Proxy, der auf ein bestimmtes Server-Programm zugeschnitten ist und nur dessen Protokoll erkennt. Diese Form eines Proxys wird oft dazu verwendet, den eigentlichen Server in ein geschütztes Netz zu stellen und nur durch den Proxy erreichbar zu machen. Auf diese Art ist der Server weitgehend vor Angriffen geschützt. Die Proxy-Software ist weit weniger komplex und daher auch sicherer gegen Angriffe. Dies wird z. B. oft bei Online-Shops angewendet: Der Webserver befindet sich samt Proxy im Internet und greift auf die Datenbank mit Kundendaten hinter einer Firewall zu.

    • Circuit-Level-Proxy (z. B. SOCKS): Ein Proxy für beliebige Ports, bei dem Programme zur Authentifikation zwischengeschaltet werden können.

    Der denkbar einfachste Proxy ist das Linux-Programm Redir, das auf einem Interface und einem Port lauscht und die Daten auf ein anderes Interface und Port weitergibt.

  • VPN (Virtual Privat Network)

    Ein Virtual Private Network (VPN) (dt.: Virtuelles Privates Netz) ist ein Computernetz, das zum Transport privater Daten ein öffentliches Netz (zum Beispiel das Internet) nutzt. Teilnehmer eines VPN können Daten wie in einem internen LAN austauschen. Die einzelnen Teilnehmer selbst müssen hierzu nicht direkt verbunden sein. Die Verbindung über das öffentliche Netz wird üblicherweise verschlüsselt. Der Begriff ?Private? impliziert jedoch nicht, wie vielfach angenommen, dass es sich um eine verschlüsselte Übertragung handelt. Eine Verbindung der Netze wird über einen Tunnel zwischen VPN-Client und VPN-Server (Concentrator) ermöglicht. Meist wird der Tunnel dabei gesichert, aber auch ein ungesicherter Klartexttunnel ist ein VPN.

    IP-VPNs nutzen das Internet zum Transport von IP-Paketen unabhängig vom Übertragungsnetz, was im Gegensatz zum direkten Remote-Zugriff auf ein internes Netz (direkte Einwahl beispielsweise über ISDN, GSM, ...) wesentlich flexibler und kostengünstiger ist.

  • Tunneling

    Ein Tunnel bezeichnet in der EDV das Übertragen der Daten eines Netzwerkprotokolls, eingebettet in ein anderes Netzwerkprotokoll. Tunnel werden verwendet um gesicherte, verschlüsselte Verbindungen über ungesicherte Computernetze aufzubauen (siehe VPN) oder um Firewalls und andere Sicherheitsmaßnamen zu umgehen.

    Die Sicherheit von verschlüsselten Tunneln steht und fällt mit den dabei verwendeten Verschlüsselungsverfahren. Getunnelte Verbindungen gelten daher nur so lange als sicher, wie die dabei verwendeten Verschlüsselungsverfahren als ausreichend stark angesehen werden. Nur so ist es dann eher unwahrscheinlich, dass der Datenfluss innerhalb eines Tunnels von außen mitgelesen werden kann.

    Ein Aspekt, der leider ? besonders im Geschäftsverkehr (B2B) ? oft übersehen wird, ist, dass sich die Partner, die sich mit einem Tunnel verbinden, gegenseitig vertrauen müssen. Weil es heute keine praktikable Möglichkeit gibt, von außen zu untersuchen, was in einem Tunnel passiert, ist es für Firewalls und Protokollanalyzer nicht möglich, ein System vor Angriffen seitens eines Kommunikationspartners zu schützen.

    So ist es möglich und weit verbreitet, Datenübertragungen zwischen Geschäftspartnern über getunneltes FTP durchzuführen oder über andere Protokolle, die in einem Tunnel laufen. Problematisch ist dieses Vorgehen deshalb, weil es keine Möglichkeit gibt, den angeschlossenen Partner, daran zu hindern, etwas ganz anderes zu machen als abgesprochen wurde. Denn der Tunnel für die FTP-Verbindung gewährt nicht nur Zugriff auf den FTP-Server, sondern zum gesamten System.

    Alle Server und andere Dienste, die auf dem System absichtlich oder zufällig (infolge nachlässiger Administration) laufen, stehen den hineingetunnelten Kommunikationspartnern uneingeschränkt zur Verfügung. Einmal eingerichtet, stellt eine solche Verbindung also ein Sicherheitsrisiko für die verbundenen Systeme dar, weil der Tunnel von allen sonst wirkungsvollen Sicherheitsmechanismen (Firewall, Router, Authentisierung, Autorisierung) unangetastet bleibt. Einmal durch den Tunnel verbunden, vertraut das System dem fremden Partner ebenso wie einem Benutzer, der unmittelbar an der Tastatur des Systems innerhalb des Rechenzentrums sitzt.

    Während also z. B. über TLS gesicherte FTP-Verbindungen mit einem Briefkasten vergleichbar sind, in dem der Postbote Sendungen hinterlegen kann, ist ein Tunnel vergleichbar damit, dem Postboten den Wohnungsschlüssel zu überlassen.