Problemos identifikavimas
1.1. Pirmiausia prisijunkite prie serverio su 'root' arba naudotoju.
1.2. SPAM identifikavimas per PHP galimas tik tuo atveju, jei įjungta papildoma antraštė. Tai patikrinkite su komanda:
php -i | grep mail.add_x_header
Jeigu įjungta, bus matomas rezultatas:
mail.add_x_header => On => On
Jeigu išjungta (rezultatas "mail.add_x_header => Off => Off"), įjunkite visose aktualiose PHP aplinkose (ne tik CLI) nurodant:
mail.add_x_header = On
PHP nustatymai yra keičiami php.ini faile, kuris dažniausiai gali būti talpinamas, pvz., 8.1 PHP versijos:
/etc/php/8.1/fpm/php.ini
/etc/php/8.1/apache2/php.ini
/etc/php/8.1/cli/php.ini
1.3. Po pakeitimų būtina perkrauti PHP servisą, pvz.:
systemctl restart php8.1-fpm
PASTABA: vien CLI php.ini neužtenka. Dauguma SPAM būna siunčiama per PHP-FPM arba Apache mod_php.
Laiškų eilės analizė
1. Patikrinti serverio laiškų eilę galite su komanda:
mailq
2. Pateiktame rezultate matysite šiuo metu serverio siunčiamus laiškus. Rezultatas bus panašus į pvz.:
5CFC194C2D20* 422 Thu Feb 15 11:27:25 [email protected] [email protected]
3. Norint matyti išsamesnę informaciją apie siunčiamą laišką išsirinkite vieną ID ir įveskite:
postcat -q <ID>
Pavyzdžiui, jeigu ID yra "5CFC194C2D20", tuomet komanda:
postcat -q 5CFC194C2D20
4. Šiuo atveju mums bus aktuali eilutė “X-PHP-Originating-Script”, kuri matoma laiško antraštėse. (Ši eilutė matysis, jei serverio nustatymuose bus įtraukta anksčiau minėta eilutė "mail.add_x_header = On"). Įveskite komandą (pavyzdinį ID "5CFC194C2D20" pakeiskite į savo):
postcat -q 5CFC194C2D20 | grep X-PHP-Originating-Script
Gaunamas rezultatas bus panašus į:
X-PHP-Originating-Script: 45:spamas.php
Skaičius 45 nurodo, kuris Linux naudotojas atlieka siuntimą (UID), į pavadinimas "spamas.php", kuris failas atlieka laiškų siuntimą.
5. Taigi šiuo atveju telieka surasti reikiamą failą bei jį pašalinti. Žinoma, jei buvo įterptas vienas toks failas, tikėtina, kad Jūsų serveryje yra saugumo spragų, kurias reikėtų pašalinti.
Kai "X-PHP-Originating-Script" nėra
1. Jei laiško antraštėse "X-PHP-Originating-Script" nėra randamas, tai reikštų, kad greičiausiai nepageidaujamų laiškų siuntimui naudojamas ne įterptas žalingas kodas, bet viena iš pašto dėžučių. Įveskite komandą (nepamirškite pakeisti pavyzdinio ID):
postcat -q 5CFC194C2D20 | grep sasl_username
Ji parodys, kurios pašto dėžutės prisijungimo duomenys buvo naudojami išsiunčiant laišką su ID 5CFC194C2D20.
Gautas rezultatas bus panašus į:
named_attribute: [email protected]
2. Taigi šiuo atveju reikėtų pakeisti pašto dėžutės "[email protected]" prisijungimo duomenis, bei antivirusine programa patikrinti šio naudojo įrenginius iš kurių buvo jungtasi prie pašto dėžutės.
Laiškų eilės išvalymas
1. Nepageidaujamus pavienius laiškus galite ištrinti nurodant konkretaus nepageidaujamo laiško ID, pavyzdžiui:
postsuper -d 5CFC194C2D20
2. Jeigu norite išvalyti visiškai visą laiškų eilę, komanda:
postsuper -d ALL
