Squid-Kit-Clamav Rocky: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(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…“)
 
Zeile 22: Zeile 22:
  
 
=Installation=
 
=Installation=
;EPEL aktivieren und Pakete installieren
+
;EPEL aktivieren
 
*dnf install -y epel-release
 
*dnf install -y epel-release
*dnf install -y clamav clamd clamav-update git gcc make
+
;Pakete installieren
 +
*dnf install -y clamav clamd clamav-update c-icap c-icap-libs c-icap-modules git gcc make
  
 
== Pakete zur Installation ==
 
== Pakete zur Installation ==
 
=== clamav ===
 
=== clamav ===
* Beschreibung: ClamAV (Clam AntiVirus) ist ein Open-Source-Virenschutzprogramm.
+
*Open-Source-Virenschutzprogramm
* Verwendung: ClamAV dient dazu, Dateien und Daten auf Viren und Malware zu überprüfen.
+
*Überprüft Dateien und Daten auf Viren und Malware
 
=== clamd ===
 
=== clamd ===
* Beschreibung: clamd ist der Hintergrunddienst (Daemon) von ClamAV, der Virenscans im Echtzeitmodus ermöglicht.
+
*Hintergrunddienst (Daemon) von ClamAV
* Verwendung: Überwacht das Dateisystem auf Viren und kann in Echtzeit Schutz bieten.
+
*Ermöglicht Virenscans im Echtzeitmodus
 
=== clamav-update ===
 
=== clamav-update ===
* Beschreibung: freshclam — aktualisiert die ClamAV-Virendatenbank automatisch.
+
*freshclam — aktualisiert die ClamAV-Virendatenbank automatisch
* Verwendung: Hält die Signaturen aktuell.
+
=== c-icap ===
=== git ===
+
*ICAP-Server — nimmt Anfragen von Squid entgegen und leitet sie an ClamAV weiter
* Beschreibung: git ist ein Versionskontrollsystem.
+
=== c-icap-libs ===
* Verwendung: Wird verwendet, um den squidclamav-Quellcode herunterzuladen.
+
*Bibliotheken für c-icap
=== gcc / make ===
+
=== c-icap-modules ===
* Beschreibung: Werkzeuge zum Kompilieren von C-Quellcode.
+
*Zusätzliche Module für c-icap, wird für squidclamav benötigt
* Verwendung: Werden benötigt um squidclamav und c-icap zu kompilieren.
+
=== git / gcc / make ===
 
+
*Werden benötigt um squidclamav aus dem Quellcode 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=
 
=Über git clone squidclamav Source herunterladen=
Zeile 55: Zeile 49:
 
*git clone https://github.com/darold/squidclamav
 
*git clone https://github.com/darold/squidclamav
  
=squidclamav kompilieren=
+
=Kompilieren=
 
*cd squidclamav
 
*cd squidclamav
 
*./configure && make && make install
 
*./configure && make && make install
  
 
=Squid Konfiguration erweitern=
 
=Squid Konfiguration erweitern=
 +
;unter die http_access rules
 
*vi /etc/squid/squid.conf
 
*vi /etc/squid/squid.conf
 
<pre>
 
<pre>
Zeile 76: Zeile 71:
 
adaptation_access service_resp allow all
 
adaptation_access service_resp allow all
 
</pre>
 
</pre>
 
=Erklärung=
 
*[[Squid Icap Erkärung]]
 
  
 
=aktivieren=
 
=aktivieren=
Zeile 87: Zeile 79:
 
;Ersetze diese Zeile
 
;Ersetze diese Zeile
 
  redirect http://proxy.domain.dom/cgi-bin/clwarn.cgi
 
  redirect http://proxy.domain.dom/cgi-bin/clwarn.cgi
;Durch diese Zeile  
+
;Durch diese Zeile
 
  redirect https://virus-found.xinux.de
 
  redirect https://virus-found.xinux.de
 
;Wer dies selbst aufsetzen will
 
;Wer dies selbst aufsetzen will
 
*[[Squid-Clamav-Virus-detect]]
 
*[[Squid-Clamav-Virus-detect]]
  
=diverse Dienste starten=
+
=Dienste starten=
 
*systemctl enable --now clamav-freshclam clamd@scan c-icap squid
 
*systemctl enable --now clamav-freshclam clamd@scan c-icap squid
  
Zeile 98: Zeile 90:
 
*firewall-cmd --zone=public --add-port=1344/tcp --permanent
 
*firewall-cmd --zone=public --add-port=1344/tcp --permanent
 
*firewall-cmd --reload
 
*firewall-cmd --reload
 
=Update=
 
;Bei Problemen sollte man ein Update durchführen
 
*[[Update ClamAV]]
 
  
 
=Hier kann man Testen=
 
=Hier kann man Testen=
Zeile 108: Zeile 96:
 
=Der Log zum clamav=
 
=Der Log zum clamav=
 
*tail -f /var/log/clamav/clamd.log
 
*tail -f /var/log/clamav/clamd.log
  Tue Sep 27 15:12:56 2022 -> instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND
+
  instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND
  
 
=Der Log zum c-icap=
 
=Der Log zum c-icap=
Zeile 115: Zeile 103:
 
=Links=
 
=Links=
 
*https://github.com/darold/squidclamav
 
*https://github.com/darold/squidclamav
*https://github.com/c-icap/c-icap-server
 

Version vom 28. April 2026, 10:40 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

EPEL aktivieren
  • dnf install -y epel-release
Pakete installieren
  • dnf install -y clamav clamd clamav-update c-icap c-icap-libs c-icap-modules git gcc make

Pakete zur Installation

clamav

  • Open-Source-Virenschutzprogramm
  • Überprüft Dateien und Daten auf Viren und Malware

clamd

  • Hintergrunddienst (Daemon) von ClamAV
  • Ermöglicht Virenscans im Echtzeitmodus

clamav-update

  • freshclam — aktualisiert die ClamAV-Virendatenbank automatisch

c-icap

  • ICAP-Server — nimmt Anfragen von Squid entgegen und leitet sie an ClamAV weiter

c-icap-libs

  • Bibliotheken für c-icap

c-icap-modules

  • Zusätzliche Module für c-icap, wird für squidclamav benötigt

git / gcc / make

  • Werden benötigt um squidclamav aus dem Quellcode zu kompilieren

Ü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.

Kompilieren

  • cd squidclamav
  • ./configure && make && make install

Squid Konfiguration erweitern

unter die http_access rules
  • 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

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

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

Hier kann man Testen

Der Log zum clamav

  • tail -f /var/log/clamav/clamd.log
instream(local): Win.Test.EICAR_HDB-1(44d88612fea8a8f36de82e1278abb02f:68) FOUND

Der Log zum c-icap

  • tail -f /var/log/c-icap/server.log

Links