Přihlásit se

Joomla 5.2.2 Security & Bugfix Release

Joomla 5.2.2 je nyní k dispozici. Jedná se o bezpečnostní vydání pro Joomla 5.x.

Odesílání spamu přes phpmailer.php – jak zakázat?

25. úno 2019 14:55 - 25. úno 2019 14:56 #139183
Odpověď od Martin70
Zkušený uživatel

MaK. napsal: Jak prosím natvrdo zakázat funkci phpmailer.php? Stačí soubor přejmenovat, odstranit, anebo upravit? Bude změna trvalá nebo se po další aktualizaci J! zase zprovozní?


Podle mě (a píšou to i v tom článku) - pokud přejmenuješ phpmailer, tak vždy po upgradu Joomla to budeš muset udělat znovu.

Pokud to chceš odstranit "hlava nehlava", napadlo mě v Joomle v Globálním nastavení nastavit SMTP (místo PHP mail) a nevyplňovat SMTP user ani heslo. Pak se prostřednictvím Joomla nebude dát nic odesílat, ne?

25. úno 2019 14:59 #139184
Odpověď od Pavel [byPV]
Začátečník
Já osobně se domnívám, že na to jdete úplně špatně...

Pokud chcete skutečně zakázat odesílání e-mailů, tak nejjistější řešení je zakázat to na úrovni serveru/hostingu. Knihovna PHPMailer je integrovaná v Joomla! na úrovni jádra a tudíž tam být musí a pravděpodobně by po smazaní Joomla! padla a bylo by nutné více úprav. Také můžete zkusit vypnout odesílání e-mailů v konfiguraci Joomla!, ale pokud někdo využívá knihovnu PHPMailer napřímo (a nebo ji ani nevyužívá a využívá PHP funkci mail()), tak tím nic nevyřešíte.

Pokud někdo skutečně zneužívá nějakou chybu v této knihovně (podle mého nepravděpodobné), tak je možné ji zkusit aktualizovat, ale v poslední verzi Joomla! je poslední verze PHPMailer ve větvi 5.x, tudíž není kam aktualizovat a nevím jestli je větev 6.x plně kompatibilní.

Spíš bych viděl na problém v tom, že se Vám prostě do webu někdo naboural a má tam teď umístěné skripty, které mu umožňují provádět v systému cokoli. Tzn., že i kdyby jste se PHPMaileru zbavil, tak začne posílat maily jinak a nebo si tam případně PHPMailer znovu nahraje ;-). Dokud tedy ten škodlivý kód nenajdete, nezbavíte se ho a nezalepíte cestu, kudy se Vám tam dostal (nejjednodušší je nahlédnout do access.log v době, kdy se rozeslal SPAM), tak je vše co uděláte jen dočasné řešení. A navíc ani zákaz rozesílání e-mailů nijak nezmění fakt, že má například někdo plný přístup k Vašemu webu a může tam cokoli.

Nedívejte se však na to jen z pohledu, že jediná možnost jak se k Vám nabourat, je přes formuláře na webu. Zranitelný může být naprosto jakýkoli skript na Vašem webu a je úplně jedno co ten skript dělá, zda-li je na první pohled přístupný z URL (to vážně nemusí) a nebo jestli je součástí jádra Joomla!, externí knihovny a nebo nějaké šablony, komponenty, modulu či pluginu.

Navíc, pokud máte jak sám píšete, některé weby na zastaralých verzích Joomla! a nezáplatujete si je manuálně, tak je dost možné, že se Vám tam útočník dostal přes ně. A pokud ty weby sdílí hosting (tzn. např. více domén a složek na jednom placeném programu), tak dost hostingů co jsem v životě potkal nijak neodděluje tyto weby na úrovni systému a každý web má prakticky plný přístup k ostatním webům okolo. Tím chci říci, že pokud to máte jak popisuji, tak je také klidně možné, že Vám někdo hacknul nezáplatovanou Joomla! 1.5 a z ní se dostal (a něco si nahrál) do ostatních webů.

