Winkelwagen

/ VPS-Infrastructuur

Alles over de zelfontwikkelde VPS-infrastructuur

Register now

/ Up to date

/ Nieuws

Lancering PerformanceVPS

Meer info
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    ClamAV installeren en configureren in Debian

    ClamAV is een gratis, opensource-antivirusprogramma voor de detectie van onder andere trojans, virussen en malware op je VPS. In deze tutorial laten wij je zien hoe je ClamAV installeert in Debian, zorgt dat ClamAV automatisch start, en je VPS dagelijks scant.

    Voer de stappen in dit artikel uit als root-user, of gebruiker met root-rechten en verbind voor je verder gaat met je VPS via SSH of de VPS-console.

     

     

    ClamAV installeren

     

    Installeer ClamAV in Debian met het commando:

    apt install -y clamav

    Wil je ClamAV automatisch je VPS laten scannen en in real-time tegen virussen beschermen? Installeer dan de ClamAV daemon met het onderstaande commando.

    De daemon gebruikt een redelijke hoeveelheid RAM, dus is het aan te raden om minimaal een VPS met 4GB RAM te gebruiken wanneer je de daemon installeert, of gebruik alternatief enkel de basis-versie samen met een Cronjob, zie de cronjob-instructie verderop dit artikel.

    apt install -y clamav-daemon

     

    De virus database updaten

    ClamAV komt met een tool genaamd Freshclam om de virus database van ClamAV te updaten. Freshclam controleert automatisch 24x per dag op virus database updates.

    Freshclam wordt automatisch uitgevoerd. De huidige status controleer je met:

    systemctl status clamav-freshclam

    Bij Debian staat Freshclam doorgaans niet automatisch aan na de installatie van ClamAV. Je zet FreshClam aan met het commando:

    systemctl enable clamav-freshclam
    systemctl start clamav-freshclam

     

    Handmatig updaten

    Als je freshclam uitzet (met systemctl stop clamav-freshclam) en enkel handmatig wil updaten, dan gebruik je het commando:

    freshclam

    Als je het bovenstaande commando gebruikt terwijl freshclam nog actief is, krijg je de melding:

    ERROR: /var/log/clamav/freshclam.log is locked by another process
    ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

     

    Je VPS automatisch scannen

     
    Automatisch scannen met de ClamAV-daemon

    Gebruik je de daemon-versie van ClamAV, dan draait de ClamAV-daemon (ClamD) automatisch als service en zal ook na een herstart van je VPS automatisch starten.

    ClamD zal niet automatisch je VPS in realtime beschermen. Hiervoor gebruikt het de aanvullende On-Access Scanning tool. Om deze aan te zetten, maak je eerst enkele aanpassingen in de ClamD configuratie:

     

    Stap 1

    Open de ClamD-configuratie

    nano /etc/clamav/clamd.conf

     

    Stap 2

    Voeg de volgende inhoud toe onderaan het bestand (zie de toelichting):

    ScanOnAccess yes
    OnAccessIncludePath /home
    OnAccessIncludePath /etc
    OnAccessIncludePath /var
    OnAccessPrevention yes
    • ScanOnAccess yes : zet On-Access scanning aan
    • OnAccessIncludePath : de mappen die hier gedefinieerd zijn (/home /etc /var) worden recursief gescand.
    • OnAccessPrevention yes : blokkeert virussen, met 'no' wordt enkel een melding gemaakt maar geen actie ondernomen.

    Er zijn nog meer opties, zoals het excluden van mappen met OnAccessExcludePath. Meer informatie over alle beschikbare opties vind je op deze pagina en hier worden enkele use cases besproken.


     

    Stap 3

    De wijzigingen kun je pas doorvoeren wanneer de clamav-daemon service uit staat. Zet deze dus uit als volgt:

    systemctl stop clamav-daemon

    Gebruik je Debian 10? Voer dan nog de volgende twee commando's uit. ClamAV voert namelijk het commando in stap 4 uit als ClamAV-user. Die heeft echter geen rechten om in /var/run/ een map en bestand te maken, waar de LocalSocket in terecht komt waar ClamAV zich aan bindt:

    mkdir /run/clamav/
    chmod 777 -R /run/clamav/
    

     

    Stap 4

    Start eerst ClamD en daarna de bijbehorende service:

    clamd
    systemctl start clamav-daemon

    Het zal een momentje duren voor het starten van clamd voltooid is.

    Debian 10: zet de rechten weer terug zoals ze stonden voor stap 3 (ClamAV is nu ook automatisch eigenaar van /var/run/clamav):

    chmod 755 -R /run/clamav/

     

    Aanvullende tips:

    • Je controleert de status van de ClamAV-daemon met het commando:
    systemctl status clamav-daemon
    • De logbestanden vind je in:
    nano /var/log/clamav/clamav.log
    • Clamd heeft een resource monitor vergelijkbaar met top/htop. Deze gebruik je met het commando:
    clamdtop
    • Krijg je een melding dat inotify het maximaal aantal watchpoints heeft uitgeput, dan kun je er daar meer aan toevoegen met:
    $ echo 524288 | sudo tee -a /proc/sys/fs/inotify/max_user_watches

     
    Je VPS automatisch scannen met een cronjob

    Aan het begin van dit artikel gaven wij aan dat de ClamAV daemon aardig wat RAM gebruikt. Als alternatief kun je ook de ClamAV-daemon niet installeren en een cronjob aanmaken waarmee je automatisch de handmatige ClamAV scan uitvoert (met een cronjob maak je een taak op je VPS om een of meerdere opdrachten uit te voeren op vaste momenten). Dit werkt als volgt:

     

    Stap 1

    Maak een cronjob aan met het commando:

    crontab -e

     

    Stap 2

    Geef je cronjob bijvoorbeeld de volgende inhoud:

    SHELL=/bin/bash
    HOME=/
    * */1 * * * date >> /var/log/clamav_log
    * */1 * * * clamscan --exclude-dir=/proc/* --exclude-dir=/sys/* -i -r /

    Kort samengevat doet bovenstaand het volgende:

    • De cronjob wordt uitgevoerd ieder uur (gedefinieerd door * */1 * * *). Wil je liever dagelijks op een specifiek moment scannen? Voor iedere dag om 18:00 gebruik je bijvoorbeeld * 18 * * *. Op https://crontab.guru/ kun je zien hoe je in een cronjob specifieke tijden opgeeft.
    • date >> /var/log/clamav_log: dit stukje zorgt dat iedere keer dat de cronjob wordt uitgevoerd in /var/log/clamav_log op een nieuwe regel aan het eind van /var/log/clamav_log de datum en tijd wordt vermeld van de synchronisatie.
    • Het Clamscan commando wordt onder 'handmatig scannen met ClamAV' nader toegelicht. De toevoeging  /var/log/clamav_log zorgt ervoor dat de output wordt weggeschreven naar /var/log/clamav_log (onder de datum en tijd). Zo kun je altijd terugkijken hoe de scan verlopen is via cat /var/log/clamav_log | less.

    Het runnen van het clamscan commando zal, zolang de scan loopt, een verhoogd gebruik van je hardware veroorzaken. Hou hier rekening mee bij het vaststellen van de tijden waarop je de scan laat uitvoeren.

    Desgewenst verwijder je de cronjob (i.e. alle cronjobs in de crontab) als volgt:

    crontab -r
    

    Je kan ook de bestaande aanpassen met:

    crontab -e

    Je cronjob zelf controleer je (zonder hem aan te passen) met:

    crontab -l

    Let op: gebruik je een custom logfile-directory zoals hierboven, vergeet dan niet die aan te maken (mkdir /var/log/siteupdates).


     

    Je VPS handmatig scannen

    Handmatig scannen met ClamAV

    ClamAV scant enkel bestanden waartoe de uitvoerende gebruiker rechten heeft. Scan daarom altijd als root-user, of gebruik sudo.

    Voor de handmatige versie gebruik je het commando:

    clamscan --exclude-dir=/proc/* --exclude-dir=/sys/* -i -r /
    • Met de toevoeging --exclude-dir=/proc/* en --exclude-dir=/sys/* zorg je dat ClamAV deze mappen niet scant. De /proc/ en /sys/ mappen zijn virtuele bestandssystemen die o.a. de communicatie tussen de hardware van je VPS / de processen van je VPS en je OS verzorgt.
    • -i (infected) zorgt ervoor dat alleen geïnfecteerde bestanden getoond worden
    • -r (recursive) zorgt ervoor dat alle onderliggende mappen gescand worden
    • geeft aan dat alle mappen van je VPS gescand worden. Je kunt hiermee dus ook specifieke mappen, e.g. /etc/

     
    Handmatig scannen met ClamD

    Je kunt ook met de ClamAV-daemon handmatig je OS scannen, maar deze heeft minder scan opties dan clamscan en is vooral bedoelt om specifieke mappen te scannen, niet je hele OS in een keer. De syntax die je hiervoor kunt gebruiken is:

    clamdscan --fdpass -i /etc
    • --fdpass: de ClamAV-daemon wordt door de gebruiker ClamAV uitgevoerd en heeft weinig rechten tot mappen. Met --fdpass geef je de rechten van de gebruiker waarmee je werkt aan clamdscan. Voer je dit commando als root-user uit, dan heeft clamdscan met --fdpass dus rechten om alle mappen te scannen waar de root-user toegang toe heeft.
    • -i (infected) zorgt ervoor dat alleen geïnfecteerde bestanden getoond worden
    • /etc Geeft aan welke map je (recursief) wil scannen.

    Het scannen met ClamD maakt gebruik van de configuratie in clamd.conf. Je kunt dit bestand editen om het scannen naar je eigen wens aan te passen:

    nano /etc/clamav/clamd.conf
    

     

    Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op