Debian server beheer

Pure-ftpd met viruscontrole installeren

Pure-ftpd is een veilige FTP server en biedt de mogelijkheid om bestanden die binnenkomen aan een viruscontrole te onderwerpen. Installeren doe je met:

apt-get install pure-ftpd

Alleen toegang tot eigen mappen

Je kunt pure-ftpd vertellen dat gebruikers alleen in hun eigen mappen mogen. De configuratie van pure-ftpd staat in allemaal losse bestandjes in de map /etc/pure-ftpd/conf/. Maak een bestand aan met de naam ChrootEveryone.

nano /etc/pure-ftpd/conf/ChrootEveryone

Zet in dat bestandje alleen het woord "yes", sla op en sluit af.

Herstart pure-ftpd

service pure-ftpd restart

Gebruikers kunnen nu alleen nog in hun eigen map /home/gebruikersnaam.

ClamAv antivirus koppelen

Met pure-ftpd heb je de mogelijkheid om een koppeling met Clam-AV antivirus te maken. Elk bestand wordt dan na upload naar de server gescand op virussen. We gaan pure-ftpd eerst vertellen na elke upload een script uit te voeren:

echo "yes" > /etc/pure-ftpd/conf/CallUploadScript

Vervolgens maken we het script:

nano /etc/pure-ftpd/clamav_check.sh

In dit script komen maar twee regels:

#!/bin/sh /usr/bin/clamdscan --remove --quiet --fdpass --no-summary "$1"

--quiet zorgt er voor dat je geen uitvoer van clamdscan krijgt. De --remove optie vertelt ClamAV het bestand te verwijderen als er een virus in zit. Zorg tenslotte dat het script uitvoerbaar is:

chmod 755 /etc/pure-ftpd/clamav_check.sh

Als voorlaatste stap passen we de configuratie van pure-ftpd aan:

nano /etc/default/pure-ftpd-common

Zoek de regel met UPLOADSCRIPT= en pas die als volgt aan:

UPLOADSCRIPT=/etc/pure-ftpd/clamav_check.sh

Als laatste gaan we nu pure-ftpd herstarten:

/etc/init.d/pure-ftpd restart

Pure-ftpd met ClamAV testen

Wil je testen of ClamAV werkt download dan hier een testvirus. Let op: als je op je eigen computer een virusscanner hebt zal die reageren op dit bestand. Probeer het nu via FTP te uploaden naar je server.

controleer vervolgens je logfiles. Als ClamAV en pure-ftpd goed samenwerken zie je in /var/log/clamav/clamav.log zoiets als dit:

Mon Jun 17 07:16:34 2013 -> fd[10]: Eicar-Test-Signature(6ce6f415d8475545be5ba114f208b0ff:184) FOUND

En in /var/log/pure-ftpd/transfer.log:

localhost - wkunst [17/Jun/2013:07:16:34 +0200] "PUT /home/wkunst/public_html/_uploads/1371446194_eicar_com.zip" 200 184

FTP testen

Je kunt de ftp-server eventueel testen vanaf de command line. Installeer eerst een ftp-client:

apt-get install ftp

Vervolgens maak je een verbinding naar de lokale server:

ftp localhost

Connected to localhost. 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- 220-You are user number 1 of 50 allowed. 220-Local time is now 13:02. Server port: 21. 220-This is a private system - No anonymous login 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. Name (localhost:root):

als je vervolgens naam en wachtwoord van een lokale gebruiker ingeeft moet je toegang tot de juiste /home map krijgen. Nog een paar handige commando's die je kunt gebruiken:

lstoon bestanden in de huidige map
cdverander van map, net als in Debian zelf
byeuitloggen en afsluiten ftp-client