Pereiti prie pagrindinio turinio

SPAM laiškų siuntimo šaltinio identifikavimas Postfix serveryje

Atnaujinta prieš daugiau kaip 2 sav.

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

Ar gavote atsakymą į savo klausimą?