In deze tutorial wordt uitgelegd hoe je ClamAV kunt installeren door gebruik te maken van de tool CustomBuild die bij DirectAdmin installaties zit. Er zijn maar een paar stappen nodig om het te installeren! Met ClamAV is het mogelijk om automatisch elke e-mail die binnenkomt te scannen. Daarnaast is het mogelijk om alle bestanden op je server of VPS te scannen op ongewenste bestanden. Naast het installeren wordt uitgelegd hoe je de virus definities elke dag automatisch kunt bijwerken.

Voor meer informatie over CustomBuild bekijk je deze pagina.

Benodigdheden:

  • Kennis van SSH
  • DirectAdmin installatie met CustomBuild 2.0 of hoger

Deze tutorial is geschreven voor CentOS7.

Let op: Maak altijd een snapshot en/of backup van je systeem voordat je de software gaat upgraden! Zo kun je altijd terugvallen op een werkende configuratie mocht er iets fout gaan.

Tutorial voor het laatst bijgewerkt op 23 mei 2017.


Stap 1 – ClamAV Installatie en updates

Installatie

Naast de installatie en optimalisatie van SpamAssassin kun je ClamAV installeren die elk e-mailbericht scant op virussen of andere ongewenste content. Daarnaast kun je met ClamAV de gehele server scannen en cronjobs instellen. Om ClamAV te installeren zijn de volgende commando’s nodig:

yum install bzip2-devel

cd /usr/local/directadmin/custombuild/
./build update
./build set clamav yes
./build update
./build clamav

Dat is alles! Omdat je de nieuwste exim.conf gebruikt via CustomBuild 2.0 wordt automatisch gecontroleerd of ClamAV geïnstalleerd is en wordt het ook gebruikt door Exim. Dit kun je controleren door de headers van een nieuw e-mailbericht te bekijken. Hier moet nu het volgende in staan:

X-Antivirus-Scanner: Clean mail though you should still use an Antivirus

Indien dit niet het geval is controleer dan of je CustomBuild 2.0 gebruikt. In de exim.conf moet namelijk het volgende bestand staan dat included wordt:

/etc/exim.clamav.load.conf

Is dit niet het geval update dan je exim.conf als volgt:

Let op: Eventuele vorige aanpassingen aan de exim.conf worden wel overschreven, behalve als je dit op de goede manier hebt geïmplementeerd met .include_if_exists. Voor een voorbeeld zoals de DKIM configuratie bekijk de handleiding op de DirectAdmin website (stap 2).

cd /usr/local/directadmin/custombuild/
./build update
./build set eximconf yes
./build set eximconf_release 4.5
./build update
./build exim_conf

Naast het scannen van e-mails kun je ook alle bestanden automatisch scannen die via FTP worden geupload. Om dat in te stellen moet je er eerst achter komen welke FTP software je gebruikt. Standaard in CustomBuild 2.0 is dat nu PureFTPd. Je kunt dit controleren via:

cd /usr/local/directadmin/custombuild/
cat options.conf

Zoek nu naar het FTP gedeelte en je ziet welke FTP software je gebruikt. Om dan nu FTP scanning aan te zetten doe je het volgende:

./build set pureftpd_uploadscan yes (Voor PureFTPd)
./build set proftpd_uploadscan yes (Voor ProFTPd)

./build pureftpd (Voor PureFTPd)
./build proftpd (Voor proftpd)

Aan het einde van de installatie kun je nu zien dat het upload scanning script geactiveerd wordt.

Updates

Ook bij ClamAV is het handig om regelmatig de virus database te updaten. Dit kan met het commando:

freshclam -v

Nu worden de nodige virus definities binnen gehaald. Aangeraden wordt om dit regelmatig uit te voeren zodat je altijd de nieuwste informatie op je server hebt staan. Ook dit kun je automatiseren door gebruik te maken van de crontab. Dit wordt uitgelegd bij de volgende stap.

Stap 2 – Virus definities automatisch bijwerken

 

Naast de handmatige methode om de virusdefinities bij te werken draait er ook een daemon: freshclam.

Je kunt dit controleren;

systemctl status freshclam.service

Je ziet dan ongeveer het volgende;

freshclam.service – ClamAV updater daemon

   Loaded: loaded (/etc/systemd/system/freshclam.service; enabled; vendor preset: disabled)

   Active: active (running) since Fri 2017-04-14 09:50:52 CEST; 1 months 8 days ago

 Main PID: 1230 (freshclam)

   CGroup: /system.slice/freshclam.service

           └─1230 /usr/local/bin/freshclam -d

Met daaronder wanneer de definities voor het laatst zijn bijgewerkt. Standaard is dit elke 2 uur.

Stap 3 – Bestanden scannen

ClamAV heeft erg veel opties om naar eigen wens je server te scannen. Voor een overzicht van alle opties:

clamscan --help

De belangrijkste commando’s staan hier op een rijtje (elke scan kan even duren!):

Bestand scannen

clamscan naam_van_het_bestand

Alle bestanden scannen en de naam van elk bestand laten zien

clamscan -r /

Alle bestanden scannen maar alleen de geïnfecteerde bestanden laten zien

clamscan -r -i /

Alle bestanden scannen in de /home folder

clamscan -r -i /home/

Alle bestanden scannen in de /home/ folder en output loggen naar een bestand

clamscan -r -i -l /var/log/clamscan.log /home/

Stap 4 – Cronjob instellen voor automatische virusscan

 –

Stap 5 – Controle

Met het volgende commando kun je controleren of ClamAV correct actief is:

systemctl status clamd.service (ClamAV)
systemctl status freshclam.service (Virus Definities Updater)