[+] Zap

Konfiguracja serwerów, usług, itp.
godweles
Posty: 8
Rejestracja: 25 września 2011, 21:13

[+] Zapętlone wysyłanie poczty po uruchomieniu skryptu php

Post autor: godweles »

Witam!
Dzisiaj napisałem skrypt w PHP na wysyłanie e-maili do każdego kogo mam w bazie, i przypadkowo napisałem zapętlenie wysyłania tych wiadomości.
Wysyła 100 e-maili na sekundę, czy jakoś tak, bo na skrzynkę lecą jak szalone.
Próbowałem restartować serwer itp. i bez skutku, ciągle je wysyła - non stop.
Wie ktoś może jak zatrzymać to szaleństwo w systemie?
Pozdrawiam.
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post autor: VMLine »

Polecenie:

Kod: Zaznacz cały

killall -9 php
godweles
Posty: 8
Rejestracja: 25 września 2011, 21:13

Post autor: godweles »

Kod: Zaznacz cały

php: no process found
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post autor: VMLine »

To zabij proces MTA (postfix, exim, sendmail), ewentualnie może php leci na cgi. Pokaż wynik polecenia:

Kod: Zaznacz cały

ps aux | grep php
oraz

Kod: Zaznacz cały

netstat -tanpu | grep 25
godweles
Posty: 8
Rejestracja: 25 września 2011, 21:13

Post autor: godweles »

Kod: Zaznacz cały

root@lh:~# ps aux | grep php
www-data  9226  2.0  0.4  42464 12800 ?        S    21:38   0:01 /usr/bin/php-cgi -d open_basedir=/var/www/clients/client1/web42/web:/var/www/clients/client1/web42/tmp:/var/www/mpgforum.eu/web:/srv/www/mpgforum.eu/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin -d upload_tmp_dir=/var/www/clients/client1/web42/tmp -d session.save_path=/var/www/clients/client1/web42/tmp
www-data  9257  0.0  0.3  40160  9396 ?        S    21:38   0:00 /usr/bin/php-cgi -d open_basedir=/var/www/clients/client1/web37/web:/var/www/clients/client1/web37/tmp:/var/www/alvio.pl/web:/srv/www/alvio.pl/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin -d upload_tmp_dir=/var/www/clients/client1/web37/tmp -d session.save_path=/var/www/clients/client1/web37/tmp
www-data  9412  0.7  0.3  40240 10140 ?        S    21:38   0:00 /usr/bin/php-cgi -d open_basedir=/var/www/clients/client1/web31/web:/var/www/clients/client1/web31/tmp:/var/www/wyraj.eu/web:/srv/www/wyraj.eu/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin -d upload_tmp_dir=/var/www/clients/client1/web31/tmp -d session.save_path=/var/www/clients/client1/web31/tmp
www-data  9548  0.0  0.2  40136  9284 ?        S    21:38   0:00 /usr/bin/php-cgi -d open_basedir=/var/www/clients/client3/web13/web:/var/www/clients/client3/web13/tmp:/var/www/basicmt2.pl/web:/srv/www/basicmt2.pl/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin -d upload_tmp_dir=/var/www/clients/client3/web13/tmp -d session.save_path=/var/www/clients/client3/web13/tmp
www-data  9574  0.0  0.2  40000  8580 ?        S    21:38   0:00 /usr/bin/php-cgi -d open_basedir=/var/www/clients/client1/web46/web:/var/www/clients/client1/web46/tmp:/var/www/wyraj.com/web:/srv/www/wyraj.com/web:/usr/share/php5:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin -d upload_tmp_dir=/var/www/clients/client1/web46/tmp -d session.save_path=/var/www/clients/client1/web46/tmp
root      9746  0.0  0.0   3304   756 pts/0    S+   21:38   0:00 grep php

Kod: Zaznacz cały

