Squid-Kit-Clamav Rocky
Version vom 28. April 2026, 10:34 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Konzepte= ==ICAP== *Allgemein ist ICAP ein schlankes Protokoll, um einen „Remote Procedure Call" für HTTP(S) und FTP auszuführen. *ICAP-Clients können H…“)
Konzepte
ICAP
- Allgemein ist ICAP ein schlankes Protokoll, um einen „Remote Procedure Call" für HTTP(S) und FTP auszuführen.
- ICAP-Clients können HTTP-Daten an einen ICAP-Server weitergeben, der seinerseits die Inhalte umformt oder bearbeitet.
- Der Server sendet die Daten nach der Bearbeitung zurück an den Client.
- Normalerweise sind die adaptierten Inhalte HTTP(S)/FTP-Anfragen oder -Antworten.
- Ein ICAP-Client ist im Normalfall ein Proxy, der HTTP(S)/FTP-Requests von einem Browser entgegennimmt.
- Die Daten werden zu einem ICAP-Server gesendet, um dort bearbeitet zu werden.
- Diese Bearbeitung kann eine Überprüfung des URL, ein Virenscan etc. sein.
- Der Server sendet eine Antwort zurück, die dann über den ICAP-Client zurück zum Browser geht und dort angezeigt wird.
- ICAP verwendet standardmäßig den TCP-Port 1344
ClamAV
- ClamAV (Clam AntiVirus) ist ein unter der GNU General Public License stehendes Virenschutzprogramm
- Bei ClamAV handelt es sich um eine Bibliothek, die in eigene Anwendungen eingebunden werden kann.
- ClamAV läuft als Dienst im Hintergrund (Daemon) oder als eine Befehlszeilen-Anwendung.
- Unter Linux greift ClamAV auf fanotify zurück, um den Zugriff auf das Dateisystem über den Virenscanner umzuleiten
- Es kann daher als Echtzeitscanner verwendet werden.
Schaubild
Installation
- EPEL aktivieren und Pakete installieren
- dnf install -y epel-release
- dnf install -y clamav clamd clamav-update git gcc make
Pakete zur Installation
clamav
- Beschreibung: ClamAV (Clam AntiVirus) ist ein Open-Source-Virenschutzprogramm.
- Verwendung: ClamAV dient dazu, Dateien und Daten auf Viren und Malware zu überprüfen.
clamd
- Beschreibung: clamd ist der Hintergrunddienst (Daemon) von ClamAV, der Virenscans im Echtzeitmodus ermöglicht.
- Verwendung: Überwacht das Dateisystem auf Viren und kann in Echtzeit Schutz bieten.
clamav-update
- Beschreibung: freshclam — aktualisiert die ClamAV-Virendatenbank automatisch.
- Verwendung: Hält die Signaturen aktuell.
git
- Beschreibung: git ist ein Versionskontrollsystem.
- Verwendung: Wird verwendet, um den squidclamav-Quellcode herunterzuladen.
gcc / make
- Beschreibung: Werkzeuge zum Kompilieren von C-Quellcode.
- Verwendung: Werden benötigt um squidclamav und c-icap zu kompilieren.
c-icap kompilieren
- c-icap ist nicht als fertiges Paket verfügbar und muss kompiliert werden
- dnf install -y autoconf automake libtool openssl-devel
- git clone https://github.com/c-icap/c-icap-server
- cd c-icap-server
- autoreconf -fi
- ./configure && make && make install
Über git clone squidclamav Source herunterladen
"SquidClamAV" ist ein Drittanbieter-Plug-In für den Squid-Proxy-Server, das speziell zur Integration von ClamAV in den Proxy entwickelt wurde. SquidClamAV ermöglicht es Squid, den HTTP-Datenverkehr zu überwachen und nach Viren und Malware zu scannen.
- git clone https://github.com/darold/squidclamav
squidclamav kompilieren
- cd squidclamav
- ./configure && make && make install
Squid Konfiguration erweitern
- vi /etc/squid/squid.conf
icap_enable on icap_send_client_ip on icap_send_client_username on icap_client_username_encode off icap_client_username_header X-Authenticated-User icap_preview_enable on icap_preview_size 1024 icap_service service_req reqmod_precache bypass=0 icap://127.0.0.1:1344/squidclamav icap_service service_resp respmod_precache bypass=0 icap://127.0.0.1:1344/squidclamav adaptation_access service_req allow all adaptation_access service_resp allow all
Erklärung
aktivieren
- Modul squidclamav aktivieren
- echo "Service squidclamav squidclamav.so" >> /etc/c-icap/c-icap.conf
- Fehlerseite zuweisen
- vi /etc/c-icap/squidclamav.conf
- Ersetze diese Zeile
redirect http://proxy.domain.dom/cgi-bin/clwarn.cgi
- Durch diese Zeile
redirect https://virus-found.xinux.de
- Wer dies selbst aufsetzen will
diverse Dienste starten
- systemctl enable --now clamav-freshclam clamd@scan c-icap squid
Firewall
- firewall-cmd --zone=public --add-port=1344/tcp --permanent
- firewall-cmd --reload
Update
- Bei Problemen sollte man ein Update durchführen
Hier kann man Testen
Der Log zum clamav
- tail -f /var/log/clamav/clamd.log
Tue Sep 27 15:12:56 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND
Der Log zum c-icap
- tail -f /var/log/c-icap/server.log
