Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

Pentestas, Bug Bounty ar pažeidžiamumų skenavimas? Pasirinkti tinkamą patikros būdą

Skenavimas, įsilaužimo testas ir Bug Bounty tikrina svetaines labai skirtingai. Ką duoda kiekvienas būdas, kur nepavyksta ir kokia eilės tvarka tinka jūsų įmonei.

Būsena 4 min. skaitymoSprendimų pagalba

Trumpai: pentestas ar pažeidžiamumų skenavimas nėra „arba-arba“ klausimas, o eilės tvarkos klausimas. Pažeidžiamumų skenavimas automatizuotai randa žinomas spragas ir klaidingas konfigūracijas, greitai ir pigiai, bet su klaidingais aliarmais ir aklomis dėmėmis. Įsilaužimo testas tikslingai tikrina, ką užpuolikas iš tikrųjų galėtų pasiekti. Bug Bounty programa atveria patikrą išoriniams tyrėjams ir verta tik tada, kai skenavimai ir pentestai tampa rutina. Daugumai MVĮ eilės tvarka tokia: reguliariai skenuoti, šalinti radinius, tikslingai užsakyti testą, įsteigti pranešimo apie pažeidžiamumus punktą.

Kodėl klausimas po PHP2Shell keliamas iš naujo

Kas po PHP2Shell tikrina savo svetainę internetiniu skeneriu, gali gauti painius rezultatus. Skeneris galbūt praneša apie kritinę spragą, nors hostingo teikėjas pataisą patvirtino. Kitas nieko nepraneša, nors serveris dar naudoja seną PHP versiją, nes versijos informacija paslėpta.

Priežastis slypi darbo būde. Daugelis skenerių pažeidžiamumą išveda iš rodomos versijos. Tačiau distribucijos įdiegia backport nekeisdamos versijos numerio; pasak pranešimų, Ubuntu 24.04 po atnaujinimo toliau rodo 8.3.6. Kodėl taip yra, paaiškina Kodėl php -v po atnaujinimo rodo tą patį numerį. Patikimą įrodymą pateikia paketo pakeitimų žurnalas, žr. Kaip teisingai patikrinti PHP versiją ir pataisų būseną.

Tai ne argumentas prieš skenerius, o argumentas pažinti jų ribas ir derinti juos su kitais būdais.

Pentestas ar pažeidžiamumų skenavimas: trys būdai palyginime

Kriterijus Pažeidžiamumų skenavimas Įsilaužimo testas Bug Bounty
Kas tikrina? Automatizuotas įrankis Pasamdyti specialistai Išoriniai tyrėjai, dažnai per platformą
Kas randama? Žinomos spragos, pasenusios versijos, klaidingos konfigūracijos Išnaudojamos silpnybės, logikos klaidos, grandinės Ką tyrėjai suranda ir praneša, dažnai netikėta
Gylis Platus, bet paviršutiniškas Gilus sutartos apimties ribose Skirtingas, priklauso nuo dalyvių
Klaidingi aliarmai Dažni Reti, radiniai įrodomi Daug pranešimų, kuriuos reikia vertinti
Planuojamumas Didelis, galima kartoti kiek nori Didelis, fiksuotas laikotarpis ir apimtis Mažas, pranešimai ateina nuolat
Prielaidos įmonėje Kas nors, kas vertina rezultatus Suderinta apimtis, bandomoji aplinka ar aptarnavimo langas Brandus vertinimo, šalinimo ir atlygio procesas
Tipinis naudojimas Nuolat, pavyzdžiui, kas mėnesį ar po pakeitimų Prieš paleidimą, po didesnių pakeitimų, reguliariai Papildomai brandžioms, viešai pasiekiamoms programoms

Nė vienas būdas nepakeičia kitų. Skenavimas per trumpą laiką parodo daug, pentestas parodo, kas tikrai svarbu, o Bug Bounty randa tai, apie ką niekas negalvojo.

Skenerių atveju verta pažvelgti ir į skenavimo rūšį. Skenavimas iš išorės mato tik tai, ką mato kiekvienas lankytojas, ir versijas turi dažnai spėlioti iš serverio atsakymų. Autentifikuotas skenavimas, kai įrankis su savo prisijungimo duomenimis nuskaito serveryje įdiegtus paketus, duoda gerokai patikimesnius rezultatus, ypač dėl faktinės PHP paketo būsenos. Tačiau jam reikia, kad tam sukurtumėte ribotą prieigą ir ją gerai apsaugotumėte. Savų PHP programų priklausomybėms yra savi patikros įrankiai, pavyzdžiui, composer audit Composer paketams.

