IPFire als Proxyserver in einem Windows-Netzwerk

Proxy-Server sind in Unternehmen immer noch verbreitet: Als Stellvertreter („Proxy“) leiten sie Anfragen ins Internet gebündelt weiter. Dabei werden meistens auch Sicherheitsmechanismen wie URL-Filter, Dateityp-Blockaden oder Malwarescans durchgeführt.

Lange Zeit war Microsoft mit dem ISA-Server, später TMG oder auch UAG, ein großer Player auf dem Markt. Nachdem der Softwareriese aus Redmond seine Produkte jedoch abgekündigt hat, begann für viele das große Suchen nach einer Alternative.

Kommerzielle Produkte gibt es zahlreiche auf dem Markt: Der WinGate-Proxy Server bietet eine Windows-typische Oberfläche mit gutem Funktionsumfang. In Sachen Performance muss jeder selbst entscheiden, ob dies das richtige Produkt ist.
Gatewayhersteller wie Sophos bieten ein eigenes Gatewayprodukt an, aber auch die Sophos XG Firewall eignet sich in begrenztem Maße zur Absicherung. McAfee bietet das McAfee Web Gateway an, Cisco die Web Security Appliance, Barracuda ein Web Security Gateway, Trend Micro die Trend Micro Web Security, Symantec das Symantec Secure Gateway, Fortinet den Fortiproxy, Forcepoint die Forcepoint Web Security usw.

Wer allerdings nur einen „einfachen“ Proxyserver sucht, der die Berechtigung ins Internet regelt und einige rudimentäre Security-Features implementiert, wird sich vielleicht auch mit einem kostenlosen Produkt aus der Open Source-Ecke zufrieden geben. Auch dort gibt es Business-Versionen mit entsprechenden Support-Verträgen, die im Produktivumfeld in jedem Fall zu empfehlen sind.

Die Produkte OpnSense und pfSense sind dabei sicher einen Blick wert. Leider haben diese beiden Open-Source-Suiten ein Problem: Eine Single-Sign-On Lösung für ein Netzwerk mit einem Active Directory bieten sie nicht.
(Disclaimer: Wer den Linux-Unterbau dieser Suiten auseinander nimmt, wird mittels Samba und einem Domänen-Join und anschließend manueller Squid-Konfiguration sicher auch mit diesen Produkten eine Proxy-Konfiguration mit Active-Directory Single Sign on erreichen – ob diese Konfig jedoch einem Release-Update standhält, steht auf einem anderen Blatt. Meine Aussage bezieht sich auf eine Lösung, die über die Web-GUI zu konfigurieren ist.)

IPFire bietet die Lösung

IPFire ist eine Open Source Firewall, die als ISO-File kostenlos heruntergeladen werden kann. Unter der Haube arbeitet (natürlich) ein Linux-System. Die Proxy-Funktionalität wird dabei über Squid hergestellt.

Installation & Konfiguration für Squid – Active Directory Single Sign on

Zunächst muss die IPFire-Installation vollständig durchgeführt und die Netzwerkkarten konfiguriert werden (GRÜN=LAN, ROT=WAN).

Damit der Proxy funktioniert, muss zunächst eine Firewall-Regel erstellt werden, um den Traffic durchzulassen. Hierzu muss unter Firewall/Firewallregeln, Button Neue Regel erstellen als Quelle „Firewall: GRÜN“ ausgewählt werden. Soll der Proxyserver als Stellvertreter arbeiten (d. h. die Clients sollen nicht mit ihrer IP, sondern mit der IP-Adresse des Proxy-Servers beim nächsten HOP aufschlagen), muss natürlich NAT aktiviert werden (Source-NAT, Quelle: Grün). Als Ziel muss „Standard-Netzwerke: Alle“ ausgewählt werden. Wer eine Prokollierung wünscht, muss den Haken entsprechend aktivieren.

IPFire braucht eine Firewall-Rule, damit der Proxy-Traffic auch durchgelassen wird

Samba
Als nächstes muss das Samba-Paket installiert werden. Dazu gehen sie in das Menü IPFire/Pakfire. wählen unter „Verfügbare Addons“ Samba aus und installieren das Paket inkl. aller notwendigen zusätzlichen Pakete.

Samba kann nun konfiguriert werden über das Menü IPFire/Samba.

Die meisten Einstellungen können sie so belassen, Änderung sind an folgenden Stellen erforderlich:

  • Arbeitsgruppe: Lautet ihrer Domain firma.local, tragen sie hier firma ein.
  • Netbios Name: Tragen sie Namen für den Proxy ein
  • Sicherheitsoptionen: ADS

Klicken Sie nun auf das Speichern-Symbol.

Auf der Seite erscheint ein neuer Bereich „Einer Domäne beitreten“. Tragen Sie hier den Domainnamen, einen Domänenadministrator nebst zugehörigem Passwort ein und klicken sie auf Domäne beitreten.

