WORDPRESS SECURITY – iThemes Security

(Last Updated On: 2017/03/18)

 

 

wpszaki.hu – írása (kicsit belekommentáltam)

Sajnos rabló pandúr játék, a legtöbb funkciót gyorsan ügyesen kikerülik a spammerek! Hiszen csak tovább kell írni az adott programot.

 

Az egyik legjobb és leghasznosabb WordPress biztonsági bővítmény az iThemes Security (régi nevén BetterWP Security), de csak akkor ér valamit, ha okosan és logikusan van beállítva. Az alapelv itt is a megszokott, azaz nem elég csak feltenni és hátradőlni, az oldalunkhoz kell igazítani és csak azokat a védelmi funkciókat szabad aktiválni, amik nem okoznak galibát, nem ütköznek az aktuális konfigurációval és nem akadnak össze más bővítményekkel vagy csak funkciókkal. Ehhez szeretnék segítséget nyújtani a lentebb található részletes beállítási útmutatóval.

 

Telepítés és aktiválás után egy “Security” névre hallgató fül jelenik meg a vezérlőpult menüsorában, itt fogjuk testre szabni a plugin beállításait. Az első almenüpont a “Dashboard”, azaz az iThemes Security információs panelje, itt láthatjuk a szerverrel, adatbázissal, fájlrendszerrel és a PHP konfigurációval kapcsolatos legfontosabb információkat.

 

Amire érdemes különös figyelmet fordítani az a “WordPress File Permissions”, azaz a fájlok/könyvtárak jogosultsági szintjével kapcsolatos táblázat. Itt láthatóak az ajánlott (suggested) és az aktuális (value) jogosultsági szintek a fontosabb WordPress fájlokra/könyvtárakra lebontva. Értelemszerűen az “OK” jelzés nem jelent problémát, viszont a “Warning” felirat esetében érdemes megvizsgálni azt a bizonyos mappát vagy éppen fájlt. Ideális esetben a wp-config.php és a .htaccess fájl is 444-es jogosultsággal kellene, hogy szerepeljen, ám ezek szinte minden esetben 644-es jogosultsággal jönnek létre. Ez nem feltétlenül probléma, ilyenkor a WordPress még képes ezeket a fájlokat írni valamint módosítani. A 444-es jogosultság csak olvasást engedélyez, ez azért biztonságosabb, mert így egyes malware-ek sem lesznek képesek kártékony kódot elhelyezni az említett fájlokban. 644-ről 444-re váltani akkor lehet érdemes, ha biztosak vagyunk benne, hogy sem az oldal, sem a bővítmények nem akarják majd módosítani az említett két fájlt.

 

Itt azonban érdemes megjegyezni, hogy sok bővítmény műkődését blokkolja ez a funkció. Tehát előfordúlhat hogy nem, vagy hibásan fog műkőni. Ha beállítjuk a 444-es jogosultságot, akkor készüljünk fel rá, hogy bővítmény telepítésekor, konfigurálásakor vagy csak a törlésekor visszakell állítani a 644-et.

 

Amennyiben szeretnénk megváltoztatni a jogosultságokat, akkor ezt a legegyszerűbben az FTP kliensünk segítségével tudjuk megtenni. Total Commanderben ez a “Fájl/Attribútumok módosítása” menüpont alatt érhető el. Vagy cPanel, fájlkezelő, engedélyek módosítása.

 

Total commander tiltott, használd helyette a FileZilla kliensét. Sok szolgáltató már automatikusan létrehozza a letölthető, egy kattintással konfigurált SFT konfigurációs fájlt. Csak importálni kell!

 

Ugyanitt a “Dashboard” rész tetején találjuk még a “Temporarily whitelist my IP” nevű gombot, ez 24 órára a kivételek közé teszi az aktuális IP címünket, így biztosak lehetünk benne, hogy az oldal nem fog minket kizárni még a legszigorúbb biztonsági beállítások mellett sem. Ilyenkor azonban észben kell tartani azt, hogy a dinamikus IP cím változása esetén gondunk adódhat a belépéssel.

 

