Praegune olukord: PHP2Shell. Kaks kriitilist PHP turvaauku (CVSS 9,2) lubavad kahjulikku koodi ilma sisselogimata. Paigad alates 21.10.2026.Mida nüüd teha →

Serveri väljaminevate ühenduste kontroll

Veebiserver vastab eelkõige päringutele. Kui ta ise loob ühendusi tundmatutesse sihtkohtadesse, võib see tähendada ründajate juhtimist või andmevoolu. Nii kontrollite ja piirate väljaminevat liiklust.

Seis Lugemisaeg 4 minTuvastamine ja forensika

Lühidalt: Serveri väljaminevaid ühendusi kontrollite käsuga ss -tunap või lsof -i, mis seovad iga ühenduse protsessiga. Normaalsed on ühendused andmebaasi, meiliserveri, uuendusserverite ja tuntud liidestega. PHP või veebiserveri protsesside ühendused tundmatutesse sihtkohtadesse, ebatavalised pordid ja põhjuseta püsivad ühendused on hoiatusmärgid kaugjuhtimise või andmevoolu kohta. Püsivalt aitab väljundfiltreerimine, mis lubab ainult vajalikke sihtkohti.

Miks pilk väljapoole nii palju reedab

Sissemurdmise otsimisel vaatavad enamik faile. Ründaja tahab oma ligipääsuga aga midagi ette võtta: tööriistu juurde laadida, käske vastu võtta, andmeid välja viia või kasutada serverit spämmiks või rünnakuteks teiste vastu. See kõik vajab väljaminevaid ühendusi.

Veebiserver loob ise vaid vähe ühendusi ja enamik neist on ettemääratavad: ta teeb päringuid andmebaasile, edastab kirju, kutsub makse- või saatmisliideseid ja toob uuendusi. Seetõttu jäävad võõrad ühendused siin eriti silma. Meie käsutuses olevate aruannete kohaselt kuuluvad väljaminevad ühendused sissemurdmise järgsete üldiste hoiatusmärkide hulka; spetsiaalselt PHP2Shelli jaoks kinnitatud kompromiteerimistunnuseid (Indicators of Compromise) ei ole. Täiendavaid tunnuseid võtab kokku Kas olen juba kompromiteeritud?.

Väljaminevate ühenduste loetlemine ja protsessidega seostamine

Järgmised käsud ainult loevad. Käivitage need root-na, muidu puuduvad protsessiandmed.

# Kõik loodud TCP-ühendused koos protsessiga
ss -tnp state established

# TCP ja UDP, kaasa arvatud kuulavad teenused
ss -tunap

# Ühendused programmi ja kasutaja kaupa, ilma nimelahenduseta
lsof -i -n -P | grep -v LISTEN

# Ainult veebiserveri kasutajate protsesside ühendused
lsof -i -n -P -u www-data 2>/dev/null

Jälgige väljundis kolme veergu: protsess, sihtaadress koos pordiga ja kasutaja. Ühendus php-fpm-ilt andmebaasi porti 3306 on normaalne. Tundmatu nimega programmi ühendus kataloogist /tmp võõra aadressi ebatavalisele pordile ei ole. Millise kasutaja all PHP töötab, sõltub distributsioonist ja paneelist.

Normaalne või kahtlane? Liigitus

Tähelepanek Pigem normaalne Pigem kahtlane
Sihtkoht oma andmebaas, meiliserver, tuntud API-d, uuendusserverid tundmatud aadressid ilma seoseta rakendusega
Protsess php-fpm, veebiserver, meili- ja uuendusteenused tundmatud programmid, protsessid kataloogidest /tmp või /dev/shm
Port 443, 3306, 5432, 587 ebatavalised kõrged pordid, IRC-le omased pordid
Kestus lühike, päringutega kooskõlas püsivalt avatud, ka öösel külastajateta
Maht väike ja ühtlane äkilised tipud väljamineva andmemahu puhul
Meililiiklus saatmine ettenähtud meiliserveri kaudu palju otseühendusi pordile 25

Palju ühendusi pordile 25 viitab spämmi saatmisele; selle kohta on eraldi artikkel, Server saadab spämmi.

Tundmatu sihtkoha hindamine

Võõras aadress nimekirjas ei ole veel tõend. Enne otsustamist selgitage, kuhu ühendus viib ja kes selle lõi. Needki sammud ei muuda midagi:

  1. Määrake protsess: võtke ss-ist PID ja kontrollige käsuga ls -l /proc/PID/exe ning käsureaga, milline programm selle taga on.
  2. Otsige sihtkohta: käsuga dig -x <IP> nimi ja käsuga whois <IP> võrguoperaator.
  3. Võrrelge rakendusega: küsige arendajatelt või teenusepakkujalt, kas teie rakendus seda teenust kasutab.
  4. Kontrollige kulgu: tulemüüri- ja võrguprotokollid näitavad, alates millest ühendus eksisteerib ja kui palju andmeid on liikunud.
  5. Kindlustage tulemused: salvestage väljundid kellaajaga enne, kui midagi lõpetate või blokeerite.

Arvestage mitmetähenduslike tulemustega. Paljud legitiimsed teenused töötavad suurte pilve- ja CDN-pakkujate juures, kelle aadressid ei võimalda kliendi kohta järeldusi teha. Vastupidi kasutavad ka ründajad renditud pilveservereid. Tuntud võrguoperaator ei ole seega ei andestus ega tõend; otsustav on, kas protsess ja eesmärk sobivad teie rakendusega.

