Mailgraph a pflogsumm – dvojice nástrojů vám řekne, zda váš server nemailuje až příliš

Když jsem nedávno dával do pořádku nastavení mailů na jednom ze svých serverů, říkal jsem si, že by nebylo špatné vědět, kolik zpráv ze serveru vlastně odchází. A dobře, že jsem se o to zajímal, bylo co napravovat.

Po pravdě řečeno, nikdy jsem moc neřešil, zda, co, kam a jak často moje weby posílají za e-maily. Byť to není úplně nejlepší má vizitka. Maxiorel.cz byl propojen na Mandrill (dokud jej nedávno nezrušili) a tam bylo hezky vidět, jak moc je server odesílající e-maily vytížený. U těch ostatních jsem to nechával na poštovním programu na serveru a nijak jsem neřešil, jestli není nadužíván, zda se mi pak nevrací nějaké e-maily, nebo jestli snad server neslouží jako spamovací farma.

Ale před pár týdny jsem musel z Mandrillu přejít na jiné řešení. Zaujal mě Sendgrid, ale vzhledem k malým objemům mailů, které posílám, jsem se rozhodl upravit SPF záznamy u domény, pokusil se aktivovat DKIM a vše otestoval pomocí Mail testeru. Zprávy chodí bezvadně a jediné, co mě ještě hlodalo, byla statistika toho, kolik zpráv z webu denně odchází. Přeci jen to není tak dlouho, co jsem řešil něčí weby napadené havětí rozesílající spam. Hosting to tehdy řešil zablokováním mailovací funkce v PHP na daných webech.

Mimochodem, Wedos podobnou situaci, kdy napadený web rozesílá spamy, neřeší zablokováním maileru, ale kompletním zablokováním webu. A protože to není skutečný multihosting, zablokuje všechny weby, které máte na jednom jeho hostingu umístěny. Alespoň tak praví zkušenost mého kamaráda.

Pflogsumm

První z dvojice nástrojů, které jsem využil k analyzování e-mailů rozesílaných serverem, je analyzátor logu Postfixu, který zjištěná data pošle do e-mailu na zvolenou adresu. Nainstalujete jej příkazem aptitude install pflogsumm.

Následně stačí spustit příkaz v následujícím tvaru, samozřejmě s upravenou IP:

pflogsumm /var/log/mail.log | formail -c -I"Subject: Mailova statistika" -I"From: pflogsumm@localhost" -I"To: vas@mail" -I"Received: from www.domena.tld ([192.168.0.1])" | sendmail vas@mail

Údaje o mailech poté uvidíte ve zprávě, která vám dorazí. Oproti následujícímu nástroji Mailgraph není nijak hezky formátovaná, ale zase má řadu údajů navíc. Pokud chcete statistiku do své poštovní schránky pravidelně, zde najdete návod, jak vytvořit skript a přidat jej do cronu.

Pflogsumm

Mailgraph

Tento program nebo spíše CGI skript napsaný v Perlu zobrazuje obrázkové grafy o využití Postfixu či Sendmailu. Z nasbíraných dat pak vyprodukuje denní, týdenní, měsíční a roční grafy odeslaných, přijatých, odmítnutých a vrácených e-mailů. Jak co se jejich poštu týče, tak i ve formě počtu velikosti dat.

Instalace nástroje Mailgraph je docela jednoduchá, alespoň v Debianu. Spustil jsem aptitude install rrdtool mailgraph, a poté dpkg-reconfigure mailgraph. Druhý příkaz spustil v konzoli jednoduchého průvodce nastavením, kde se určuje cesta k logu mailserveru a informace o zpracovávání spamu/virů.

Následně je potřeba soubor mailgraph.cgi zkopírovat do složky, odkud bude na webu čitelný, například:

cp -p /usr/lib/cgi-bin/mailgraph.cgi /var/www/www.example.com/cgi-bin

Na mém serveru s Virtualminem to tak jednoduché nebylo. Skript jsem nakopíroval do složky /home/jmenowebu/cgi-bin, ale po načtení domena.tld/cgi-bin/mailgraph.cgi vracel chybu 500 Internal server error.

Vyžadovalo to ještě chmod úpravu na 755 a přepsání části skriptu na konkrétní doménu, některé proměnné mi v něm prostě nefungovaly. Dále jsem do hlavičky přidal styly z původního CSS ve zdrojové složce.

Mailgraph

A co mi to přineslo?

Výsledky mě nepříjemně překvapily. Že mi Mollom chrání spolehlivě komentáře na Maxiorlovi, ale už ne tak dobře registrační formulář pro založení nových uživatelů, to jsem věděl. Bylo to vidět i ve statistice, protože Drupal rozesílá zprávy všem registrovaným uživatelům pro potvrzení.

Nasadil jsem tedy Captcha Riddler, spamové pokusy o vytváření účtů okamžitě ustaly a za pomoci Administration Views jsem stovky falešných uživatelských účtů smazal.

Ovšem z nějakého důvodu mi nedošlo, že problém s tímto mám i na několika dalších, minimálně navštěvovaných webech s WordPressem a Drupalem. Tam jsem to nakonec vyřešil zákazem komentářů, přechodem na Disqus a zákazem registrací či nasazením Captcha Riddleru, případně různou kombinací těchto věcí.

Poučení? Neškodí se na server podívat nejenom po stránce aktualizací a toho, zda weby jedou, ale i z pohledu, co se děje za závěsem.

Tagy

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

návštěvník

Také jsem nakonec vybral sendgrid. Až nyní člověk přichází na to, jak byl mandrill vymakaný nástroj a ostatním spousta funkcí chybí (pokročilé statistiky, historie emailů, apod.).

Málokdo má ale možnost na server instalovat cokoliv, takže pro drupal bych spíše doporučil mail logger a nebo přímo statistiky v sendgrid.

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