Trenutno stanje: PHP2Shell. Dvije kritične PHP ranjivosti (CVSS 9.2) omogućuju zlonamjerni kod bez prijave. Zakrpe od 21. 10. 2026.Što sada učiniti →

Provjeriti odlazne veze poslužitelja

Web-poslužitelj uglavnom odgovara na zahtjeve. Ako sam uspostavlja veze prema nepoznatim odredištima, to može značiti upravljanje od strane napadača ili odljev podataka. Kako provjeriti i ograničiti odlazni promet.

Stanje 5 min čitanjaOtkrivanje i forenzika

Ukratko: Odlazne veze poslužitelja provjeravate naredbama ss -tunap ili lsof -i, koje svaku vezu pridružuju procesu. Normalne su veze prema bazi podataka, poslužitelju e-pošte, poslužiteljima za ažuriranje i poznatim sučeljima. Veze PHP procesa ili procesa web-poslužitelja prema nepoznatim odredištima, neuobičajeni portovi i trajne veze bez povoda znakovi su upozorenja na daljinsko upravljanje ili odljev podataka. Trajno pomaže filtriranje izlaza koje dopušta samo potrebna odredišta.

Zašto pogled prema van toliko otkriva

Pri traženju provale većina gleda datoteke. No napadač sa svojim pristupom želi nešto postići: dohvatiti alate, primati naredbe, iznijeti podatke ili poslužitelj koristiti za spam ili napade na druge. Sve to traži veze prema van.

Web-poslužitelj sam od sebe uspostavlja samo nekoliko veza, a većina je predvidljiva: upituje bazu podataka, predaje poštu, poziva sučelja plaćanja ili dostave i dohvaća ažuriranja. Zato strane veze ovdje osobito upadaju u oči. Prema izvješćima koja su nam dostupna odlazne veze spadaju među opće znakove upozorenja nakon provale; potvrđenih Indicators of Compromise posebno za PHP2Shell nema. Daljnje znakove sažima članak Jesam li već kompromitiran?.

Popisati odlazne veze i pridružiti ih procesima

Sljedeće naredbe samo čitaju. Izvedite ih kao root, inače nedostaju podaci o procesima.

# Sve uspostavljene TCP veze s procesom
ss -tnp state established

# TCP i UDP uključujući usluge koje osluškuju
ss -tunap

# Veze po programu i korisniku, bez razrješavanja imena
lsof -i -n -P | grep -v LISTEN

# Samo veze procesa korisnika web-poslužitelja
lsof -i -n -P -u www-data 2>/dev/null

U ispisu pazite na tri stupca: proces, odredišnu adresu s portom i korisnika. Veza php-fpm prema bazi podataka na portu 3306 je normalna. Veza programa nepoznatog imena iz /tmp prema stranoj adresi na neuobičajenom portu nije. Pod kojim korisnikom PHP radi, ovisi o distribuciji i panelu.

Normalno ili sumnjivo? Razvrstavanje

Opažanje Prije normalno Prije sumnjivo
Odredište vlastita baza podataka, poslužitelj e-pošte, poznati API-ji, poslužitelji za ažuriranje nepoznate adrese bez veze s aplikacijom
Proces php-fpm, web-poslužitelj, usluge pošte i ažuriranja nepoznati programi, procesi iz /tmp ili /dev/shm
Port 443, 3306, 5432, 587 neuobičajeni visoki portovi, portovi tipični za IRC
Trajanje kratko, u skladu sa zahtjevima trajno otvorena, i noću bez posjetitelja
Količina mala i ujednačena iznenadni skokovi u odlaznom volumenu podataka
Promet e-pošte slanje preko predviđenog poslužitelja e-pošte mnogo izravnih veza na port 25

Mnogo veza na portu 25 upućuje na slanje spama; za to postoji zaseban članak, Poslužitelj šalje spam.

Procijeniti nepoznato odredište

Strana adresa na popisu još nije dokaz. Prije odluke razjasnite kamo veza vodi i tko ju je uspostavio. I ti koraci ništa ne mijenjaju:

  1. Odrediti proces: Uzeti PID iz ss i pomoću ls -l /proc/PID/exe i naredbenog retka provjeriti koji program stoji iza.
  2. Potražiti odredište: Pomoću dig -x <IP> utvrditi naziv, a pomoću whois <IP> operatera mreže.
  3. Uskladiti s aplikacijom: Pitajte razvojnog programera ili pružatelja usluge koristi li Vaša aplikacija tu uslugu.
  4. Provjeriti tijek: Zapisnici vatrozida i mreže pokazuju otkad veza postoji i koliko je podataka teklo.
  5. Osigurati rezultate: Ispise spremiti s vremenom prije nego što išta prekinete ili blokirate.

