TASTE-OF-IT

pfSense – Squid als Transparenter Proxy mit Antivirus funktion für HTTP

pfSense Logo

pfSense Logo

System ist die Open Source Firewall pfSense in der aktuellen Version 2.2 (amd64) auf FreeBSD 10.1-Release-p4. Alles läuft virtuell als KVM, ohne zusätzliche CF Karte oder ähnlichem.

Aktuell sind keine weiteren Pakete installiert, die Firewall läuft als “einfache Firewall” mit Traffic Shaping vor dem Internet als Trennung ins interne Netzwerk.

Ziel soll es sein Squid als transparenten Webproxy zur Performancesteigerung mit der zusätzlichen Funktion des Antivierenfilters für den HTTP Webtraffic einzusetzen.

Nachfolgend eine kurze Anleitung zur Installation und groben Einrichtung – Feintuning liegt dann an jedem selbst. Ich werde es in 2 Schritten erklären und mit der Installation von Squid beginnen. Wenn der Proxy läuft, kümmern wir uns um die Antivirus Funktion. Also ab ins Menü der Packages

pfSense Menue Packages

Installation von Squid (Stable 2.7.9 pkg v4.3.6)

Vor der pfSense Version 2.2 hatte ich das Packet Squid3 (3.4.10_2 pkg 0.2.6) installiert. Mit dem Update auf pfSense 2.2 wurde auch die freeBSD Version angehoben, sodass es jetzt nur noch das Packet Squid gibt.

pfSense Package Squid

Zur Installation rechts auf den Button klicken. Danach die Installation mit dem Button Confirm bestätigen und warten.

pfSense Package Squid Instal

Am Ende wird, hoffentlich, Success angezeigt.

Konfiguration von Squid

Am Ende sollen die Prozesse wie folgt aussehen, wobei dies ein aktuellerer Screen meines Systems ist. Die Services von c-icap, Clamd und Squid müssen laufen.

pfSense – Services Status

Im Menü über Services -> Proxy Server aufrufen

pfSense Menue Services Proxy Server

Im Proxy Squid gibt es diverse Konfigurationsmöglichkeiten. Nachfolgen das Menü mit den Punkten General, Remote Cache, Local Cache, Antivirus, ACLs, Traffic Mgmt, Authentication, Users, Real time, Sync.

pfSense Squid Menue

Squid Proxy – Reiter General

Nachfolgend meine Optionen als Schnellkonfiguration

Squid General Settings

pfSense Squid Generell Settings

Transparent Proxy Settings

pfSense Squid Transparent Proxy Settings

SSL man in the middle Filtering -> deaktiviert, da hier vorerst nur HTTP konfiguriert wird

Logging Settings

pfSense Squid Logging Settings

Custom Settings -> keine

Button Save

Squid Proxy – Reiter Remote Cache

Wird von mir nicht genutzt -> unkonfiguriert

Squid Proxy – Reiter Local Cache

Die ist der Kern von Squid. Hier kann festgelegt werden wieviel und was im lokalen Cache, bei mir also auf der Festplatte landet. Dies kann die Performance steigern oder aber zum Zusammenbruch des Systems führen ;). Also passt die nachfolgenden Werte auf eure Anforderungen und vor allem eure Hardware -ressourcen an. Hier sind die Festplattengröße und der RAM entscheidend, was sich letztendlich auch auf die CPU auswirkt.

Squid Cache General Settings

pfSense Squid Cache General Settings

Squid Hard disk cacheSettings

pfSense Squid Hard disk Cache Settings

Squid Memory Cache Settings

pfSense Squid Memory Cache Settings

Dynamic and Update Content

pfSense Dynamic Update Content

Button Save

Squid Proxy – Reiter Antivirus

Ja ist interessant, aber Geduld ich komme unten als finales Highlight darauf zu sprechen ,)

Squid Proxy – Reiter Traffic Mgmt

Squid Traffic Managment Settings

pfSense Squid Traffic Management Settings

Squid Transer Extension Settings

pfSense Squid Transfer Extension Settings

Squid Transfer Quick Abort Settings

pfSense Squid Quick Abort Settings

Button Save

Squid Proxy – Reiter Authentication

Hier habe ich aktuell keine Methode hinterlegt. Der Proxy ist somitfür jeden für das interne Lan transparent zugänglich.

Squid Proxy – Reiter Users

Dieser Reiter ist ebenfalls unkonfiguriert

Squid Proxy – Reiter Real time

Hier kannst du jeder Zeit sehen, was von und an wem im LAN/WAN durch deinen Proxy läuft und wie der Status der Anfrage und Abarbeitung ist.

Abschluss mit Start des Services Squid

pfSense Squid Serivce Start

Als nächstes wird der Dienst oben rechts gestartet. Wenn alles richtig konfiguriert ist wird der Dienst wie im Screen zusehen laufen und unter dem Reiter Real time sind entsprechende Seitenaufrufe zu sehen. Ansonsten kann ein Blick in die Logs von pfSense helfen.

Squid Proxy – Konfiguration von ClamAV als Antivirus Scanner für HTTP

Als nächstes, nachdem Squid läuft, werde ich die Konfiguration von Antivirus beschreiben.

Squid Proxy – Reiter Antivirus

danach

pfSense Squid Antivirus Enable

Advanced options – squidclamav.con

pfSense Squid ClamAV Conf

Advanced options – c-icap.con

Manager: Apassword@ldap.chtsanti.net?o=chtsanti?mermberuid?(&(objectClass=posixGroup)(cn=%s) –

pfSense Squid Antivirus C-Icap Remove

Service squid_clamav squidclamav.so

pfSense Squid ClamAV Service

Konfiguration mit Button Speichern klicken, abschließen. Dies kann nun ein wenig dauern, denn im Hintergrund wird versucht Freshclam, also die Signaturen und Pattern zu aktualisieren.

In der Konsole kann man folgendes ausführen:

# tail -f /var/log/clamav/freshclam.log

Wenn das passiert ist, bei mir musste ich 2, 3 Anläufe unternehmen.

pfSense Squid ClamAV Update Error

Kann nun der Service Squid, c-icap und Antivirus neugestartet werden. Alle drei sollten im Status grün sein.

Falls etwas mit der Konfiguration nicht stimmen sollte, werden evtl. diese Fehler angezeigt:

pfSense Squid Antivirus Fehler

Ein abschließender Test der Antivirusfunktion ist mittels EICAR Testvirus über die Homepage http://www.eicar.org möglich. Die Meldung im Browser beim öffnen des Archivs, sieht dann wie folgt aus:

pfSense Squid Antivirus EICAR

 

Die mobile Version verlassen