Die Seite wird abermals neu geladen – ganz oben sollte nun eine Erfolgmeldung stehen.

Squid einrichten

Als letztes erfolgt nun die Einrichtung von Squid selbst. Über den Menüpunkt „Netzwerk/Webproxy“ gelangt man auf die Einstellungsseite.

Der Proxy wird in diesem Beispiel als „echter“ Stellvertreter agieren. Die Proxyfunktion muss auf der Netzwerkschnittstelle Grün aktiviert werden. Den Proxyport kann man frei wählen – dieser muss später allerdings auch so an die Browser verteilt werden.

Entscheidend für das Sigle-Sign on ist die Einstellung unter „Authentifizierungsmethode“ (ganz unten auf der Seite): hier muss Windows Active Directory ausgewählt sein.

Durch einen Klick auf Speichern und Neustart sollte der Proxy nun wunschgemäß funktionieren.

Finetuning – Den IPFire-Proxy sicherer machen

Der Proxy läuft, doch noch sind so gut wie keine Sicherheitsmaßnahmen implementiert. Ein guter Proxyserver sollte von Hause aus Funktionen mitbringen, die das Netzwerk sicherer machen. IPFire kann dies auch.

Mimetype-Filter – unsichere Dateidownloads verhindern

Eine einfache Methode, Gefahren aus dem Netzwerk zu verbannen ist, verdächtige Dateitypen gar nicht erst zum Download zuzulassen.
IPFire/Squid verfügt über einen MIME-Type Filter, der für diesen Zweck eingesetzt werden kann. Dazu muss zunächst im Menüpunkt Netzwerk/Web-Proxy die Option „MIME-Type Filter“ aktiviert werden. Nach dem Klick auf Speichern und Laden erscheint unter dieser Option ein Dialogfeld, in dem die einzelnen MIME-Types hinterlegt werden müssen. Eine Liste von MIME Types findet man z. B. hier.

Meine Empfehlungen dazu sind:

application/msexcel
application/mshelp
application/x-sh

URL-Filter – nochmal Dateien blockieren…

Über Netzwerk/URL-Filter lassen sich nun Kategorien von Websites filtern. Aus reiner Sicherheitssicht sind hier die Kategorien „Spyware“ und „Warez“ sicher interessant. Wer sein Netzwerk noch weiter einschränken möchte, kann dies über weitere Kategorien erledigen. Manuelle Blacklisten für Domains oder URLs helfen ebenso.

Unter „Sperrung von Dateierweiterungen“ lässt sich die Sperre für ausführbare Dateien aktivieren. Das bringt noch einmal mehr Sicherheit, verhindert aber auch Downloads von Programmen (hier müsste man mit Whitelisting arbeiten)

Sperre „ausführbare“ Dateien – war das genau heißt, wird an dieser Stelle leider nicht erklärt.

Squidclamav – Scannen in https?

Bisher haben wir uns bei den Sicherheitseinstellungen mit den Meta-Daten befasst. Will man auch inhaltlich in den Datenstrom schauen und mit einem Malware-Scanner arbeiten, würde sich das Modul Squidclamav anbieten (Installation über das Menü IPFire/Pakfire) – aber hier kommen wir schon zu einem der großen Knackpunkte von IPFire: Die fehlende SSL Inspection.
Nahezu fast alle Suiten dieser Arten bieten den Content-Scan im SSL-Datenstrom an (SSL Deep Inspection), IPFire tut das nicht. Und das, obwohl Squid über eine entsprechende Funktion verfügt. Liest man ein wenig im IPFire-Forum, so findet man Beiträge der Core Developer, die darauf hindeuten, dass es sich dabei um eine Philosophie-Frage handelt – meines Erachtens ist ein Scannen im SSL-Strom zwingend erforderlich.

Wer trotzdem das Modul SSLBump von Squid aktivieren möchte, dem sei diese Anleitung ans Herz gelegt (untested). Aber mit dieser Warnung: Dabei wird „unter der Haube“ von IPFire rumgefrickelt. Ob das System dann nach eine Release-Wechsel immer noch einwandfrei funktioniert, ist nicht gesagt. Die Wartbarkeit wird damit ebenfalls nicht erhöht.

Fazit

Als Proxy-Server, der nicht großartig mit verschalteten AD-Gruppen umgehen muss, kann IPFire durchaus auch von Windows-Administratoren ohne tiefgreifende Linux-Kenntnisse gewartet werden. Zu einem Security-Gateway wird das System aber erst dann, wenn SSL-Inspection aktiviert wird. Dieses Feature haben die Entwickler (derzeit) nicht vorgesehen – es lässt sich manuell nachziehen. Hierbei wird aber im Subsystem „herumgestochert“. Wer Linux kennt, wird damit keine Probleme haben. Inwieweit ein solcher „Tweak“ Auswirkungen auf spätere IPFire-Update haben wir, ist aber nicht klar.