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:
ls | toon bestanden in de huidige map |
cd | verander van map, net als in Debian zelf |
bye | uitloggen en afsluiten ftp-client |