Računajte s višeznačnim rezultatima. Mnoge legitimne usluge rade kod velikih cloud i CDN pružatelja, čije adrese ne dopuštaju zaključak o klijentu. Obrnuto, i napadači koriste unajmljene cloud poslužitelje. Poznati operater mreže stoga nije ni otkaz uzbune ni dokaz; odlučuje odgovaraju li proces i svrha Vašoj aplikaciji.

Trenutna snimka naredbom ss pokazuje samo ono što je upravo otvoreno. Kratke veze koje se uspostavljaju u minutnom taktu vidite samo u zapisnicima. Zato su zapisnici vatrozida ili tokova za pitanje odljeva podataka često važniji od pogleda na sam poslužitelj.

Važno

Ako su podaci možda napustili Vaš poslužitelj i pogođeni su osobni podaci, može postojati obveza prijave prema GDPR-u, u pravilu u roku od 72 sata. Razjasnite to rano sa službenikom za zaštitu podataka; pozadinu donosi članak Obveza prijave prema GDPR-u u 72 sata. Ovo nije pravni savjet.

Ne zaboraviti DNS i kontejnere

Ne treba svaki odljev podataka vidljivu vezu prema stranoj adresi. Razrješavanja imena putem DNS-a idu prema resolveru Vašeg podatkovnog centra i u popisu naredbe ss jedva upadaju u oči. Napadači mogu podatke pakirati u duge poddomene naizgled slučajnog izgleda i tako ih iznositi putem DNS upita. Naznake daju zapisnici resolvera: neobično mnogo upita prema istoj stranoj domeni, vrlo dugi nazivi ili upiti u vrijeme kad nitko ne koristi web-stranicu.

Ako Vaše aplikacije rade u kontejnerima, host veze kontejnera često vidi samo kao promet mreže kontejnera. Tada provjerite u svakom kontejneru zasebno, ako su alati tamo dostupni, ili analizirajte veze na razini hosta i vatrozida.

# Veze unutar kontejnera (ako je ss sadržan u image-u)
docker exec <container> ss -tnp 2>/dev/null

# Na hostu: veze koje prati jezgra, ako je conntrack instaliran
sudo conntrack -L 2>/dev/null | head -50

Trajno ograničiti odlazni promet

Najučinkovitija prevencija je filtriranje izlaza: poslužitelj smije doseći samo odredišta koja doista treba, sve ostalo se blokira i bilježi. Napadačima je time znatno teže dohvaćati alate ili izvlačiti podatke, čak i ako mogu izvršavati kod.

Put do toga počinje popisom potrebnih odredišta koji izvodite iz gore prikupljenih veza. Zatim slijedi faza u kojoj se blokirane veze samo bilježe, prije nego se blokada aktivira. Usluge plaćanja, poslužitelji za ažuriranje i sučelja s promjenjivim adresama traže pritom osobitu pažnju. Kako se vatrozid za web-poslužitelje gradi u cjelini, opisuje članak Vatrozid za web-poslužitelje: otvoriti samo potrebne portove.

Kako PHP SOS konkretno pomaže?

  • Provjeriti veze: Sve aktivne veze pridružujemo procesima i svrhama te procjenjujemo nepoznata odredišta.
  • Procijeniti odljev podataka: Analiziramo zapisnike vatrozida i mreže i razjašnjavamo jesu li i kada podaci preneseni.
  • Ograničiti izlaz: S Vama izrađujemo popis dopuštenih odredišta i postupno uvodimo filtriranje izlaza.
  • Trajno nadzirati: Uz sigurnosni nadzor javljamo nove ili neobične veze.

Česta pitanja

Koje su odlazne veze kod web-poslužitelja normalne?

Tipične su veze prema bazi podataka, poslužitelju e-pošte, uslugama plaćanja i dostave, poslužiteljima za ažuriranje i poznatim sučeljima aplikacije. Sve što se ne može pridružiti nekoj od tih svrha zaslužuje pomniji pogled.

Kako vidim koji je proces uspostavio vezu?

Naredbom ss -tunap ili lsof -i -n -P kao root. Obje uz svaku vezu prikazuju ID procesa i naziv programa. Tako prepoznajete potječe li veza od PHP-a, web-poslužitelja ili stranog programa.

Znači li nepoznata veza da su podaci iscurili?

Nužno ne. No to je naznaka koju treba razjasniti. Jesu li i koji podaci preneseni, često se može odgovoriti samo zapisnicima vatrozida ili mreže. Ako su pogođeni osobni podaci, mogu postojati obveze prijave.

Smije li web-poslužitelj uopće imati odlazne veze?

Samo prema odredištima koja mu trebaju. Filtriranje izlaza koje blokira sve ostalo napadačima znatno otežava dohvaćanje alata i odljev podataka. No mora se pažljivo testirati.

Izvori

Hitni kontakt

Svaki sat se računa. Pišite nam odmah.

Ukratko opišite sustav, verziju PHP-a i opažanje. Javit ćemo Vam se, razjasniti situaciju i raditi na daljinu dok incident nije zaključen i dokumentiran.

Hitna pomoć