Jak zdarma kontrolovat napadení webů pomocí ClamAV

Nevýhodou mnoha placených i bezplatných online skenerů webů je skutečnost, že detekují až nákazu posílanou do prohlížeče uživatele. Jenže škodlivý kód umístěný třeba v souborech PHP může posílat spamy, mazat vám obsah z redakčního systému, dělat další škodolibosti, ale přitom do prohlížeče nic navíc neposílat.

Čas od času řeším napadané weby na Drupalu a WordPressu, u kterých se jejich majitelé vykašlali na aktualizace. U takových webů je obvykle nějaký škodlivý kód umístěný v index.php a dalších souborech, a to pomocí Unicode značek s funkcí include. Vlastní includovaný škodlivý kód je pak umístěn v nějakém na pohled neškodném souboru. Například v ikonce nebo něčem jako je skrytý soubor s obrázkem.

Máte-li lepší webhosting, upozorní vás na takový problém sám. Máte-li vlastní virtuální nebo dedikovaný server, je na vás, abyste svoje weby nejenom pravidelně aktualizovali, ale také čas od času zkontrolovali.

Jednou z možností, jak prověřit programové soubory webu psaného v PHP, je využití známého bezplatného antiviru ClamAV. Ten sice v základu kontroluje klasické napadení souborů běžnými viry a jiným malwarem, ale můžete jej přizpůsobit i pro kontrolu PHP skriptů.

Instalace ClamAV na server a do počítače

Většina linuxových distribucí, které pravděpodobně budete mít na svém serveru nejčastěji, obsahuje ClamAV ve svém balíčkovacím systému.

V Debianu, Ubuntu a jejich odvozeninách tedy spustíte instalaci následovně:

apt-get install clamav clamav-daemon

V RedHatu, CentOS a jim podobných použijete podobný příkaz:

yum install clamav clamav-scanner clamav-scanner-systemd clamav-server clamav-server-systemd clamav-update

U RedHatu je možné, že budete muset předtím ještě spustit instalaci Extra Packages for Enterprise Linux: yum install epel-release.

Na počítači s Windows je možné použít instalační balíček přímo z webu www.clamav.net. Na Macu spustíte instalaci nejlépe s využitím Homebrew, a to pomocí příkazu v Terminálu:

brew install clamav

Nastavení ClamAV pro kontrolu PHP a aktualizace definic

Nyní je potřeba doplnit do konfiguračních souborů instrukce pro stažení signatur PHP Malware od Malware Expert. Díky nim bude ClamAV schopen rozpoznat nakažené soubory s kódem webu.

V RedHatu zeditujte soubor /etc/freshclam.conf, v Debianu jej najdete v umístění /etc/clamav/freshclam.conf. Používám Debian s editorem nano, takže příkaz pro editaci v mém případě vypadal následovně:

nano /etc/clamav/freshclam.conf

Do konfiguračního souboru přidejte na konec následující řádky a uložte jej.

DatabaseCustomURL http://cdn.malware.expert/malware.expert.ndb
DatabaseCustomURL http://cdn.malware.expert/malware.expert.hdb
DatabaseCustomURL http://cdn.malware.expert/malware.expert.ldb
DatabaseCustomURL http://cdn.malware.expert/malware.expert.fp

Na Macu je třeba po instalaci ClamAV překopírovat soubory clamd.conf.sample a freshclam.conf.sample ve složce /usr/local/etc/clamav na stejný název, ale bez přípony sample. Nebo je jenom přejmenujte. V obou souborech na Macu zakomentujte nebo smažte řádek se slovem Example. Upravte další konfigurační nastavení dle libosti a přidejte nakonec výše zmíněnou čtveřici řádků.

Ve Windows se ve správci souborů přepněte do složky c:\program files\clamav a překopírujte oba konfigurační soubory z podsložky conf_examples o patro výše. I ve Windows z nich poté odeberte nebo zakomentujte řádek Example a doplňte výše uvedenou čtveřici dalších definic.

Po úpravě konfiguračních souborů spusťte v macOS i na Linuxu příkaz pro stažení aktuálních definic škodlivého softwaru:

freshclam

Spuštění kontroly webu

V příkazovém řádku se nyní přepněte do složky, ve které se nachází soubory webu, který byste chtěli zkontrolovat. V Linuxu tedy tam, kde máte živý web, v macOS třeba do složky se staženým webem, u kterého máte podezření na nákazu.

Ve složce s webem pak zadejte prostý příkaz:

clamscan

Antivir projde soubory nacházející se v aktuálním umístění a zobrazí vám přehled kontrolovaných souborů a souhrn s počtem nákaz a časem trvání kontroly. V reálu budete potřebovat zkontrolovat i soubory ve všech podsložkách a nejlépe si nechat průběžně vypisovat jenom napadené soubory.

Následující příkaz to udělá přesně tak, navíc ještě vytvoří soubor se seznamem napadených souborů:

clamscan -ir | tee clamscan.log

Je pak na vás, abyste napadené soubory prošli a vyčistili. V případě běžných redakčních systémů je samozřejmě nejrychleji vyléčíte tím, že je přepíšete čistou verzí z instalačního balíčku, případně smažete, pokud na webu nemají co dělat.

ClamAV

Další možnosti kontroly

ClamAV je jen jednou z možností, jak hledat malware uvnitř složky s webem. Vyzkoušejte i prográmek Malware Detection či maldet nebo též Linux Malware Detect. Trojice názvů patří open source nástroji kontrolujícímu data v prostředí webu.

Nedávno mě zaujal také ImunifyAV nabízející pěkné uživatelské rozhraní. V základu je sice zdarma, ale zatím funguje jen s ovládacími panely cPanel, Plesk, ISP manager a Direct Admin. Prémiová verze vyjde na 6 dolarů měsíčně.

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru