Debian server beheer

ClamAV anti-virus: mappen automatisch scannen

In het hoofdstuk over mail filteren hebben we ClamAV geïnstalleerd. ClamAV scant automatisch de inkomende en uitgaande mail. Maar ClamAV kan nog veel meer.

Map scannen

Een map scannen met ClamAV is eenvoudig:

clamscan -r /home

Hiermee wordt de map /home gescand. De -r optie betekent recursief: doorzoek ook alle onderliggende mappen. Dit geeft een hele lange rij resultaten:

/home/user/public_html/webalizer/index.html: OK /home/user/public_html/webalizer/ctry_usage_201306.png: OK /home/user/public_html/webalizer/usage.png: OK /home/user/public_html/webalizer/daily_usage_201306.png: OK /home/user/public_html/webalizer/hourly_usage_201306.png: OK /home/user/public_html/webalizer/webalizer.hist: OK

Om de uitkomsten in te korten gebruik je de -i optie, die alleen besmette bestanden toont:

clamscan -r -i /home

/home/user1/Maildir/.Sent Messages/cur/1371366081.M455739P16488.server1,S=1114,W=1148:2,Sab: Eicar-Test-Signature FOUND /home/user2/Maildir/cur/1371078159.H383368P28488.web01.instantdedicated.com,S=14365:2,S: Heuristics.Phishing.Email.SSL-Spoof FOUND

Dat is al een stuk overzichtelijker. In beide bovenstaande voorbeelden krijg je ook een samenvatting van de scan:

----------- SCAN SUMMARY ----------- Known viruses: 2394297 Engine version: 0.97.8 Scanned directories: 74 Scanned files: 963 Infected files: 2 Data scanned: 62.16 MB Data read: 247.55 MB (ratio 0.25:1) Time: 13.202 sec (0 m 13 s)

Uitvoer naar een log-file

clamscan slaat standaard niets op in een log. Je kunt dat wel zelf doen door de scan alsvolgt uit te voeren:

clamscan -r -i /home | grep -i found >> /var/log/clamav/clamscan.log

De uitvoer van clamscan geef je door aan grep. Grep zoekt op 'found' en wat er dan overblijft slaan we op in het bestand clamscan.log. Als je nu in dat bestand kijkt zie je:

home/user/Maildir/.Sent Messages/cur/1371366081.M455739P16488.server1,S=1114,W=1148:2,Sab: Eicar-Test-Signature FOUND

Overigens is dat virus het testvirus dat we in een eerder hoofdstuk gebruikten.

Automatisch scannen en resultaten mailen

Je kunt de resultaten van de scan ook aan jezelf laten mailen:

clamscan -r /home -i | grep -i "found" | mail -s "ClamAV Scan" jij@domein.nl

Om het nog mooier te maken gaan we deze scan automatiseren. Open je crontab bestand:

crontab -e

Voeg daarin de volgende regel toe:

30 3 * * * clamscan -r /home -i | grep -i "found" | mail -s "ClamAV Scan" jij@domein.nl

Sla op met control-o en sluit af met control-x. De scan draait nu iedere nacht om 3:30 en mailt je de resultaten. Zie ook het hoofdstuk over cron voor meer informatie.

Waarom de /home directory?

Uiteraard kun je alle mappen op de server scannen. Maar de /home directory is waar al mijn gebruikers hun mail hebben staan. Ook staan daar de websites en eventuele uploads die daarbij horen. Voorzover mijn gebruikers toegang hebben tot ftp en scp zijn ze beperkt tot de /home map. Daarom vind ik dat de enige zinvolle map om te scannen.