Vagy még sem, rebot router és vagy modem! Jelen változatból már kikerült ez a funkció, helyette a “Lockout White List” használható. Itt adminisztrálhatjuk pl: a CDN szolgáltatónkat, ha van ilyen. Legyen!

Viszont fix IP esetén ha kizártuk magunkat:) sincs gond. A beállítások a .htaccess fájlt tartalmazza. Ennek a törlése viszont nem ajánlott főleg ha még működik a bővítmény!

 

A legfontosabb beállításokat a “Settings” fül alatt találjuk, azonban szeretném megkönnyíteni azok dolgát, akik csak kattintgatni szeretnének és olvasni nem, számukra egy csillaggal (*) jelöltem azokat az opciókat, amiket probléma nélkül, bátran be lehet kapcsolni és két csillaggal (**) azokat, amiket engedélyezhetünk ugyan, de utána nem árt jó alaposan végigkattintgatni és tesztelni az oldalt, mert egyes esetekben érdekes anomáliákat okozhatnak.

 

Global Settings

Write to Files*: ezzel engedélyezzük az iThemes Security bővítménynek a wp-config.php és a .htaccess fájl írását, pipáljuk ki
Notification Email: adjunk meg egy e-mail címet, ahová a plugin küldheti az események értesítéseit (saját email cím)
Send Digest Email*: érdemes bepipálni, így nem kapunk minden egyes kizárásról vagy blokkolásról e-mailes értesítést, ehelyett csak egy összefoglalót küld majd nekünk a rendszer.
Backup Delivery Email: az adatbázis mentést az itt megadott e-mail címre küldi el a plugin

 

És/vagy helyben menti a fájl szerverre!

 

Host Lockout Message: a megjelenített üzenet, amikor egy host kizárásra kerül.
User Lockout Message: a megjelenített üzenet, amikor egy felhasználó kizárásra kerül az oldalról a túl sok hibás bejelentkezési kísérlet miatt.
Community Lockout Message: amikor az iThemes Security közösség által rosszindulatúnak lesz bélyegezve egy IP cím, akkor ez az üzenet jelenik meg a tulajdonosa számára az oldal megtekintése vagy belépés során.
Blacklist Repeat Offender*: ha engedélyezzük, akkor az az IP cím, amelyik eléri a lentebb megadott maximális kizárások számát automatikusan végleges tiltólistára kerül. Érdemes bepipálni.
Blacklist Threshold: a végleges kitiltás előtt megadhatjuk az IP kizárások számát (alapértelmezetten 3).
Blacklist Lookback Period: az itt megadott napok számát figyeli a plugin az újabb kizárás előtt, tehát ha egy IP a megadott tartományon belül már kizárásra került, akkor hozzáadódik a korábbi kizárások számához, tehát növekszik az összes kizárások száma (alapértelmezetten 7 nap).
Lockout Period: a kizárás ideje percben abban az esetben, ha elérte a hibás bejelentkezések korlátját (alapértelmezetten 15 perc, ha szeretnénk növelhetjük).
Lockout White List: a kizárások kivételi listája, itt adhatjuk meg, hogy mely IP címeket hagyja figyelmen kívül a rendszer. Dinamikus IP cím esetén használhatunk wildcard formátumot is, tehát például: 85.97.21.*
Email Lockout Notifications: engedélyezése esetén üzenetet küld a rendszer, ha egy host vagy felhasználó kizárásra kerül. Érdemes bepipálni.
Log Type: kiválaszthatjuk, hogy hová logoljon a plugin (adatbázis, fájl, vagy mindkettő). A legtöbb esetben az alapértelmezett “adatbázis” tökéletesen megfelel.

 

A csak fájl alapú használatához gondoskodnunk kell olvasó programról, azaz minden alkalommal le kell tölteni megnyitni ..stb

 

Days to Keep Database Logs: az adatbázis logok megőrzési ideje. Alapértelmezetten 14 nap.
Path to Log Files: a log fájlok elérési útvonala. Csak akkor kell módosítani, ha valami oknál fogva nem megfelelő az alapértelmezett útvonal.

 