Tudíž, pokud to tak máte a budete čistit jeden hacknutý web, tak je potřeba zkontrolovat i vše ostatní na stejném hostingu, jinak je otázka času, než se malware zase rozleze po okolí.

Co já mám zkušenost, tak se většina malwaru chová tak, že když útočník najde slabé místo kudy tam něco dostat, tak pak co nejdříve volá vzdálené příkazy, které umožní škodlivému kódu se v různých podobách rozkopírovat na co nejvíce míst a co nejhlouběji do webu (termín "virus" je zde na místě ;-)). Během chvilky může být napadeno třeba 100 souborů a když útočník hodlá rozeslat e-maily a jeden např. nefunguje, tak prostě zvolí jiný a nebo si kdykoli napadne další soubory, aby měl další "zálohu" až na ty původní přijdete a opravíte/smažete. Jsou to hrozní hajzlící a dokud se nezbavíte všeho a naráz a nezalepíte díru kudy přišel první malware, tak to může být, jak se říká, boj s větrnými mlýny :-(.

25. úno 2019 15:02 - 25. úno 2019 15:02 #139185
Odpověď od MaK.
Zkušený uživatel
To jsem zkoušel, přepnout na SMTP, ale nepomohlo.

MaK.

Martin70 napsal:

MaK. napsal: Jak prosím natvrdo zakázat funkci phpmailer.php? Stačí soubor přejmenovat, odstranit, anebo upravit? Bude změna trvalá nebo se po další aktualizaci J! zase zprovozní?


Podle mě (a píšou to i v tom článku) - pokud přejmenuješ phpmailer, tak vždy po upgradu Joomla to budeš muset udělat znovu.

Pokud to chceš odstranit "hlava nehlava", napadlo mě v Joomle v Globálním nastavení nastavit SMTP (místo PHP mail) a nevyplňovat SMTP user ani heslo. Pak se prostřednictvím Joomla nebude dát nic odesílat, ne?


--- -- -

25. úno 2019 15:12 #139186
Odpověď od Pavel [byPV]
Začátečník

MaK. napsal: To jsem zkoušel, přepnout na SMTP, ale nepomohlo.

MaK.

Pokud ano, tak to očividně nevyužívá rozesílání maily skrze Joomla! (a její konfiguraci) a používá se PHPMailer buď na přímo a nebo se také vůbec nepoužívá. Jak poznali z hostingu, že je zneužíván právě PHPMailer? Jen odhadují, nebo mají nějaký důkaz? Do hlavičky mailu odesílaného přes PHP funkci mail(), SMTP či jinak si můžete kdokoli napsat cokoli, tzn. i to, že je to např. z GMailu, Thunderbirdu či PHPMaileru, ale to nic neznamená.

25. úno 2019 15:23 #139187
Odpověď od MaK.
Zkušený uživatel
Díky za obsáhlý rozbor, Pavle,

napříč weby by se to snad samo šířit nemělo, pro jistotu jsem se ale poptal u hostingu.

Ono to asi zřejmě nemá moc řešení. I když bych tu špínu našel, odstranil, a znovu použil všechna rozšíření, co na webu jsou, tak to tam bude zřejmě za nějaký čas znovu. Nějaké rozšíření je asi děravé, ale pravděpodobně nemám šanci zjistit, které. Může to být asi cokoliv…

MaK.

Pavel [byPV.org] napsal: Já osobně se domnívám, že na to jdete úplně špatně...

Pokud chcete skutečně zakázat odesílání e-mailů, tak nejjistější řešení je zakázat to na úrovni serveru/hostingu. Knihovna PHPMailer je integrovaná v Joomla! na úrovni jádra a tudíž tam být musí a pravděpodobně by po smazaní Joomla! padla a bylo by nutné více úprav. Také můžete zkusit vypnout odesílání e-mailů v konfiguraci Joomla!, ale pokud někdo využívá knihovnu PHPMailer napřímo (a nebo ji ani nevyužívá a využívá PHP funkci mail()), tak tím nic nevyřešíte.

Pokud někdo skutečně zneužívá nějakou chybu v této knihovně (podle mého nepravděpodobné), tak je možné ji zkusit aktualizovat, ale v poslední verzi Joomla! je poslední verze PHPMailer ve větvi 5.x, tudíž není kam aktualizovat a nevím jestli je větev 6.x plně kompatibilní.

Spíš bych viděl na problém v tom, že se Vám prostě do webu někdo naboural a má tam teď umístěné skripty, které mu umožňují provádět v systému cokoli. Tzn., že i kdyby jste se PHPMaileru zbavil, tak začne posílat maily jinak a nebo si tam případně PHPMailer znovu nahraje ;-). Dokud tedy ten škodlivý kód nenajdete, nezbavíte se ho a nezalepíte cestu, kudy se Vám tam dostal (nejjednodušší je nahlédnout do access.log v době, kdy se rozeslal SPAM), tak je vše co uděláte jen dočasné řešení. A navíc ani zákaz rozesílání e-mailů nijak nezmění fakt, že má například někdo plný přístup k Vašemu webu a může tam cokoli.

