29 ottobre 2020 Roberto Puzzanghera2 commenti
Clam AntiVirus is an open source (GPL) anti-virus toolkit for UNIX, designed especially for e-mail scanning on mail gateways.
Creiamo l'utente e il gruppo clamav e installiamo:
groupadd clamav useradd -g clamav clamav cd /usr/local/src wget http://www.clamav.net/downloads/production/clamav-0.103.0.tar.gz tar -xzf clamav-0.103.0.tar.gz cd clamav-0.103.0 chown -R root.root . ./configure --with-pcre make make install ldconfig
Creiamo le directory log e database:
mkdir -p /var/log/clamd chown -R clamav.clamav /var/log/clamd/ chmod -R o-rx /var/log/clamd/ mkdir -p /usr/local/share/clamav chown clamav.clamav /usr/local/share/clamav
Prestare attenzione almeno alle seguenti righe, in particolare a quella che stabilisce l'utente sotto il quale deve girare il processo:
# Questo deve essere commentato # Example LogFile /var/log/clamd/clamd.log LogTime yes DatabaseDirectory /usr/local/share/clamav/ User clamav TCPSocket 3310 TCPAddr 127.0.0.1
# Commentare o rimuovere la linea qui sotto. #Example DatabaseDirectory /usr/local/share/clamav/ UpdateLogFile /var/log/clamd/freshclam.log DatabaseOwner clamav # Decommentare la linea seguente e sostituire XY con il codice della tua nazione. # See http://www.iana.org/cctld/cctld-whois.htm for the full list. DatabaseMirror db.it.clamav.net NotifyClamd /usr/local/etc/clamd.conf
Copiare questo script in /etc/logrotate.d:
cat > /etc/logrotate.d/clamav << __EOF__ /var/log/clamd/*.log { daily notifempty missingok postrotate /usr/bin/killall -HUP freshclam 2> /dev/null || true /usr/bin/killall -HUP clamd 2> /dev/null || true endscript } __EOF__
E' necessario avviare freshclam
prima di clamav
affinchè venga installato preventivamente il database.
Creiamo uno startup script come questo per freshclam
(scarica):
#!/bin/sh # # Start/stop/restart freshclam. # DAEMON=/usr/local/bin/freshclam # Start clamav: start() { if [ -x $DAEMON ]; then echo -n "Starting freshclam daemon ... " $DAEMON -d echo " done." fi } # Stop clamav: stop() { echo -n "Stopping freshclam daemon ... " killall -TERM freshclam echo " done." } # Restart clamav: restart() { stop sleep 1 start } case "$1" in 'start') start ;; 'stop') stop ;; 'restart') restart ;; *) echo "usage $0 start|stop|restart" esac
Avvio del daemon:
cd /usr/local/bin wget https://notes.sagredo.eu/files/qmail/freshclamctl chmod +x /usr/local/bin/freshclamctl freshclamctl start
Controlliamo che il database sia stato aggiornato
# more /var/log/clamd/freshclam.log -------------------------------------- freshclam daemon 0.96.3 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64) ClamAV update process started at Fri Oct 22 13:15:43 2010 main.cvd is up to date (version: 52, sigs: 704727, f-level: 44, builder: sven) WARNING: getfile: daily-11979.cdiff not found on remote server (IP: 195.22.205.162) WARNING: getpatch: Can''t download daily-11979.cdiff from db.it.clamav.net WARNING: getfile: daily-11979.cdiff not found on remote server (IP: 213.92.8.5) WARNING: getpatch: Can''t download daily-11979.cdiff from db.it.clamav.net WARNING: getfile: daily-11979.cdiff not found on remote server (IP: 193.206.139.37) WARNING: getpatch: Can''t download daily-11979.cdiff from db.it.clamav.net WARNING: Incremental update failed, trying to download daily.cvd Downloading daily.cvd [100%] daily.cvd updated (version: 12167, sigs: 142570, f-level: 53, builder: guitar) Downloading bytecode.cvd [100%] bytecode.cvd updated (version: 86, sigs: 10, f-level: 53, builder: edwin) Database updated (847307 signatures) from db.it.clamav.net (IP: 193.206.139.37) Clamd successfully notified about the update. --------------------------------------
Creiamo uno script clamdctl
(scarica) come questo nella cartella /usr/local/bin
:
#!/bin/sh # # Start/stop/restart clamav. # DAEMON=/usr/local/sbin/clamd # Start clamav: start() { if [ -x $DAEMON ]; then echo -n "Starting clamd daemon: /usr/sbin/clamd " $DAEMON echo " done." fi } # Stop clamav: stop() { echo -n "Stopping clamd daemon ... " killall -TERM clamd echo " done." } # Restart clamav: restart() { stop sleep 1 start } # Help help() { $DAEMON --help exit } case "$1" in 'start') start ;; 'stop') stop ;; 'restart') restart ;; 'help') help ;; *) echo "usage $0 start|stop|restart|help" esac
Avvio del daemon
cd /usr/local/bin wget https://notes.sagredo.eu/files/qmail/clamdctl chmod +x /usr/local/bin/clamdctl clamdctl help Clam AntiVirus Daemon 0.96.3 By The ClamAV Team: http://www.clamav.net/team (C) 2007-2009 Sourcefire, Inc. --help -h Show this help. --version -V Show version number. --debug Enable debug mode. --config-file=FILE -c FILE Read configuration from FILE. clamdctl start
Non dimentichiamo di abilitare l'avvio di clamd
e freshclam
al boot della macchina in rc.local
Questo test dalla linea di comando dovrebbe essere fatto dalla directory sorgente di clamav. Ci dovrebbero essere alcuni file di test nella cartella clamav-x.yz/test. Il risultato della scansione sarà salvato in scan.txt
# cd /path/to/src/clamav/test # clamscan -r -l scan.txt ----------- SCAN SUMMARY ----------- Known viruses: 834112 Engine version: 0.96.3 Scanned directories: 312 Scanned files: 7541 Infected files: 49 Data scanned: 273.18 MB Data read: 306.89 MB (ratio 0.89:1) Time: 24.649 sec (0 m 24 s)
Controlliamo il file scan.txt:
clamav-0.97/test/clam.chm: ClamAV-Test-File FOUND clamav-0.97/test/clam.exe.bz2: ClamAV-Test-File FOUND clamav-0.97/test/clam.bz2.zip: ClamAV-Test-File FOUND clamav-0.97/test/clam-upx.exe: ClamAV-Test-File FOUND
Prima di tutto un grande grazie a Costel Balta per il suo ennesimo contributo a questa guida. Quanto sotto riportato mi è stato suggerito da lui.
I malware Zero hour (0hr) inviati via email sono sempre stati un problema. ClamAV può essere anche usato per bloccare questi attacchi. I database di foxhole hanno l'estensione .cdb, i quali usasno il sistema ClamAV per ricercare all'interno di certi file archivio dei file con nomi riconducibili a malware conosciuti e inoltre consente l'uso delle Espressioni Regolari, sugli stessi nomi dei file.
Per aggiungere il database di foxhole (http://sanesecurity.com/foxhole-databases/) è sufficiente salvare il file foxhole_all.cdb nella DatabaseDirectory di clamav, assegnare i privilegi all'utente clamav e riavviare il servizio:
cd /usr/local/share/clamav/ wget http://ftp.swin.edu.au/sanesecurity/foxhole_all.cdb chown clamav:clamav foxhole_all.cdb clamdctl stop clamdctl start
Aggiungere una linea al file di configurazione di freshclam
/usr/local/etc/freshclam.conf
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/foxhole_all.cdb
qmail-smtpd and OAUTH
2 marzo 2021 10:29
problem with passwords containing special characters like %
2 marzo 2021 10:24
qmail-smtpd and OAUTH
1 marzo 2021 15:22
problem with passwords containing special characters like %
28 febbraio 2021 12:26
problem with passwords containing special characters like %
26 febbraio 2021 22:02
problem with passwords containing special characters like %
26 febbraio 2021 10:05
What about using --disable-many-domains on vpopmail configure ?
22 febbraio 2021 16:49
aliasdomain patch compilation issue
21 febbraio 2021 16:28
aliasdomain patch compilation issue
21 febbraio 2021 14:35
Lua backend
16 febbraio 2021 16:07
Tags
apache clamav dkim dovecot ezmlm fail2ban ftp guide hacks lamp letsencrypt linux linux-vserver lxc mariadb mediawiki mozilla mysql openboard owncloud patches php proftpd qmail qmailadmin rbl roundcube rsync sieve simscan slackware spamassassin spf ssh ssl tcprules tex ucspi-tcp vpopmail vqadmin
Commenti
clamav parte da solo
swap 4 gennaio 2020 01:21
Clamd parte da solo all'avvio di Lubuntu 18.04 e clamav non si ferma più, sottraendo un mucchio di ram.
Come fare ad impostare l'avvio solo manuale ?
Clamtk è già installato , e non ci sono pianificazioni di attività .
Risulta un utente " Clamav " che avvia clamd .
Grazie per la risposta
Rispondi | Permalink
clamav parte da solo
Roberto Puzzanghera swap 4 gennaio 2020 10:45
Non conosco per niente Ubuntu, quindi non posso aiutarti. Posso solo dire che se lo installi compilandolo a mano di sicuro non scrive nulla negli script di sistema.
Rispondi | Permalink