Squid und ClamAV: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Bugfix) |
|||
| Zeile 61: | Zeile 61: | ||
*systemctl restart c-icap.service | *systemctl restart c-icap.service | ||
*systemctl restart squid | *systemctl restart squid | ||
| − | = | + | =Update= |
<pre> | <pre> | ||
cd /var/lib/clamav/ | cd /var/lib/clamav/ | ||
Version vom 13. Dezember 2022, 06:52 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
- Eskann daher als Echtzeitscanner verwendet werden.
Schaubild
Installation von Clamav
- apt install c-icap clamav clamdscan clamav-daemon libicapapi-dev libssl-dev git
Tool zum kompilieren
apt install gcc make
Über git clone squidclamav Source herunterladen
- git clone https://github.com/darold/squidclamav
Kompilieren
- cd squidclamav
- ./configure && make && make install
Squid Konfiguration erweitern
- /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 ...
c-icap aktivieren
- cat /etc/default/c-icap
START=yes
- cat /etc/c-icap/c-icap.conf
Service squidclamav squidclamav.so
diverse Dienste starten
- systemctl restart clamav-freshclam.service
- systemctl restart clamav-daemon.service
- systemctl restart c-icap.service
- systemctl restart squid
Update
cd /var/lib/clamav/ wget https://www.danami.com/hotfix/main.cvd wget https://www.danami.com/hotfix/daily.cld chown clamav:clamav main.cvd chown clamav:clamav daily.cld systemctl restart clamav-daemon
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
