Squid-Kit-Clamav: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | = | + | =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= | =Schaubild= | ||
{{#drawio:i-cap-clam-av}} | {{#drawio:i-cap-clam-av}} | ||
| + | =Installation von Clamav= | ||
| + | *apt install c-icap clamav clamdscan clamav-daemon libicapapi-dev libssl-dev git | ||
| + | == Pakete zur Installation == | ||
| + | === c-icap === | ||
| + | * Beschreibung: c-icap ist ein ICAP-Server, der es ermöglicht, HTTP-Datenverkehr zu verarbeiten und zu bearbeiten. | ||
| + | * Verwendung: C-icap wird benötigt, um die ICAP-Integration für Squid und Virenschutz mit ClamAV zu ermöglichen. | ||
| + | === clamav === | ||
| + | * Beschreibung: ClamAV (Clam AntiVirus) ist ein Open-Source-Virenschutzprogramm. | ||
| + | * Verwendung: ClamAV dient dazu, Dateien und Daten auf Viren und Malware zu überprüfen. | ||
| + | === clamdscan === | ||
| + | * Beschreibung: clamdscan ist ein Befehlszeilen-Client für ClamAV, der verwendet wird, um Dateien auf Viren zu überprüfen. | ||
| + | * Verwendung: clamdscan wird genutzt, um Dateien auf Viren zu scannen und Schadsoftware zu erkennen. | ||
| + | === clamav-daemon === | ||
| + | * Beschreibung: clamav-daemon ist der Hintergrunddienst (Daemon) von ClamAV, der Virenscans im Echtzeitmodus ermöglicht. | ||
| + | * Verwendung: ClamAV-Daemon überwacht das Dateisystem auf Viren und kann in Echtzeit Schutz bieten. | ||
| + | === libicapapi-dev === | ||
| + | * Beschreibung: libicapapi-dev ist eine Entwicklungsbibliothek für ICAP (Internet Content Adaptation Protocol). | ||
| + | * Verwendung: libicapapi-dev ermöglicht die Entwicklung von Anwendungen, die das ICAP-Protokoll verwenden. | ||
| + | === libssl-dev === | ||
| + | * Beschreibung: libssl-dev ist eine Entwicklungsbibliothek für die SSL/TLS-Verschlüsselung. | ||
| + | * Verwendung: libssl-dev wird benötigt, um SSL/TLS-Verbindungen in Anwendungen zu unterstützen, die Verschlüsselung verwenden. | ||
| + | === git === | ||
| + | * Beschreibung: git ist ein Versionskontrollsystem, das für die Verwaltung von Quellcode und Projekten verwendet wird. | ||
| + | * Verwendung: git wird verwendet, um den Quellcode von Projekten aus Git-Repositories herunterzuladen und zu verwalten. | ||
| + | |||
| + | =Tools zum kompilieren= | ||
| + | apt install gcc make | ||
| + | |||
| + | =Über git clone squidclamav Source herunterladen= | ||
| + | "SquidClamAV" ist ein Drittanbieter-Plug-In oder eine Erweiterung für den Squid-Proxy-Server, die speziell zur Integration von ClamAV (ein Virenschutzprogramm) in den Proxy entwickelt wurde. SquidClamAV ermöglicht es Squid, den HTTP-Datenverkehr zu überwachen und nach Viren und Malware zu scannen, indem es ClamAV verwendet. | ||
| + | *git clone https://github.com/darold/squidclamav | ||
| + | |||
| + | =Kompilieren= | ||
| + | *cd squidclamav | ||
| + | *./configure && make && make install | ||
| + | =Squid Konfiguration erweitern= | ||
| + | *vi /etc/squid/squid.conf | ||
| + | <pre> | ||
| + | ... | ||
| + | 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 | ||
| + | </pre> | ||
| + | =Erklärung= | ||
| + | *[[Squid Icap Erkärung]] | ||
| + | |||
| + | =aktivieren= | ||
| + | ;c-icap aktivieren | ||
| + | *vi /etc/default/c-icap | ||
| + | START=yes | ||
| + | ;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 | ||
| + | *[[Squid-Clamav-Virus-detect]] | ||
| + | |||
| + | =diverse Dienste starten= | ||
| + | *systemctl restart clamav-freshclam.service clamav-daemon.service c-icap.service squid | ||
| + | |||
| + | =Update= | ||
| + | ;Bei Problemen sollte man ein Update durchführen | ||
| + | *[[Update ClamAV]] | ||
| + | |||
| + | =Hier kann man Testen= | ||
| + | *https://www.eicar.org/download-anti-malware-testfile/ | ||
| + | =Der Log zum clamav= | ||
| + | *tail -f /var/log/clamav/clamav.log | ||
| + | Tue Sep 27 15:12:56 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND | ||
| + | Tue Sep 27 15:13:05 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND | ||
| + | Tue Sep 27 15:13:16 2022 -> instream(local): Win.Test.EICAR_HDB-1(e4968ef99266df7c9a1f0637d2389dab:308) FOUND | ||
| + | Tue Sep 27 15:14:12 2022 -> instream(local): Win.Test.EICAR_HDB-1(e4968ef99266df7c9a1f0637d2389dab:308) FOUND | ||
| + | Tue Sep 27 15:15:43 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND | ||
| + | Tue Sep 27 15:16:50 2022 -> instream(local): Win.Test.EICAR_HDB-1(e4968ef99266df7c9a1f0637d2389dab:308) FOUND | ||
| + | Tue Sep 27 15:16:57 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND | ||
| + | =Der Log zum c-icap= | ||
| + | *tail -f /var/log/c-icap/server.log | ||
| + | <pre> | ||
| + | Thu Mar 20 18:12:57 2025, 6644/3005208256, squidclamav.c(875) squidclamav_end_of_data_handler: Thu Mar 20 18:12:57 2025, 6644/3005208256, LOG Virus found in https://secure.eicar.org/eicar.com ending download [stream: Win.Test.EICAR_HDB-1 FOUND] | ||
| + | Thu Mar 20 18:12:57 2025, 6644/3005208256, squidclamav.c(1879) generate_response_page: Thu Mar 20 18:12:57 2025, 6644/3005208256, Virus redirection: http://proxy.domain.dom/cgi-bin/clwarn.cgi?url=https://secure.eicar.org/eicar.com&source=172.16.113.55&user=-&virus=stream: Win.Test.EICAR_HDB-1 FOUND&recover=(null). | ||
| + | Thu Mar 20 18:12:57 2025, 6644/3005208256, squidclamav.c(921) squidclamav_end_of_data_handler: Thu Mar 20 18:12:57 2025, 6644/3005208256, LOG Virus found, sending redirection header / error page. | ||
| + | </pre> | ||
| + | |||
| + | =Links= | ||
| + | *https://github.com/darold/squidclamav | ||
Aktuelle Version vom 21. März 2025, 09:24 Uhr
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 von Clamav
- apt install c-icap clamav clamdscan clamav-daemon libicapapi-dev libssl-dev git
Pakete zur Installation
c-icap
- Beschreibung: c-icap ist ein ICAP-Server, der es ermöglicht, HTTP-Datenverkehr zu verarbeiten und zu bearbeiten.
- Verwendung: C-icap wird benötigt, um die ICAP-Integration für Squid und Virenschutz mit ClamAV zu ermöglichen.
clamav
- Beschreibung: ClamAV (Clam AntiVirus) ist ein Open-Source-Virenschutzprogramm.
- Verwendung: ClamAV dient dazu, Dateien und Daten auf Viren und Malware zu überprüfen.
clamdscan
- Beschreibung: clamdscan ist ein Befehlszeilen-Client für ClamAV, der verwendet wird, um Dateien auf Viren zu überprüfen.
- Verwendung: clamdscan wird genutzt, um Dateien auf Viren zu scannen und Schadsoftware zu erkennen.
clamav-daemon
- Beschreibung: clamav-daemon ist der Hintergrunddienst (Daemon) von ClamAV, der Virenscans im Echtzeitmodus ermöglicht.
- Verwendung: ClamAV-Daemon überwacht das Dateisystem auf Viren und kann in Echtzeit Schutz bieten.
libicapapi-dev
- Beschreibung: libicapapi-dev ist eine Entwicklungsbibliothek für ICAP (Internet Content Adaptation Protocol).
- Verwendung: libicapapi-dev ermöglicht die Entwicklung von Anwendungen, die das ICAP-Protokoll verwenden.
libssl-dev
- Beschreibung: libssl-dev ist eine Entwicklungsbibliothek für die SSL/TLS-Verschlüsselung.
- Verwendung: libssl-dev wird benötigt, um SSL/TLS-Verbindungen in Anwendungen zu unterstützen, die Verschlüsselung verwenden.
git
- Beschreibung: git ist ein Versionskontrollsystem, das für die Verwaltung von Quellcode und Projekten verwendet wird.
- Verwendung: git wird verwendet, um den Quellcode von Projekten aus Git-Repositories herunterzuladen und zu verwalten.
Tools zum kompilieren
apt install gcc make
Über git clone squidclamav Source herunterladen
"SquidClamAV" ist ein Drittanbieter-Plug-In oder eine Erweiterung für den Squid-Proxy-Server, die speziell zur Integration von ClamAV (ein Virenschutzprogramm) in den Proxy entwickelt wurde. SquidClamAV ermöglicht es Squid, den HTTP-Datenverkehr zu überwachen und nach Viren und Malware zu scannen, indem es ClamAV verwendet.
- git clone https://github.com/darold/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
- c-icap aktivieren
- vi /etc/default/c-icap
START=yes
- 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 restart clamav-freshclam.service clamav-daemon.service c-icap.service squid
Update
- Bei Problemen sollte man ein Update durchführen
Hier kann man Testen
Der Log zum clamav
- tail -f /var/log/clamav/clamav.log
Tue Sep 27 15:12:56 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND Tue Sep 27 15:13:05 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND Tue Sep 27 15:13:16 2022 -> instream(local): Win.Test.EICAR_HDB-1(e4968ef99266df7c9a1f0637d2389dab:308) FOUND Tue Sep 27 15:14:12 2022 -> instream(local): Win.Test.EICAR_HDB-1(e4968ef99266df7c9a1f0637d2389dab:308) FOUND Tue Sep 27 15:15:43 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND Tue Sep 27 15:16:50 2022 -> instream(local): Win.Test.EICAR_HDB-1(e4968ef99266df7c9a1f0637d2389dab:308) FOUND Tue Sep 27 15:16:57 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND
Der Log zum c-icap
- tail -f /var/log/c-icap/server.log
Thu Mar 20 18:12:57 2025, 6644/3005208256, squidclamav.c(875) squidclamav_end_of_data_handler: Thu Mar 20 18:12:57 2025, 6644/3005208256, LOG Virus found in https://secure.eicar.org/eicar.com ending download [stream: Win.Test.EICAR_HDB-1 FOUND] Thu Mar 20 18:12:57 2025, 6644/3005208256, squidclamav.c(1879) generate_response_page: Thu Mar 20 18:12:57 2025, 6644/3005208256, Virus redirection: http://proxy.domain.dom/cgi-bin/clwarn.cgi?url=https://secure.eicar.org/eicar.com&source=172.16.113.55&user=-&virus=stream: Win.Test.EICAR_HDB-1 FOUND&recover=(null). Thu Mar 20 18:12:57 2025, 6644/3005208256, squidclamav.c(921) squidclamav_end_of_data_handler: Thu Mar 20 18:12:57 2025, 6644/3005208256, LOG Virus found, sending redirection header / error page.