Hetktõmmis käsuga ss näitab ainult seda, mis parajasti avatud on. Lühikesi ühendusi, mis luuakse minutitempos, näete ainult protokollides. Seetõttu on tulemüüri- või voo (flow) protokollid andmevoolu küsimuses sageli olulisemad kui pilk serverile endale.

Oluline

Kui andmed võisid teie serverist lahkuda ja on mõjutatud isikuandmed, võib IKÜM-i kohane teavitamiskohustus üldjuhul 72 tunni jooksul kehtida. Selgitage see varakult välja oma andmekaitsespetsialistiga; taust lehel IKÜM-i teavitamiskohustus 72 tunni jooksul. See ei ole õigusnõu.

DNS-i ja konteinereid ärge unustage

Mitte iga andmevoog ei vaja nähtavat ühendust võõra aadressiga. DNS-i kaudu toimuvad nimelahendused lähevad teie andmekeskuse resolverisse ja jäävad käsu ss nimekirjas vaevu silma. Ründajad võivad andmed pakkida pikkadesse, juhuslikuna näivatesse alamdomeenidesse ja viia need nii DNS-päringutega välja. Vihjeid sellele annavad resolveri protokollid: ebatavaliselt palju päringuid samale võõrale domeenile, väga pikad nimed või päringud ajal, mil keegi veebisaiti ei kasuta.

Kui teie rakendused töötavad konteinerites, näeb host konteinerite ühendusi sageli ainult konteinerivõrgu liiklusena. Kontrollige siis igat konteinerit eraldi, niivõrd kui tööriistad seal olemas on, või hinnake ühendusi hosti ja tulemüüri tasemel.

# Ühendused konteineri sees (kui ss on pildis olemas)
docker exec <container> ss -tnp 2>/dev/null

# Hostis: tuuma poolt jälgitavad ühendused, kui conntrack on paigaldatud
sudo conntrack -L 2>/dev/null | head -50

Väljamineva liikluse püsiv piiramine

Kõige tõhusam ennetus on väljundfiltreerimine: server tohib jõuda ainult nende sihtkohtadeni, mida ta tõesti vajab, kõik muu blokeeritakse ja logitakse. Ründajatel on seeläbi oluliselt raskem tööriistu juurde laadida või andmeid välja tõmmata, isegi kui nad suudavad koodi käivitada.

Tee sinna algab vajalike sihtkohtade nimekirjast, mille tuletate ülal kogutud ühendustest. Seejärel järgneb faas, milles blokeeritud ühendusi ainult logitakse, enne kui blokeering teravaks lülitatakse. Makseteenused, uuendusserverid ja muutuvate aadressidega liidesed vajavad seejuures erilist hoolt. Kuidas veebiserverite tulemüür tervikuna üles ehitatakse, kirjeldab Veebiserveri tulemüür: avage ainult vajalikud pordid.

Kuidas PHP SOS konkreetselt aitab?

  • Ühenduste kontroll: Seome kõik aktiivsed ühendused protsesside ja eesmärkidega ning hindame tundmatuid sihtkohti.
  • Andmevoolu hindamine: Hindame tulemüüri- ja võrguprotokolle ning selgitame, kas ja millal andmeid edastati.
  • Väljundi piiramine: Koostame koos teiega lubatud sihtkohtade nimekirja ja seadistame väljundfiltreerimise etapiviisiliselt.
  • Püsiv jälgimine: Turvaseirega teatame uutest või ebatavalistest ühendustest.

Korduma kippuvad küsimused

Millised väljaminevad ühendused on veebiserveri puhul normaalsed?

Tüüpilised on ühendused andmebaasiga, meiliserveriga, makse- ja saatmisteenustega, uuendusserveritega ja rakenduse tuntud liidestega. Kõik, mida ei saa ühegi sellise eesmärgiga seostada, väärib täpsemat pilku.

Kuidas näen, milline protsess ühenduse lõi?

Käsuga ss -tunap või lsof -i -n -P root-na. Mõlemad näitavad iga ühenduse juures protsessi ID-d ja programmi nime. Nii tunnete ära, kas ühendus pärineb PHP-st, veebiserverist või võõrast programmist.

Kas tundmatu ühendus tähendab, et andmeid on välja voolanud?

Mitte tingimata. See on aga vihje, mis tuleb selgitada. Kas ja milliseid andmeid edastati, saab sageli vastata ainult tulemüüri- või võrguprotokollide abil. Kui on mõjutatud isikuandmed, võivad kehtida teavitamiskohustused.

Kas veebiserver peaks üldse väljaminevaid ühendusi tegema tohtima?

Ainult nendesse sihtkohtadesse, mida ta vajab. Väljundfiltreerimine, mis blokeerib kõik muu, raskendab ründajatel tööriistade juurdelaadimist ja andmete väljavoolu oluliselt. Seda tuleb aga hoolikalt testida.

Allikad

Kohene kontakt

Iga tund loeb. Kirjutage meile kohe.

Kirjeldage lühidalt süsteemi, PHP versiooni ja tähelepanekut. Võtame teiega ühendust, selgitame olukorra välja ja töötame kaugtööna, kuni intsident on lõpetatud ja dokumenteeritud.

Kohene abi