Prasminga eilės tvarka MVĮ

  1. Inventorius ir skenavimas: pirmiausia žinoti, kokios svetainės ir serveriai yra, tada reguliariai skenuoti. Radinių neperimti netikrinant, o įvertinti.
  2. Pašalinti pagrindus: pasenusią programinę įrangą, trūkstamus atnaujinimus ir akivaizdžias klaidingas konfigūracijas. Pentestą skirti nepataisytoms sistemoms yra biudžeto švaistymas.
  3. Tikslingas įsilaužimo testas: svarbiausioms programoms, pavyzdžiui, parduotuvei, klientų portalui ar sąsajoms, su aiškiai sutarta apimtimi ir pakartotiniu testu.
  4. Kodo patikra savo kūriniams: kas eksploatuoja savo PHP programas, testą papildo šaltinio kodo peržiūra. Kaip tai vyksta, aprašo Saugumo kodo peržiūra PHP projektams.
  5. Pranešimo apie pažeidžiamumus punktas: politika, kaip išoriniai asmenys gali pranešti apie spragas, ir security.txt failas pagal RFC 9116 adresu /.well-known/security.txt su kontaktu ir galiojimo pabaigos data.
  6. Bug Bounty, kai pagrindai sutvarkyti: tik kai pranešimai patikimai vertinami, o spragos greitai šalinamos.

Kad iš to atsirastų pastovi eiga, verta pažiūrėti į Pažeidžiamumų valdymas vidutinėms įmonėms.

Ko nepadaro nė vienas būdas

Joks patikros būdas neįrodo, kad sistema saugi. Jis tik parodo, kas tam tikru momentu tam tikrais metodais buvo rasta. Švari pavasario pentesto ataskaita nieko nesako apie tokią spragą kaip PHP2Shell, paaiškėjusią spalį.

Taip pat nei skenavimas, nei pentestas neatsako į klausimą, ar serveris jau kompromituotas. Tam reikia pėdsakų paieškos pačioje sistemoje: procesų, failų, cron užduočių, paskyrų, ryšių. Tai atskira užduotis su savais metodais.

Svarbu

Tikrinkite tik sistemas, kurioms turite teisę, o prieglobos sistemoms iš anksto išsiaiškinkite teikėjo taisykles. Įsilaužimo testui reikia rašytinio užsakymo su apimtimi, laikotarpiu ir kontaktiniais asmenimis.

Kada išorinio testo nereikia

Paprastai įmonės svetainei be formų su jautriais duomenimis, pas hostingo teikėją, kuris patikimai diegia atnaujinimus, dažnai pakanka reguliaraus skenavimo su kritišku rezultatų vertinimu. Pentestas čia dažniausiai būtų neproporcingas. Svarbiau aktuali programinė įranga, stiprios prieigos ir atsarginės kopijos.

Išorinis testas verta parduotuvėms, portalams, savo kūriniams, sąsajoms su vidinėmis sistemomis ir visur, kur klientai ar normos reikalauja nepriklausomo įrodymo.

Kaip PHP SOS padeda konkrečiai?

  • Nustatome reguliarius skenavimus ir vertiname rezultatus, įskaitant dėl backport kylančius klaidingus aliarmus.
  • Padedame pašalinti pagrindus, kol pinigai dar neinvestuoti į pentestą.
  • Kartu su specializuotais partneriais atliekame saugumo auditus ir įsilaužimo testus su suderinta apimtimi ir pakartotiniu testu.
  • Padedame sukurti pranešimo apie pažeidžiamumus punktą ir security.txt.

Išvada

Skenavimas, pentestas ir Bug Bounty yra pakopos, o ne konkurentai. Kas pradeda nuo reguliarių skenavimų, pašalina pagrindus ir tik tada užsako tikslingą testą, už savo biudžetą gauna daugiausia saugumo. Bug Bounty yra papildoma pakopa organizacijoms, kurių pagrindinės pareigos jau sutvarkytos.

Dažni klausimai

Kuo skiriasi pentestas ir pažeidžiamumų skenavimas?

Pažeidžiamumų skenavimas automatizuotai tikrina, ar atpažįstamos žinomos spragos ar klaidingos konfigūracijos. Įsilaužimo testas (pentestas) eina toliau: specialistai sutartu mastu bando tas silpnybes iš tikrųjų išnaudoti ir sujungti bei įvertina pasekmes.

Ar skeneris išsiaiškina, ar mano serveris pataisytas nuo PHP2Shell?

Tik ribotai. Daugelis skenerių nuskaito rodomą PHP versiją. Jei distribucija įdiegia backport, numeris dažnai lieka tas pats, o skeneris praneša apie spragą, kuri seniai uždaryta. Atvirkščiai, gali būti rodomas naujas numeris, nors seni procesai dar veikia.

Ar Bug Bounty programa tinka mažoms įmonėms?

Dažniausiai dar ne. Bug Bounty reikalauja, kad pranešimai būtų greitai vertinami, o spragos greitai šalinamos. Geras įėjimas yra paprasta pranešimo apie pažeidžiamumus politika su security.txt failu.

Ar savo svetainę galiu pats patikrinti skeneriu?

Savo sistemas paprastai taip, jei turite tam teisę. Jei svetainė yra pas hostingo teikėją, iš anksto išsiaiškinkite, ar skenavimai leidžiami arba ar apie juos reikia pranešti. Svetimas sistemas tikrinkite tik turėdami raštišką operatoriaus leidimą.

Kaip dažnai turėtų vykti pentestas?

Nustatytos taisyklės nėra. Įprasta atlikti testą prieš naujos programos paleidimą, po didesnių pakeitimų ir reguliariais intervalais, kuriuos lemia jūsų rizika ir, jei yra, klientų ar normų reikalavimai.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba