ProFTPD a mod_clamav – ochrana stránek před malware útoky
Dnes bych vás chtěl seznámit s bohužel málo známým, ale zato velice užitečným modulem do FTP serveru Proftpd. Tímto modulem je mod_clamav který umožňuje kontrolovat každý nahrávaný soubor na server, což je ve dnešním světě kdy jsou webové stránky často napadány útoky škodlivého software pomocí ukradených FTP přístupových údajů z počítačů uživatelů.
Proč používat antivirovou kontrolu nahrávaných souborů na web?
Při své práci se prakticky denně setkávám s případy odcizení přístupových údajů k FTP serveru z počítačů uživatelů. Nejčastějším problémem je prosté přečtení nešifrovaného hesla a dalších potřebných údajů z uloženého spojení v aplikaci Total Commander, ale poslední dobou nejsou vyjímkou ani případy odposlechnutí FTP hesla (ne každý uživatel používá u FTP spojení TLS a zdaleka ne každý server to také podporuje). Tyto ukradené údaje bývají následně zneužívány pro další šíření škodlivého software – toho útočníci dosahují pomocí úpravy jinak korektní webové stránky, kdy právě pomocí FTP nahrají upravenou verzi obsahující kód snažící se infikovat počítač návštěvníka dané stránky (obvykle pomocí kombinace s některou z chyb použitého prohlížeče). Tyto pokusy ale ve většině případů je schopen odhalit antivir, takže můžeme pokus o takovouto modifikaci stránky zablokovt.
Instalace
Vzhledem ke změně komunikačního protokolu u antiviru ClamAV ve verzi 0.95 je nutné použít minimálně mod_clamav verze 0.11rc, která je zároveň aktuální v době psani tohoto článku (https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-0.11rc.tar.gz).
Tento postup instalace ze zdrojových kódů by měl být myslím každému administrátorovi serveru zcela jasný a asi nevyžaduje další komentář.
wget https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-0.11rc.tar.gz tar xzvf mod_clamav-0.10.tar.gz wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3.tar.gz tar xzvf proftpd-1.3.3.tar.gz cp mod_clamav-0.11rc/mod_clamav.* proftpd-1.3.3/contrib cd proftpd-1.3.3 patch -p1 < ../mod_clamav-0.11rc/proftpd.patch ./configure --with-modules=mod_clamav make make install
Konfigurace
Nejprve konfigurace admiviru ClamAV – ten již předpokládám máte nainstalovaný a funkcní. Důležitá část konfigurace /etc/clamd.conf pro správnou funkcni mod_clamav je tato:
TCPSocket 3310 TCPAddr 127.0.0.1 FixStaleSocket yes User root AllowSupplementaryGroups yes DetectPUA yes AlgorithmicDetection yes ScanPDF yes PhishingSignatures yes PhishingScanURLs yes HeuristicScanPrecedence yes PhishingSignatures yes PhishingScanURLs yes PhishingAlwaysBlockSSLMismatch no PhishingAlwaysBlockCloak no ScanHTML yes
Zbytek nastavení ClamAVu je už opravdu jen na Vašich pořebách. Maximálně jestě můžu doporučit vypnout kontrolu archivů (ScanArchive no), což v některých případech může dost brzdit nahrávání a této metody zatím škodlivý software v kombinaci s FTP+HTTP serverem nevyužívá.
No a nastavení proftpd.conf tak aby se dotazoval ClamAVu (opět uváním pouze řádky důležité pro integraci Proftpd a ClamAV).
HiddenStores on <IfModule mod_clamav.c> ClamAV on ClamServer 127.0.0.1 ClamPort 3310 ClamMaxSize 256 Kb </IfModule>
A nyní už zbývá jen proftpd server spustit nebo restartovat a vše otestovat. Pro testování se ideálně hodí soubor „eicar.com“, což je testovací vzorek dat pro antiviry. Nejedná se o skuteční virus, ale antiviry na něj jako na virus reagují. Tak je možné zcela bezpečně a za kontrolovaných podmínek provádět testy funkčnosti antivirového řešení.
RPM balík pro RHEL/CentOS
Pro uživatele distribucí RHEL a CentOS tu mám připravený RPM balík s proftpd doplněný o modul mod_clamav a nějaké další drobnosti jako například podpora scp ke které se vrátím v některém dalším článku a vysvětlím výhody a nevýhody používáni proftpd pro obsluhu SCP.
Download: proftpd-1.3.3-4.src.rpm