pl: költözés, tárhely váltás után biztosan nem megfelelő

 

Allow Data Tracking:  a plugin számára engedélyezzük a névtelen adatgyűjtést. Nem szükséges bekapcsolni.
Disable File Locking: bekapcsolása esetén kiküszöbölhetők egyes hibák, viszont lassulásokat okozhat.
Override Proxy Detection: proxy használata esetén (Varnish, Cloudflare, stb.) érdemes kikapcsolva hagyni, ellenkező esetben viszont pontosabb IP meghatározást érhetünk el, ha engedélyezzük.

 

Ezt csak  szolgáltatónktól tudhatjuk meg, ráadásul nem lesznek valami közlékenyek. Érthető okból simán tagadni fognak!

 

Hide Security Menu in Admin Bar: Bekapcsolása esetén elrejti a “Security” menüt a felső adminisztrációs menüsorról.

 

404 Detection

A 404 detektálás olyan felhasználókra vonatkozik, akik rövid idő alatt túl sok 404-es hibakódot kapnak vissza válaszként a szervertől, tehát nem létező oldalakat vagy fájlokat próbálnak megnyitni. Ilyenkor feltételezhető, hogy egy automatizált, sebezhetőséget kereső robottal vagy felhasználóval van dolgunk, tehát érdemes ezeket tiltani a 404 detektálás engedélyezésével.

Sajnos nekem sikerült már az összes keresőt kitiltani nem egyszer, sőt a CDN szolgáltatót és a cache szervert is. Csak óvatosan!

  • 404 Detection**: Mindenképp engedélyezzük.
    Minutes to Remember 404 Error (Check Period): Az itt megadott időintervallumon belül érkező újabb 404-es kérés számít bele a korábbi összesítésbe (alapértelmezetten 5 perc).
  • Error Threshold: A 404-es hibák tűréshatára. Az itt megadott érték után kerül kitiltásra a felhasználó (alapértelmezetten 20). Nulla megadása esetén csak logol a rendszer, de nem bannol.
  • 404 File/Folder White List: A kivétel lista. Az itt megadott nem létező fájlokat nem számolja a rendszer 404-es találatként. Ha van olyan általában gyakori, de az oldalunkon nem létező fájl, amit alapértelmezetten sűrűn kérnek le (például favicon.ico vagy robots.txt), akkor érdemes itt hozzáadni a listához.
  • Ignored File Types: Az itt megadott kiterjesztéseket logolja a rendszer 404-es találatként, de nem történik utánuk kizárás.

 

Away mode

Away mode: Engedélyezése esetén mindenki számára letilthatjuk a WordPress vezérlőpult hozzáférését. Természetesen mi állítjuk be, hogy mettől-meddig tartson a tiltás. Fontos megjegyezni, hogy ilyen esetben még az adminisztrátor sem tud bejelentkezni.

Banned Users

Default Blacklist*: Ha bepipáljuk, akkor a HackRepair.com által összeállított feketelistán szereplő IP címek nem fognak tudni hozzáférni az oldalunkhoz. Ajánlott az engedélyezése.

 

Valószínűleg tovább lett fejlesztve, kliens azonosítókat tilt a HackRepair.com’s .

 

Ban Users: Ha engedélyezzük, akkor manuálisan tudjuk megadni a kitiltani kívánt IP címeket/user agenteket.

 

Ide kerülnek az automatikusan kizárt IP címek is.

 

Brute Force Protection*

A brute force egy igen gyakori támadási forma, lényegében annyit jelent, hogy az összes gyakori, majd az összes létező jelszó kombinációt végigpróbálja egy bot vagy script, így mindenképpen tiltani kell a hibás bejelentkezéseket egy bizonyos számú sikertelen kísérlet után. Ebben segít az iThemes Security brute force védelme. Aktiválásához első körben igényelni kell egy teljesen ingyenes API kulcsot, ehhez csak az e-mail címünket kell megadni.

Enable iThemes Brute Force Network Protection*: a közösség által ártalmasnak ítélt IP címek automatikusan bannolódnak, ha engedélyezzük ezt a funkciót, ami egyébként erősen ajánlott.
Enable local brute force protection*: a lokális, azaz helyi védelem bekapcsolásához ide is tennünk kell egy pipát. Nagyon fontos, ne felejtsük el.
Max Login Attempts Per Host: az itt megadott érték (alapértelmezetten 5) lesz a tűréshatár a hibás bejelentkezéseket tekintve. Amint egy felhasználó eléri ezt a számot úgy automatikusan kitiltásra kerül, de csak helyileg, azaz a felhasználónév, amellyel bejelentkezni kívánt továbbra is aktív marad. A nulla megadása esetén itt is csak logol a rendszer, de nem bannol.
Max Login Attempts Per User: az itt megadott maximum hibás bejelentkezési érték elérése esetén kitiltásra kerül a felhasználó a lentebb megadott ideig. Nulla megadása esetén itt is csak logol a rendszer, de ez nem ajánlott.
Minutes to Remember Bad Login (check period): az itt megadott ideig kerül kitiltásra a felhasználó (alapértelmezetten 5 perc).
Automatically ban “admin” user*: automatikusan tiltsa ki azt a látogatót, aki az “admin” felhasználónévvel próbál bejelentkezni. Mindenképpen érdemes engedélyezni, persze ennek az a feltétele, hogy a rendszerben nem létezik valódi admin felhasználó (remélhetőleg ez nem jelent problémát, mivel a megléte igen nagy biztonsági kockázat és már telepítéskor ügyelni kell rá, hogy adjunk meg egyedi adminisztrátor felhasználónevet).

 

Database Backups

Backup Full Database*: engedélyezése esetén biztonsági mentést készít a rendszer a teljes adatbázisról (nem csak a WordPress táblákról).
Backup Method: Kiválaszthatjuk, hogy e-mailben, csak a szerverre, vagy mindkét helyre készüljön-e a mentés.
Backup Location: Itt adhatjuk meg, hogy a szerveren melyik könyvtárba is kerüljön az adatbázis mentése.
Backups to Retain: Megadhatjuk, hogy összesen mennyi adatbázis mentést tároljon a rendszer. A nulla jelentése itt a korlát nélküli mentést jelenti, azaz az összes mentést megőrzi a plugin.
Compress Backup Files: Ha pipálunk, akkor tömöríti az adatbázis mentésünket az iThemes Security. Ha szükséges az adatbázis mentés, akkor érdemes engedélyezni.
Exclude Tables: Kiválaszthatjuk, hogy mely adatbázis táblák ne kerüljenek bele a mentésbe.
Schedule Database Backups: Ha bekapcsoljuk, akkor automatikus adatbázis mentést készít a rendszer az általunk megadott intervallumban.

 

Érdemes olyan szolgáltatót keresni aki alapértelmezetten nyújtja ezt a szolgáltatást. Hiszen ez a mentés sosem lesz teljes, előtte nem fog teljes sql optimalizálást végezni (ha a tapasztalataim nem csalnak).

 

File Change Detection

Amennyiben bármilyen fájl megváltozik a WordPress szerkezetében, úgy ez a funkció értesít minket róla. Igen hasznos lehet, mert a legtöbb esetben a fertőzés első jeleként értelmezhető, ha látszólag minden ok nélkül megváltozik egy WP core vagy éppen plugin fájl. Azért kivételek is akadnak, mert néhány bővítmény automatikusan frissül a WP-Cron segítségével.

File Change Detection*: Itt kapcsolhatjuk be a fenti funkciót.
Split File Scanning: Külön ellenőrzi a plugin, a sablon, a wp-admin, a wp-includes, az uploads és a maradék wp-content tartalmat és elosztja az ellenőrzések idejét a nap különböző szakaszaira. Gyengébb vagy lassabb tárhelyszolgáltatónál érdemes lehet ennek az engedélyezése, azonban ilyenkor több értesítést is kaphatunk.
Include/Exclude Files and Folders: Kiválaszthatjuk, hogy a lentebb kiválasztott könyvtárakat hozzáadja vagy éppen kivonja-e az ellenőrzésből a rendszer.
Ignore File Types: A megadott fájltípusokat nem ellenőrzi a rendszer változások után.
Email File Change Notifications*: Engedélyezése esetén elküldi a rendszer e-mailben a változások listáját.
Display File Change Admin Warning*: Az adminisztrátor számára is megjeleníti a változásokról szóló felhívást a vezérlőpultban.

 

Egyszerű bővítmények a sírba fognak vinni, CAPTCHA, translate, Easy Updates Manager, Download Monitor, WP Statisztika, WP Super Cache. Bár lehet javították a funkciókat.

 

Hide Login Area

Hide Backend*: Ha bekapcsoljuk, akkor elrejti a megszokott “/wp-admin” és “wp-login.php” oldalakat és egy az általunk megadott saját végződéssel érhetjük el a jövőben az admin felületet és a regisztrációt. Nagyon hasznos lehet az automatizált támadások kivédése szempontjából, ezért érdemes bekapcsolni és okosan konfigurálni.

 

Malware Scanning

A “Scan homepage for malware” gombra kattintással a népszerű Sucuri Online Scannerrel ellenőrzi az oldalunkat, így kiderül, hogy van-e ismert malware fertőzés, valamint szerepel-e az oldal valamilyen feketelistán. Természetesen ez sem ad 100%-os eredményt, de a tapasztalataim szerint az esetek többségében képes észlelni a fertőzést.

 

Secure Socket Layer (SSL)

Ha a szerver támogajta, akkor bekapcsolhatjuk az SSL titkosítást bizonyos oldalakon, az egész weblapon vagy éppen csak a vezérlőpulton.

Front End SSL Mode: a “per content” csak bizonyos oldalakon engedélyezi az SSL-t (ezt az egyes oldalak/bejegyzések szerkesztési felületén tudjuk egyesével aktiválni), a “whole site” az egész weblapra bekapcsolja.
SSL for Dashboard: csak a vezérlőpult tartalmát titkosítja a plugin.

 

Strong Passwords

Strong Passwords*: Kikényszeríti a felhasználóktól az erős jelszavak használatát (ajánlott engedélyezni).
Select Role for Strong Passwords: A lenyílóban kiválasztott minimum jogosultsági szinttől lép érvénybe a kötelező erős jelszó. Ha publikus a regisztráció, akkor nem feltétlenül érdemes a legalacsonyabb (feliratkozó) szintet kiválasztani, mert sokakat felbosszanthat, azonban az adminisztrátorok számára mindenképpen szükséges ennek beállítása.

 

System Tweaks

System Files*: A rublika kiválasztásával az ismert rendszerfájlok publikus hozzáférését szünteti meg a plugin. Ez egy nagyon hasznos funkció, mindenképp engedélyezzük.

Disable Directory Browsing*: Megakadályozza a könyvtárban szereplő fájlok kilistázását abban az esetben, ha nem szerepel köztük index fájl. Engedélyezzük!
Request Methods**: Szűr néhány (egyes esetekben kártékony) kérési metódust. Engedélyezhetjük, azonban jó alaposan nézzük át utána az oldalt, hogy minden működik-e, néha összeakadhat bizonyos pluginekkel.
Suspicious Query Strings**: Az URL-ben szereplő gyanús stringeket szűri, szintén hasznos funkció, de itt is előfordulhatnak összeakadások, engedélyezés után át kell nézni az összes fő funkciót és oldalt.
Non-English Characters: A nem angol karaktereket szűri és csak akkor működik, ha a “Filter Suspicious Query String” is engedélyezve van. Értelemszerűen ne kapcsoljuk be, ha nem angol nyelvű az oldalunk.
Long URL Strings**: A túl hosszú URL-eket szűri, mert a hackerek előszeretettel injektálnak kódokat az adatbázisba ezzel a módszerrel. Bekapcsolása után itt sem árt ellenőrizni az oldal működését.
File Writing Permissions**: Engedélyezése esetén elveszi az írási jogosultságot a wp-config.php és a .htaccess fájlról (644-ről 444-re), azonban ilyenkor a WordPress és a pluginek sem lesznek képesek ezeket módosítani.

 