Nedívejte se však na to jen z pohledu, že jediná možnost jak se k Vám nabourat, je přes formuláře na webu. Zranitelný může být naprosto jakýkoli skript na Vašem webu a je úplně jedno co ten skript dělá, zda-li je na první pohled přístupný z URL (to vážně nemusí) a nebo jestli je součástí jádra Joomla!, externí knihovny a nebo nějaké šablony, komponenty, modulu či pluginu.

Navíc, pokud máte jak sám píšete, některé weby na zastaralých verzích Joomla! a nezáplatujete si je manuálně, tak je dost možné, že se Vám tam útočník dostal přes ně. A pokud ty weby sdílí hosting (tzn. např. více domén a složek na jednom placeném programu), tak dost hostingů co jsem v životě potkal nijak neodděluje tyto weby na úrovni systému a každý web má prakticky plný přístup k ostatním webům okolo. Tím chci říci, že pokud to máte jak popisuji, tak je také klidně možné, že Vám někdo hacknul nezáplatovanou Joomla! 1.5 a z ní se dostal (a něco si nahrál) do ostatních webů.

Tudíž, pokud to tak máte a budete čistit jeden hacknutý web, tak je potřeba zkontrolovat i vše ostatní na stejném hostingu, jinak je otázka času, než se malware zase rozleze po okolí.

Co já mám zkušenost, tak se většina malwaru chová tak, že když útočník najde slabé místo kudy tam něco dostat, tak pak co nejdříve volá vzdálené příkazy, které umožní škodlivému kódu se v různých podobách rozkopírovat na co nejvíce míst a co nejhlouběji do webu (termín "virus" je zde na místě ;-)). Během chvilky může být napadeno třeba 100 souborů a když útočník hodlá rozeslat e-maily a jeden např. nefunguje, tak prostě zvolí jiný a nebo si kdykoli napadne další soubory, aby měl další "zálohu" až na ty původní přijdete a opravíte/smažete. Jsou to hrozní hajzlící a dokud se nezbavíte všeho a naráz a nezalepíte díru kudy přišel první malware, tak to může být, jak se říká, boj s větrnými mlýny :-(.


--- -- -

25. úno 2019 15:34 #139188
Odpověď od Ernst
Joomla Expert
nevím, jestli je to s tím antivirem jasné.
Já jsem navrhoval stáhnout webový prostor (celý web) pomocí ftp nebo i jinak na lokální disk (flash, či cokoliv jiného) a nechat to pod windows zkontrolovat antivirem.
Tedy ne pouštět antivir na serveru či si nechat nějak antivirem měnit obsah webu.

Powered by Fórum