Mājaslapas drošība: 10 lietas, kas jāsakārto vispirms
Vietni reti uzlauž izsmalcināts uzbrukums; parasti vainīgs spraudnis, kas atpaliek par 14 versijām. Desmit lietas, kas jāsakārto vispirms, un ko katra novērš.
Ja vietne piektdienas vakarā pārstāj strādāt, iemesls reti ir ģeniāls uzbrukums. Parasti kāds spraudnis pusgadu nav atjaunināts, un automātisks skeneris to atrada ātrāk nekā jūs.
Vienlaikus uzturam 600 līdz 700 vietņu, un pēdējos 18 mēnešos esam izpildījuši vairāk nekā 5000 atbalsta uzdevumu. Dārgie gadījumi gandrīz vienmēr sākas vienādi: nevis ar izsmalcinātu uzbrukumu, bet ar mēnešiem izlaistu uzturēšanu, par kuru kāds ir izrakstījis rēķinu ar nosaukumu “drošības pakalpojums”.
Saraksts sakārtots pēc tā, cik daudz aizsardzības katra lieta dod uz ieguldīto laiku, nevis pēc tā, cik tehniski tā izklausās. Pirmās trīs pozīcijas novērš lielāko daļu reālo incidentu.
1. Atjauniniet kodolu, tēmu un spraudņus, bet vispirms staging vidē
Kad WordPress spraudnim iznāk drošības labojums, kopā ar to publicē arī aprakstu par to, ko tieši tas labo. No tā brīža ievainojamība ir zināma visiem, un skeneri sāk meklēt vietnes, kas vēl nav atjauninātas. Tāpēc atjaunināšana nav uzkopšana, bet sacensība ar laiku.
Otra galējība ir tikpat slikta. Ieslēgt automātisku visa atjaunināšanu un cerēt uz labāko nozīmē, ka kādu rītu vietne būs salauzta un neviens to nepamanīs, kamēr nepiezvanīs klients. Pareizais vidusceļš ir staging kopija: atjauninājumus vispirms uzstāda tajā, pārbauda un tikai tad uzstāda reālajā vietnē.
2. Rezerves kopijas, kuras kāds tiešām ir atjaunojis
Rezerves kopija, kas nekad nav pārbaudīta, ir cerība, nevis plāns. Esam redzējuši pietiekami daudz gadījumu, kad kopijas gadiem veidojās kārtīgi, bet atjaunot tās nebija iespējams: kopēti tikai faili bez datubāzes, kopijas glabātas tajā pašā serverī, kas tika uzlauzts, vai arhīvs, kas jau mēnešiem ilgi nemanāmi bija tukšs.
Trīs prasības, kas novērš lielāko daļu šo problēmu:
- Kopija ietver gan failus, gan datubāzi.
- Kopiju glabā ārpus tā paša servera.
- Kāds reizi ceturksnī tiešām atjauno vienu kopiju un pārbauda, vai vietne strādā.
3. Divu faktoru autentifikācija administratoriem
Ja pēc atjauninājumiem jums ir laiks tikai vēl vienai lietai no šī saraksta, izvēlieties šo. Parole var noplūst simts veidos, kurus jūs nekontrolējat: citas vietnes datu noplūde, atkārtoti lietota parole, viens pārliecinošs pikšķerēšanas e-pasts. Otrais solis pieteikšanās brīdī padara visus šos ceļus nederīgus.
Ieslēdziet to visiem, kam ir administratora tiesības, ne tikai sev.
4. Noņemiet to, ko nelietojat
Katrs spraudnis un katra tēma ir kods, ko kāds cits raksta un kādreiz pārstāj uzturēt. Deaktivizēts spraudnis joprojām ir vietnes failos, un dažas ievainojamības var izmantot arī tad, ja spraudnis nav ieslēgts.
Reizi gadā pārskatiet sarakstu un izdzēsiet visu, ko nelietojat. Pievērsiet uzmanību spraudņiem, kas gadu nav saņēmuši atjauninājumu: tas parasti nozīmē, ka autors tos ir pametis un nākamo ievainojamību neviens nelabos.
5. Beidziet lietot lietotājvārdu “admin”
Lietotājvārdu “admin” katrs automātiskais uzbrukums izmēģina pirmo. Ja šāds konts ir, uzbrucējam jāuzmin tikai parole, nevis abi.
Izveidojiet jaunu administratora kontu ar citu vārdu, pārceliet uz to saturu un izdzēsiet veco. Paroles glabājiet paroļu pārvaldniekā, nevis e-pastā vai dokumentā “paroles.docx”.
6. Ierobežojiet pieteikšanās mēģinājumus
Pēc noklusējuma WordPress ļauj minēt paroli bezgalīgi. Ierobežojums pēc pieciem neveiksmīgiem mēģinājumiem no vienas IP adreses padara automātisku paroļu minēšanu praktiski bezjēdzīgu un vienlaikus atbrīvo serveri no slodzes, ko šie mēģinājumi rada.
7. SSL visā vietnē, ne tikai pieteikšanās lapā
Bezmaksas Let’s Encrypt sertifikāts šodien ir standarts, un lielākā daļa Latvijas hostinga pakalpojumu to iekļauj bez papildu maksas. Ja kāds joprojām pārdod jums sertifikātu par 100 eiro gadā, pajautājiet, ko tieši jūs saņemat pretī.
Pārbaudiet, vai HTTP versija tiešām novirza uz HTTPS un vai lapā nav palicis saturs, kas tiek ielādēts pa nedrošu savienojumu. Tas ir biežākais iemesls, kāpēc pārlūks pēc sertifikāta uzstādīšanas joprojām rāda brīdinājumu.
8. PHP versija
Novecojusi PHP versija ir viena no biežākajām un vismazāk pamanītajām problēmām. PHP versijām ir savs drošības atbalsta beigu datums, un pēc tā ievainojamības vairs nelabo neatkarīgi no tā, cik kārtīgi jūs atjauninat WordPress.
To parasti var nomainīt hostinga panelī dažās minūtēs. Vispirms nomainiet to staging kopijā: vecas tēmas un spraudņi dažreiz nestrādā ar jaunāku PHP, un to labāk uzzināt pirms maiņas, nevis pēc tās.
9. Pārskatiet, kam ir piekļuve
Bijušais darbinieks, kādreizējā aģentūra, ārštata dizainers, kas gadu nav atbildējis. Katrs no viņiem, visticamāk, joprojām var ieiet jūsu vietnē.
Reizi gadā pārskatiet lietotāju sarakstu un izdzēsiet visus, kas tur vairs nav vajadzīgi. Tas pats attiecas uz FTP un hostinga paneļa piekļuvēm, kuras cilvēki aizmirst pat biežāk nekā WordPress kontus.
10. Monitorings, lai jūs uzzinātu pirmie
Pēdējais solis nav aizsardzība, bet laiks. Tas, vai incidents izmaksā dažas stundas vai nedēļu, parasti atkarīgs no tā, cik ilgi tas paliek nepamanīts.
Minimums ir monitorings, kas paziņo, kad vietne nav pieejama. Nākamais solis ir izmaiņu monitorings, kas paziņo, kad vietnes failos parādās kaut kas jauns, ko neviens nav pievienojis.
Ja vietne jau ir uzlauzta
Pirmā reakcija parasti ir nepareiza. Cilvēki sāk dzēst aizdomīgos failus un līdz ar to iznīcina vienīgo liecību par to, kā uzbrucējs iekļuva. Tāpēc pēc nedēļas viss atkārtojas.
Pareizā secība:
- Izveidojiet pilnu vietnes kopiju tādā stāvoklī, kāds ir tagad, ieskaitot datubāzi.
- Nomainiet visas paroles un piekļuves atslēgas, arī hostinga un datubāzes.
- Tikai tad tīriet.
- Atrodiet, kā uzbrucējs iekļuva, un aizveriet tieši šo ceļu.
Ja tas notiek ar jums tieši tagad, mēs ar to strādājam regulāri: skatiet glābšanu un konsultācijas.
Cik no tā ir jūsu darbs
Punktus 3, 5, 9 un lielā mērā arī 4 varat izdarīt paši vienā pēcpusdienā, un tie ievērojami samazina risku. Atjauninājumi staging vidē, pārbaudītas kopijas un monitorings prasa regulāru darbu katru mēnesi, un tieši tāpēc tos visbiežāk izlaiž.
Ja negribat to darīt paši, tieši tas ietilpst uzturēšanas plānā. Ja gribat darīt paši, šis saraksts ir pilnīgs: neko neesam paturējuši tikai maksājošiem klientiem.