Tento tutoriál vysvětluje, jak můžete integrovat ClamAV do PureFTPd pro skenování virů v systému CentOS 6.2. Nakonec, kdykoli je soubor nahrán přes PureFTPd, ClamAV soubor zkontroluje a smaže jej, pokud se jedná o malware.
1 předběžná poznámka
Na svém serveru CentOS 6.2 byste měli mít funkční nastavení PureFTPd, např. jak je ukázáno v tomto tutoriálu:Virtuální hosting s PureFTPd a MySQL (včetně správy kvót a šířky pásma) na CentOS 6.2.
2 Instalace ClamAV
ClamAV není k dispozici v oficiálních repozitářích CentOS, proto povolujeme úložiště EPEL (pokud jste tak již neučinili, například ve výukovém programu Virtuální hostování s PureFTPd a MySQL (včetně správy kvót a šířky pásma) na CentOS 6.2):
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5 .noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm
yum instalace yum-priority
Upravte /etc/yum.repos.d/epel.repo...
vi /etc/yum.repos.d/epel.repo
... a přidejte řádek priority=10 do sekce [epel]:
[epel]name=Další balíčky pro Enterprise Linux 6 – $basearch#baseurl=http://download.fedoraproject.org/pub/epel/ 6/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearchfailovermethod=priorityenabled=1priority=10gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG -KEY-EPEL-6[...] |
Poté můžeme nainstalovat ClamAV následovně:
yum install clamav clamd
Dále vytvoříme spouštěcí odkazy systému pro clamd a spustíme jej:
chkconfig --levels 235 clamd na
/usr/bin/freshclam
/etc/init.d/clamd start
3 Konfigurace PureFTPd
Nejprve otevřeme /etc/pure-ftpd/pure-ftpd.conf a nastavíme CallUploadScript na yes :
vi /etc/pure-ftpd/pure-ftpd.conf
[...]# Pokud byl váš pure-ftpd zkompilován s podporou čistého uploadscriptu,# díky tomu bude pure-ftpd psát informace o nových nahrává do# /var/run/pure-ftpd.upload.pipe, takže čistý-uploadscript to může přečíst a# vytvoří skript pro zpracování uploadu.# Tuto možnost nepovolujte, pokud ve skutečnosti nepoužíváte čistý uploadscript. CallUploadScript ano[...] |
Dále vytvoříme soubor /etc/pure-ftpd/clamav_check.sh (který bude volat /usr/bin/clamdscan vždy, když je soubor nahrán přes PureFTPd)...
vi /etc/pure-ftpd/clamav_check.sh
#!/bin/sh/usr/bin/clamdscan --remove --quiet --no-summary "$1" |
... a udělejte jej spustitelným:
chmod 755 /etc/pure-ftpd/clamav_check.sh
Nyní spustíme program pure-uploadscript jako démona – bude volat náš skript /etc/pure-ftpd/clamav_check.sh, kdykoli je soubor nahrán přes PureFTPd:
pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
Samozřejmě nechcete spouštět démona ručně pokaždé, když spouštíte systém - proto otevřeme /etc/rc.local...
vi /etc/rc.local
... a přidejte k němu řádek /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh - např. takto:
#!/bin/sh## Tento skript bude spuštěn *po* všech ostatních init skriptech.# Můžete vložit své vlastní inicializační věci zde, pokud # nechcete provést celou inicializaci ve stylu Sys V./usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.shtouch /var/lock/subsys/local |
Nakonec restartujeme PureFTPd:
/etc/init.d/pure-ftpd restart
A je to! Kdykoli se nyní někdo pokusí nahrát malware na váš server prostřednictvím PureFTPd, „špatné“ soubory budou tiše smazány.
4 odkazy
- PureFTPD:http://www.pureftpd.org/
- ClamAV:http://www.clamav.net/
- CentOS:http://www.centos.org/