Ez problémát okozhat!

 

Uploads*: Letiltja a PHP fájlok futtatását az uploads könyvtáron belül. Nagyon hasznos, hátránya sincsen, mindenképp kapcsoljuk be.

 

WordPress Tweaks

Windows Live Writer Header*: ha nem használunk Windows Live Writert vagy egyéb blogger klienst, aminek szüksége lenne erre, akkor nyugodtan bekapcsolhatjuk az eltávolítását.
EditURI Header*: ha az oldal nincs kapcsolatban külső XMLRPC szolgáltatásokkal (mint a Flickr), akkor az RSD szolgáltatás valószínűleg szükségtelen, így bepipálható a négyzet.
Comment Spam*: csökkenthetjük a hozzászólás spamet, ha bekapcsoljuk ezt a funkciót, ami tiltja a referrer és az user-agent nélküli botok kommentelési lehetőségét.
File Editor*: kikapcsolja a vezérlőpultba beépített fájlszerkesztőt (sablonok/pluginek). Ha nincs rá szükségünk, akkor okos döntés lehet ide is pipát tenni.
XML-RPC**: a lenyílóból kiválaszthatjuk, hogy kikapcsoljuk-e vagy sem az XMLRPC-t. A népszerű Jetpack és még néhány plugin valamint külső szolgáltatás zavartalan működéséhez szükséges az XMLRPC, így javasolt bekapcsolva hagyni.
Multiple Authentication Attempts per XML-RPC Request*: nem olyan régen derült fény az XMLRPC sebezhetőségére, miszerint egy lekérés alatt akár több száz felhasználónév/jelszó is kipróbálható, ezt tudjuk letiltani a lenyílóban a “Block (recommended)” lehetőséget választva. Ennek beállítása mondhatni kötelező.
Login Error Messages*: kikapcsolja a hibás bejelentkezéskor megjelenő hibaüzenetet. Nem szeretnénk, hogy értesüljön róla a hacker, hogy a jelszó vagy a felhasználónév volt-e a hibás, ezért ezt kapcsoljuk be.
Force Unique Nickname*: egyedi felhasználónév választására kötelezi a felhasználókat. Ezt is engedélyezzük.
Disable Extra User Archives*: kikapcsolja a felhasználó szerkesztő oldalát, ha a posztjainak száma nulla. Hasznos, engedélyezzük.

Az “Advanced” fül alatt találjuk a plugin haladó beállításait, ezeket csak óvatosan és biztonsági mentés megléte mellett babráljuk. Itt változtathatjuk meg az admin felhasználó nevét és azonosítóját (ID), a WordPress saltokat, de akár a wp-content könyvtárat is átnevezhetjük, azonban ez elég kockázatos művelet. Lentebb lehetőségünk van még átnevezni az adatbázis prefixet az alapértelmezett “wp_”-ről, ezt érdemes megejteni, persze csak adatbázis mentés előtt.

A “Backups” fül alatt készíthetünk az adatbázisról azonnali biztonsági mentést, a “Logs” fülben pedig értelemszerűen ellenőrizhetjük a logokat és a legutóbbi naplózott történéseket.

wpszaki.hu – írása (kicsit belekommentáltam)

Végzettségem informatikus, Rendszerinformatikus. 2010 óta készítem valko.hu, media-valko.hu, valko-ksk.tk és 2016. évtől az iskola.valko.hu oldalait. Jelenleg a valkói Községi Könyvtárában dolgozom.

További tetteim: torokbutor.hupc-valko.humalota.huirodakoltoztetes.hubudapest-költöztetés.huexpress-teher.hupancelszekrenyszallitas.huzongoraszallitas.hu

Tags:  , ,

Leave a reply

©2016 idStudio & SMThemes.com