Veröffentlicht am Sonntag, 22 Januar 2023 Virenschutz für hochgeladene Dateien (via APEX) via C-ICAP und ClamAV für ORDS Kategorie Oracle (Database & Co) Mittels ORDS kann man via ICAP und ClamAV Dateien beim Upload z.B. via APEX auf Viren überprüfen. Es wird wohl mindestens ORDS 19.2 benötigt, aufgrund Bug 29711406.Anbei die Installation & Konfiguration für Oracle Linux 8 - als root.# Clam AV ROOT> yum install clamav clamd clamav-update clamav-devel clamav-lib gcc make -y # Dienst für freshclam einrichten ROOT> nano /usr/lib/systemd/system/freshclam.service # Folgendes eintragen [Unit] Description = ClamAV Scanner After = network.target [Service] Type = forking ExecStart = /usr/bin/freshclam -d -c 1 Restart = on-failure PrivateTmp =true [Install] WantedBy=multi-user.target ROOT> systemctl start freshclam ROOT> systemctl enable freshclam ROOT> systemctl status freshclam # ClamAV als Dienst einrichten ROOT> nano /etc/clamd.d/scan.conf # Folgendes anpassen - die entsprechenden Rechte samt Pfade müssen natürlich korrekt sein # Bei mir lies sich der Dienst nur starten bei Auskommentiertem LogFile (?!) LogFile /tmp/clamd.scan PidFile /run/clamd.scan/clamd.pid TemporaryDirectory /var/tmp LocalSocket /run/clamd.scan/clamd.sock LocalSocketGroup root TCPSocket 3310 User root ROOT> nano /etc/tmpfiles.d/clamd.scan.conf # Folgendes eintragen d /run/clamd.scan 0770 root root - ROOT> systemctl start clamd@scan ROOT> systemctl enable clamd@scan ROOT> systemctl status clamd@scan# C-ICAP ROOT> cd /tmp/ ROOT> wget https://downloads.sourceforge.net/project/c-icap/c-icap/0.5.x/c_icap-0.5.10.tar.gz ROOT> tar -xvf c_icap-0.5.10.tar.gz ROOT> cd c_icap-0.5.10 ROOT> ./configure --prefix=/usr/local/c-icap ROOT> make ROOT> make install ROOT> wget https://sourceforge.net/projects/c-icap/files/c-icap-modules/0.5.x/c_icap_modules-0.5.5.tar.gz ROOT> tar zxvf c_icap_modules-0.5.5.tar.gz ROOT> cd c_icap_modules-0.5.5 ROOT> ./configure --with-c-icap=/usr/local/c-icap/ --prefix=/usr/local/c-icap/ ROOT> make ROOT> make install ROOT> cp /usr/local/c-icap/etc/c-icap.conf /etc ROOT> nano /etc/tmpfiles.d/c-icap.conf # Folgendes eintragen d /var/run/c-icap 0755 root root - ROOT> nano /etc/c-icap.conf # Folgendes eintragen (z.B. ganz am Ende) Include virus_scan.conf Include clamav_mod.conf virus_scan.DefaultEngine clamav virus_scan.ScanFileTypes TEXT DATA EXECUTABLE ARCHIVE GRAPHICS STREAM DOCUMENT ServiceAlias AVSCAN virus_scan?allow204=on&sizelimit=off&mode=simple ROOT> nano /usr/lib/systemd/system/c-icap.service # Folgendes eintragen [Unit] Description=c-icap service After=network.target [Service] Type=forking PIDFile=/var/run/c-icap/c-icap.pid ExecStart=/usr/local/c-icap/bin/c-icap -f /etc/c-icap.conf KillMode=process [Install] WantedBy=multi-user.target ROOT> systemctl start c-icap ROOT> systemctl enable c-icap ROOT> systemctl status c-icap# ORDS Konfiguration anpassen ROOT> ords --config /opt/oracle/ords22_conf config set icap.port 1344 ROOT> ords --config /opt/oracle/ords22_conf config set icap.server MEINE_IP / MEIN_HOSTNAME ROOT> systemctl restart tomcat ROOT> systemctl restart httpd # Port in Firewall berücksichtigen ROOT> firewall-cmd --zone=public --add-port=1344/tcp --permanent ROOT> firewall-cmd --reload # Logs ROOT> nano /usr/local/c-icap/var/log/access.log ROOT> nano /usr/local/c-icap/var/log/server.logAuf eigene Gefahr kann man den Virenscanner dann mit Testdateien von www.eicar.org ausprobieren.Bitte zwingend die Anweisungen lesen, bevor man die Testdateien herunterlädt.Lädt man die Virus-Testdatei hoch, so erscheint ein “Error 400”, im entsprechenden Log steht:Mon Jan 23 12:45:04 2023, 17581/3477735168, VIRUS DETECTED: Eicar-Signature , http client ip: -, http user: -, http url: notarealurl.com//opt/tomcat/temp/virusScanning3162736147569882894.tmp Ein Parser des Log-Files und eine entsprechende Fehlermeldung in der App können dann ganz einfach implementiert werden.