Ako ste ažurirali dodatak ili svoj CMS nakon što ste primili jednu od mojih sigurnosnih obavijesti, to je dobro. To je bio važan korak i za mnoga web-mjesta jedini je potreban.

Ažuriranje zatvara rupu od sada nadalje. Ono vam ne može reći je li netko pronašao tu rupu prije nego što ste je zatvorili. Ova je stranica praktična samoprovjera od otprilike 30 minuta kojom sami možete odgovoriti na to pitanje, pisana za vlasnike web-mjesta koji nemaju sigurnosno predznanje ni proračun za sigurnost. Radi se o općenitim smjernicama, a ne o nalazu o vašem web-mjestu: izvana mogu vidjeti koju verziju softvera web-mjesto prijavljuje i ništa više.

1. korak: provjerite što je propust zapravo mogao učiniti

Ne zaslužuje svaka ranjivost isti odgovor. Pronađite svoju obavijest na stranici sa sigurnosnim obavijestima i provjerite u koju kategoriju spada (svaka stranica s obavijesti to navodi blizu vrha):

  • Preuzimanje računa ili izvršavanje koda (napadač je mogao dobiti administratorski pristup ili pokrenuti vlastiti kod): prođite kroz cijeli popis za provjeru u nastavku.
  • Čitanje podataka (napadač je mogao pročitati podatke iz vaše baze podataka, ali ne i izmijeniti vaše web-mjesto): usredotočite se na korake 2 i 5. Pitanje je koji su podaci bili pohranjeni, a ne je li vaše web-mjesto izmijenjeno.
  • Uži problemi (propusti koji zahtijevaju određenu konfiguraciju ili dosežu samo administratorski zaslon): stranica s obavijesti za vašu komponentu navodi što je, ako išta, vrijedno provjeriti. Često je samo ažuriranje dovoljno.

2. korak: odredite razdoblje izloženosti

Razdoblje koje je važno omeđeno je dvama datumima:

  1. Kad se rupa otvorila na vašem web-mjestu. Obično na dan kad ste instalirali zahvaćenu verziju. Ako taj datum ne znate, datum iz CVE obavijesti navedene u obavijesti (poveznica je na svakoj stranici s obavijesti) razumna je zamjena: od objave nadalje znali su i napadači.
  2. Kad ste ažurirali. Dan kad ste je zatvorili.

Sve što slijedi odnosi se na to razdoblje. Ako je kratko, recimo da ste ažurirali unutar dan ili dva od objave, rizik je stvaran, ali malen. Ako je razdoblje dugo mjesecima, shvatite popis za provjeru ozbiljno.

3. korak: pregledajte tko ima pristup vašem web-mjestu

Napadač koji je ušao gotovo si uvijek ostavi način da se vrati. Provjerite, ovim redom:

  • Administratorske račune. U WordPressu: Users, pa filtrirajte po Administrator. U Joomli: Users, pa User Manager. Potražite svaki račun koji niste sami stvorili. Napomena: neki propusti (primjerice onaj u dodatku Simple Membership) omogućuju napadaču da preuzme postojeći račun umjesto da stvori novi, pa ova provjera sama po sebi ništa ne dokazuje. Zato je promjena vjerodajnica iz 4. koraka važna i onda kad popis korisnika izgleda uredno.
  • Nedavno dodane dodatke, teme ili ekstenzije koje niste sami instalirali.
  • Zakazane zadatke (u WordPressu ih prikazuje dodatak WP Crontrol; mnoga se stražnja vrata ponovno instaliraju iz zakazanog zadatka).
  • Aplikacijske lozinke (WordPress: Users, Profile, Application Passwords), tih način da se zadrži pristup preko API-ja i nakon promjene lozinke.

4. korak: promijenite vjerodajnice

Ako je vaša obavijest spadala u kategoriju preuzimanja računa ili izvršavanja koda, a razdoblje izloženosti bilo je dulje od nekoliko dana, promijenite ih čak i ako 3. korak nije ništa pronašao:

  • Lozinke za sve administratorske račune.
  • Tajne ključeve i salt vrijednosti u datoteci wp-config.php (WordPress). Time se svi odjavljuju, uključujući napadača s ukradenom sjednicom; službeni generator daje nove vrijednosti. U Joomli je ekvivalent vrijednost $secret u datoteci configuration.php.
  • Lozinke za hosting kontrolnu ploču i FTP/SFTP ako ih dijelite s nekim ili su stare.

To oduzima deset minuta i zatvara vrata ukradenim sjednicama i probijenim sažecima lozinki bez obzira na to je li do provale uopće došlo.

5. korak: skenirajte i provjerite datoteke

  • Pokrenite skeniranje na zlonamjerni softver koje nudi vaš pružatelj usluga hostinga ako ga kontrolna ploča ima (većina dijeljenih hostinga ima), ili neki ugledan besplatan skener. Za WordPress, besplatno skeniranje dodatka Wordfence uspoređuje vaše datoteke sa službenim primjercima.
  • Pogledajte nedavno izmijenjene datoteke oko početka razdoblja izloženosti i nakon njega, osobito PHP datoteke u direktorijima za učitavanje. Ondje PHP datoteka u pravilu nikad ne bi smjelo biti.
  • Ako vaš hosting čuva zapisnike pristupa, prelistajte to razdoblje i potražite zahtjeve prema ranjivoj komponenti s adresa koje ne prepoznajete. Izostanak nalaza ovdje slab je dokaz, jer se zapisnici brišu i rotiraju, ali pronađeni trag je presudan.

Ako samoprovjera nešto otkrije

Nemojte još ništa brisati. Prvo napravite potpunu sigurnosnu kopiju, datoteka i baze podataka, kako bi se ono što se dogodilo i dalje moglo ispitati. Zatim, redom po trošku:

  1. Vaš pružatelj usluga hostinga. Većina njih ima uslugu uklanjanja zlonamjernog softvera ili će barem potvrditi što njihovi skeneri vide. Za većinu malih web-mjesta to je prava prva adresa.
  2. Stručnjak. Ako web-mjesto obrađuje podatke kupaca ili plaćanja, ili je skeniranje pronašlo stražnja vrata, isplati se platiti nekome da utvrdi čemu se pristupilo; propisi o zaštiti podataka u mnogim zemljama ovise upravo o tom odgovoru.
  3. Krajnja mjera koja uvijek djeluje: vratite sustav iz sigurnosne kopije nastale prije razdoblja izloženosti, ili ponovno instalirajte CMS i dodatke iz službenih izvora, zadržavši samo svoj sadržaj. Zatim ažurirajte i promijenite sve navedeno gore.

Ako niste sigurni u ono što gledate, možete jednostavno i odgovoriti na e-poštu s obavijesti. Čitam svaki odgovor, a usmjeriti nekoga u pravom smjeru dio je razloga zbog kojih uopće šaljem ove obavijesti. Ne prodajem uslugu čišćenja i ova stranica nije reklama; vidi pravila objave.

Ako ste već ažurirali prije nego što je stigla moja e-pošta

Vrijedi ista logika: obavijest znači da je vaše web-mjesto nedavno prijavilo zahvaćenu verziju, pa je razdoblje izloženosti postojalo čak i ako je sada zatvoreno. Koraci od 2 do 4 i dalje odgovaraju na pitanje koje je važno.