root@lh:~# netstat -tanpu | grep 25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1971/master
tcp        0      0 127.0.0.1:10025         0.0.0.0:*               LISTEN      1971/master
tcp        0      0 46.105.224.129:56594    74.125.39.27:25         ESTABLISHED 10181/smtp
tcp        0      0 46.105.224.129:56580    74.125.39.27:25         TIME_WAIT   -
tcp        0      0 127.0.0.1:36322         127.0.0.1:10025         ESTABLISHED 8955/amavisd (ch1-0
tcp        0      0 46.105.224.129:56588    74.125.39.27:25         ESTABLISHED 2118/scache
tcp        0      0 46.105.224.129:56589    74.125.39.27:25         ESTABLISHED 2118/scache
tcp        0      0 127.0.0.1:36299         127.0.0.1:10025         ESTABLISHED 8816/amavisd (ch1-0
tcp        0      0 46.105.224.129:56572    74.125.39.27:25         TIME_WAIT   -
tcp        0      0 46.105.224.129:47884    74.125.127.27:25        TIME_WAIT   -
tcp        0      0 46.105.224.129:39920    193.17.41.214:25        ESTABLISHED 10144/smtp
tcp        0      0 46.105.224.129:32811    217.74.65.64:25         TIME_WAIT   -
tcp        0     16 46.105.224.129:35376    74.208.5.90:25          ESTABLISHED 10088/smtp
tcp        0     68 46.105.224.129:22       77.252.80.25:64600      ESTABLISHED 3289/0
tcp        0      0 127.0.0.1:10025         127.0.0.1:36322         ESTABLISHED 2126/smtpd
tcp        0      0 46.105.224.129:56536    74.125.39.27:25         TIME_WAIT   -
tcp        0      0 46.105.224.129:56579    74.125.39.27:25         TIME_WAIT   -
tcp        0      0 127.0.0.1:10025         127.0.0.1:36299         ESTABLISHED 2093/smtpd
tcp        0      0 46.105.224.129:56503    74.125.39.27:25         TIME_WAIT   -
tcp        0      0 46.105.224.129:56526    74.125.39.27:25         TIME_WAIT   -
tcp6       0      0 :::25                   :::*                    LISTEN      1971/master
tcp6       0      0 46.105.224.129:80       83.11.141.141:25202     ESTABLISHED 9966/apache2
tcp6       0      0 46.105.224.129:80       94.251.243.135:1758     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       94.251.243.135:1868     ESTABLISHED 9670/apache2
tcp6       0      0 46.105.224.129:80       94.251.243.135:1764     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       193.169.114.99:2586     FIN_WAIT2   9707/apache2
tcp6       0      0 46.105.224.129:80       83.11.141.141:25206     ESTABLISHED 9669/apache2
tcp6       0      0 46.105.224.129:80       83.11.141.141:25126     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       89.25.224.174:1504      FIN_WAIT2   -
tcp6       0      0 46.105.224.129:80       89.25.224.174:1511      FIN_WAIT2   -
tcp6       0      0 46.105.224.129:80       89.25.224.174:1509      FIN_WAIT2   -
tcp6       0      0 46.105.224.129:80       89.25.224.174:1510      FIN_WAIT2   -
tcp6       0      0 46.105.224.129:80       94.251.243.135:1878     ESTABLISHED 10087/apache2
tcp6       0      0 46.105.224.129:80       94.251.243.135:1748     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       83.11.141.141:25201     ESTABLISHED 9965/apache2
tcp6       0      0 46.105.224.129:80       77.252.80.25:1142       ESTABLISHED 9937/apache2
tcp6       0      0 46.105.224.129:80       94.251.243.135:1874     ESTABLISHED 7848/apache2
tcp6       0      0 46.105.224.129:80       83.11.141.141:25204     ESTABLISHED 9967/apache2
tcp6       0      0 46.105.224.129:80       89.25.224.174:1508      FIN_WAIT2   -
tcp6       0      0 46.105.224.129:80       83.11.141.141:25205     ESTABLISHED 8447/apache2
tcp6       0      0 46.105.224.129:80       94.251.243.135:1746     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       94.251.243.135:1752     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       94.251.243.135:1820     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       89.231.24.3:2506        ESTABLISHED 9610/apache2
tcp6       0      0 46.105.224.129:80       94.251.243.135:1814     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       89.231.24.3:2504        TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       83.11.141.141:25203     ESTABLISHED 9968/apache2
tcp6       0      0 46.105.224.129:80       89.25.224.174:1507      FIN_WAIT2   -
tcp6       0      0 46.105.224.129:80       94.251.243.135:1750     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       94.251.243.135:1755     TIME_WAIT   -
tcp6       0      0 46.105.224.129:80       77.252.80.25:1141       FIN_WAIT2   -
tcp6       0      0 46.105.224.129:80       94.251.243.135:1762     TIME_WAIT   -

Ale tak czy owak, co mi da zabicie jakiegoś procesu, skoro po restarcie systemu to nadal wysyła wiadomości pocztowe?
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post autor: VMLine »

Wpisz polecenie:

Kod: Zaznacz cały

killall -9 php-cgi
godweles
Posty: 8
Rejestracja: 25 września 2011, 21:13

Post autor: godweles »

Nadal wysyła?

Ale tak czy owak, co mi da zabicie jakiegoś procesu, skoro po restarcie systemu to nadal wysyła wiadomości pocztowe?
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post autor: VMLine »

Nie bardzo rozumiem, skrypt wysyła maile jeśli go uruchomisz, a sam może się uruchomić przeważnie z pomocą crona. Także sam powinieneś wiedzieć dlaczego uruchamia się samoistnie, musiałeś go gdzieś jeszcze dodać. Możesz zastopować MTA poleceniem:

Kod: Zaznacz cały

postfix stop

Ponadto spróbuj zlokalizować proces, który uruchamia wspomniany plik przy użyciu polecenia:

Kod: Zaznacz cały

ps aux | grep nazwa_skrypt.php
godweles
Posty: 8
Rejestracja: 25 września 2011, 21:13

Post autor: godweles »

Tzn. napisałem skrypt php, wziąłem w nim ustawiłem aby pobrał wszystkie wiadomości z bazy i wysłał im po 1 e-mailu, a zamiast tego wstawiłem pętle żeby wysyłało je w nieskończoność.
W panelu ISPConfig na tym serwerze jest kolejka wiadomości i jest napisane wszystkie e-maile typu:

Kod: Zaznacz cały

-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
DB6F6A4F87C 1060 Sun Sep 25 21:10:56 www-data
czyisemail
i na końcu:

Kod: Zaznacz cały

-- 59795 Kbytes in 56066 Requests.
Pierwsze polecenie wprawdzie zatrzymuje postfiksa i działa. Natomiast drugie polecenie nic nie wskazuje.
Nawet usuwając ten plik php nadal wysyła te maile.
Awatar użytkownika
VMLine
Beginner
Posty: 137
Rejestracja: 28 lutego 2011, 08:44
Lokalizacja: Poznań / Słupsk

Post autor: VMLine »

Dlaczego twierdzisz, że wysyła? Skoro są w kolejce, to nastąpił zapewne jakiś błąd/problem i czekają na ponowną wysyłkę.
Czyszczenie kolejki maili:

Kod: Zaznacz cały

postsuper -d ALL 
Zresetuj również serwer apache,

Kod: Zaznacz cały

apache2ctl restart
ODPOWIEDZ