WordPress pressi all. Kaitske oma kätega
WordPress – mugav platvorm artiklite avaldamiseks ja haldamiseks, mis põhineb tohutul hulgal erinevatel saitidel. Oma levimuse tõttu on see CMS häkkeritele pikka aega olnud maitsev suupiste.
Kahjuks ei taga põhiseaded piisavat kaitsetaset, mistõttu on palju auke katmata krediidiriski tõttu. Selles artiklis käsitleme tüüpilist WordPressi häkkimissaiti ja näitame, kuidas tuvastatud turvaauke parandada.
Tänapäeval on kõige populaarsem sisuhaldussüsteem WordPress. Selle osakaal on 60,4% CMS-mootoreid kasutavate saitide koguarvust. Neist statistika järgi 67,3% saitidest põhinevad tarkvara uusimal versioonil. Vahepeal leiti veebimootori kaheteistkümne aasta jooksul 242 erinevat tüüpi turvaauku (välja arvatud kolmandate osapoolte pistikprogrammides ja teemades leitud haavatavused). Kolmanda osapoole lisandmoodulite statistika on veelgi kurvem. Nii viis ettevõte läbi analüüsi 2350 Revisium Russified WordPressi mallis, mis võeti erinevatest allikatest. Selle tulemusena leidsid nad, et enam kui pooled (54%) olid nakatunud Web Shelliga, tagauksed, blackhat seo (“rämpspost”) lingid ja skriptid sisaldasid kriitilisi turvaauke. Nii et istuge maha, Nüüd mõistame, kuidas WordPressi saidil auditit läbi viia ja leitud puudused kõrvaldada. Kasutatakse versiooni 4.
Indekseerimissait
Iga testi esimene samm on tavaliselt sihtmärgi kohta teabe kogumine. Ja siis väga sageli aitab see valesti seadistamine Indekseerimissait, mis võimaldab volitamata kasutajatel vaadata saidi teatud jaotiste sisu ja saada näiteks teavet installitud pistikprogrammide ja teemade kohta, samuti juurdepääsu konfidentsiaalsetele andmetele või andmebaaside varukoopiatele.. Kontrollimaks, millised kataloogid on väljastpoolt nähtavad, on lihtsaim viis Google’i eeliste kasutamiseks. Piisab, kui käivitada päring Google Dorks tüüpi site: example.com intitle: «index of» inurl: / wp-content /. Operaatori inurl: saate määrata järgmised kataloogid:
/wp-content/
/wp-content/languages/plugins
/wp-content/languages/themes
/wp-content/plugins/
/wp-content/themes/
/wp-content/uploads/
Kui saate vaadata faili / wp-content / plugins /, on järgmine samm installitud pistikprogrammide ja nende versioonide kohta teabe kogumine oluliselt lihtsustatud. Loomulikult saate indekseerimist takistada faili robots.txt abil. Nii et vaikimisi pole see WordPressi installipaketti kaasatud, on vaja luua ja visata end saidi juurkataloogi. Faili robots.txt loomise ja sellega töötamise juhendeid on üsna palju, nii et jätke see teema enda teada. Et anda vaid üks võimalikest valikutest:
User-Agent: *
Disallow: /cgi-bin
Disallow: /wp-login.php
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /?author=*
Allow: /
Kui üleslaaditavatesse kaustadesse salvestatud failid on konfidentsiaalne teave, lisage sellele loendi reale: Disallow: / wp-content / uploads /. Teisest küljest ei soovitata faili robots.txt paigutada linke kataloogidele, mis on loodud spetsiaalselt tundliku teabe salvestamiseks. Vastasel juhul hõlbustate sellega ründaja ülesannet, sest see on esimene koht, kus tavaliselt kõik otsivad “jammy”.
WordPressi turbepluginad
- Login LockDown – piirab ebaõnnestunud sisselogimiskatsete arvu;
- Revisium WordPressi teemakontroll – otsib WordPressi teemadest tüüpilisi pahavara tükke;
- Sucuri Security – teostab pahatahtliku koodi jälgimist ja tuvastamist;
- IThemes Security (endine Better WP Security) – mitme pistiku WordPressi kaitsmiseks;
- BackUpWordPress – teeb failide ja andmebaaside varukoopiaid;
- Google Captcha (reCAPTCHA) – loob captcha registreerimisel, sisselogimisel, parooli taastamisel ja kommentaaride kujul.
Ühendage .htaccess
Tundlikule teabele juurdepääsu piiramiseks on parem kasutada faili .htaccess – see on konfiguratsioonifail, mida kasutab Apache veebiserver. Kaaluge faili võimalust ohutuse seisukohast. Sellega saate: keelata juurdepääsu kataloogidele ja failidele, lukustada mitmesuguseid SQL-i süstimisi ja pahatahtlikke skripte. Selle CMS WordPress 4.1 standardse .htaccess-faili jaoks peate veidi laiendama. Failide ja kaustade loendi sulgemiseks lisage:
Options +FollowSymLinks -Indexes
RewriteCond %{QUERY_STRING} base64_encode[^(]*([^)]*) [OR]
Blokeeri viited, mis sisaldavad kodeeringut Base64. Vabanege silti sisaldavatest linkidest :
RewriteCond %{QUERY_STRING} (|%3E) [NC,OR]
Skriptide vastu võitlemiseks, mis üritavad määrata globaalseid muutujaid või muuta _REQUEST
muutujat URL-i kaudu:
RewriteCond %{QUERY_STRING} GLOBALS (=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST (=|[|%[0-9A-Z]{0,2})
Teatud võtmesõnu sisaldava URL-i SQL-i sisestamise blokeerimise päringute vastu võitlemiseks:
RewriteCond %{query_string} concat.*( [NC,OR]
RewriteCond %{query_string} union.*select.*( [NC,OR]
RewriteCond %{query_string} union.*all.*select [NC]
RewriteRule ^(.*)$ index.php [F,L]
Levinud häkkimistööriistade elu rikkumiseks filtreerib teatud kasutajaagendid:
SetEnvIf user-agent «Indy Library» stayout=1
SetEnvIf user-agent «libwww-perl» stayout=1
SetEnvIf user-agent «Wget» stayout=1
deny from env=stayout
Kaitseb faile
Oleks tore piirata ja juurdepääsu kriitilistele failidele, mis salvestavad konfiguratsiooni või võivad lihtsalt anda ründajale teavet. Saate valida järgmised kandidaadid:
- Wp-config.php, sisaldab andmebaasi nime, kasutajanime, parooli ja tabeli eesliidet;
- .htaccess;
- Readme.html ja ru_RU.po, mis sisaldavad WordPressi versiooni;
- Install.php.
Seda tehakse järgmiselt.
Order Allow,Deny
Deny from all
Neid ridu sisaldav fail .htaccess peaks asuma samas kataloogis, kus fail on kaitstud. Seejärel ärge lubage kasutajate loendit (pidage meeles, natuke kõrgemal, me rääkisime sellest, kui lihtne on kasutajate loendit hankida?):
RewriteCond %{QUERY_STRING} author=d
RewriteRule ^ /? [L,R=301]
Niisiis, mida veel? Sissepääsu saab lubada ainult määratud IP-aadressidelt. Selleks looge oma wp-adminis .htaccess-fail järgmiste reeglitega:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
order deny,allow
deny from all
allow from 178.178.178.178 # IP Home computer
allow from 248.248.248.248 # IP Work computer
Meetod ei ole eriti paindlik ja on rakendatav ainult siis, kui töötate piiratud arvu fikseeritud IP-aadressidega. Vastasel juhul on soovitatav hostimise kaudu määrata kausta wp-admin paneeli parool (kui see funktsioon on olemas).
WWW
Perishable Pressi 5G musta nimekirja ja 6G musta nimekirja beeta reeglistik, mis võimaldab teil toime tulla WordPressi levinud pahatahtlike URL-i päringutega.
Lisameetmed
Lisaks ülaltoodule võib lisada järgmised soovitused. Esiteks kasutage ainult WordPressi ja selle komponentide uusimaid versioone – see kõrvaldab teadaolevad haavatavused. Teiseks eemaldage pistikprogrammid ja teemad, mida saab ka proekspluatirovat. Kolmandaks laadige WordPressi teemad ja pistikprogrammid alla usaldusväärsetest allikatest, näiteks arendajate saitidelt ja WordPressi ametlikult saidilt. Lisaks koduarvutile peate perioodiliselt kontrollima oma veebiressurssi Web Antivirus, näiteks AI-Bolit. Kui teil on juurdepääs veebiserverile, on failide ja kataloogide juurdepääsuõigused. Tavaliselt määrab WordPress täielikud õigused installifaasis, kuid vajadusel saab selle käsitsi seadistada chmod. Kataloogi jaoks – chmod 755 failide jaoks – chmod 644. Veenduge, et 777 õigused määratakse ainult neile rajatistele, mis seda vajavad (mõnikord on see vajalik mõne pistikprogrammi normaalseks tööks). Kui WordPress lakkas normaalselt töötamast, katsetage juurdepääsuõigustega: esmalt proovige 755, seejärel 766 ja lõpuks 777. Et kogu htaccess-fail paljastaks chmod 444 (ainult lugemiseks). Kui sait enam ei tööta, proovige katsetada väärtustega 400, 440, 444, 600, 640, 644.
Teisaldage fail wp-config.php. See fail sisaldab teavet sätete, MySQL-i, tabeli prefiksi, salajaste võtmete ja muu kohta. Seetõttu on vaja üle kanda faili ei olnud Internetist saadaval. Kui sait ei asu kaustas public_html, siis lohistage fail wp-config.php ülaloleval kaustatasemel ja WordPress leiab selle automaatselt juurkataloogist (kehtib, kui sellel CMS-il on ainult üks hostimissait).
Ülekandmise kesta keerulisemaks muutmiseks keelake WordPressi konsooli lõimede redigeerimise võimalus. Selleks sisestage faili wp-config.php järgmine rida:
define ('DISALLOW_FILE_EDIT', true) ;
Teine nõrk koht – fail install.php (kaustas wp-admin). Seetõttu on parem eemaldada, blokeerida või muuta. Tehke üks järgmistest:
- Lihtsalt kustutage see fail – pärast installimist pole see enam vajalik.
- Keela juurdepääs failile .htaccessi kaudu.
- Nimetage algne fail install.php ümber (nt install.php.old) ja looge uus fail install.php järgmise sisuga:
Error Establishing Database Connection
Error Establishing Database Connection
We are currently experiencing database issues. Please check back shortly. Thank you.
Lisaks saidi külastajate teavitamisele teeb see skript järgmist:
-
saadab kliendile ja otsingumootoritele olekukoodi 503 ("Teenus pole saadaval");
-
Määrab ajavahemiku, mille jooksul kliendid ja otsingumootorid saavad saidile naasta (reguleeritav parameeter);
-
Andmebaasiga seotud probleemist teavitage e-posti teel, et saaksite asjakohaseid toiminguid teha.
Asjaolu, et WordPressi varasemates versioonides (
Lõpuks katkestage uute kasutajate registreerimine, kui see pole vajalik. Kui aga pakub veebis registreerimist, hoolitsege selle eest, et uued kasutajad saaksid pärast registreerimist minimaalsed privileegid.
Kasulikud lingid
-
WordPressi kõvenemine
-
Kümme sammu oma WordPressi ajaveebi kaitsmiseks
-
Iga teine WordPressi venestatud mall on nakatunud või haavatav
-
Esitlus WordPressi häkkimisest
Sulgemine
WordPress – üsna mahukas ja kompleksne toode oma plusside ja miinustega. Kahjuks on vaikekonfiguratsioonis selle ohutus küsitav, kuna isegi tavalise skriptkidisega sirge käe ja Interneti olemasolul suudab kaitse läbi murda. Seetõttu soovitame tungivalt ressurssi kontrollida samal viisil, nagu tegime artiklis. Ja kui leiate vigu – parandage need, et minimeerida ründaja võimalusi ressurssi kahjustada.