Jak zabezpečit administraci WordPressu

Proč je zabezpečení administrace kritické
Administrace WordPressu je nejčastějším terčem hackerů, protože přístup k administraci jim dává plnou kontrolu nad webem. Každý WordPress web má výchozí přihlašovací stránku na /wp-admin nebo /wp-login.php, což je všeobecně známé. Automatizovaní boti se pokoušejí na tyto URL adresy dostat 24 hodin denně pomocí brute force útoků, slovníků hesel a ukradených přihlašovacích údajů z úniků dat. Podle statistik obdrží průměrný WordPress web přes 10 000 neoprávněných pokusů o přihlášení měsíčně.
Kompromitovaná administrace umožňuje útočníkovi nainstalovat malware, ukrást data uživatelů, zneužít server k rozesílání spamových e-mailů, umístit phishingové stránky nebo web zcela smazat. Důsledky mohou být katastrofální, včetně ušlých příjmů, poškozené reputace, právních problémů z úniku dat a zařazení na černou listinu Googlu. Zabezpečení administrace není volitelné, ale povinné bezpečnostní opatření pro každý WordPress web.
Změna přihlašovací URL
Proč URL měnit
Změna výchozí přihlašovací URL je první linií obrany, známou jako bezpečnost prostřednictvím skrytí. Ačkoli to samo o sobě nestačí, výrazně to snižuje počet automatizovaných útoků, protože boti hledají adresy /wp-admin a /wp-login.php. Změněná URL eliminuje naprostou většinu automatizovaných brute force útoků, které tvoří 95 procent všech útoků na přihlašovací stránky WordPressu.
Plugin WPS Hide Login
WPS Hide Login je odlehčený plugin s více než milionem aktivních instalací, který jednoduše změní URL přihlašovací stránky. Po instalaci přejděte do Nastavení, poté WPS Hide Login, a zadejte novou URL jako /muj-pristup nebo /tajny-vchod. Plugin nemění soubory ani nepřidává pravidla přepisování – jednoduše zachytává požadavky. Novou URL si zapamatujte nebo uložte na bezpečné místo, protože bez ní se z administrace uzamknete. Pokud URL zapomenete, můžete plugin deaktivovat přes FTP nebo phpMyAdmin tak, že ho smažete z adresáře wp-content/plugins.
Alternativní metody
Pokud nechcete používat plugin, můžete přihlašovací stránku skrýt pomocí pravidel htaccess v Apache nebo bloku location v Nginx. Můžete například zablokovat přístup k wp-login.php pro všechny kromě konkrétních IP adres nebo použít HTTP Basic Authentication jako další ochrannou vrstvu před přihlašovacím formulářem WordPressu. To přidá dialog pro uživatelské jméno a heslo ještě dříve, než se vůbec zobrazí přihlašovací formulář WordPressu, čímž útočníkovi postaví dvojitou bariéru.
Omezení pokusů o přihlášení
Ochrana před brute force
Brute force útok zkouší různé kombinace uživatelských jmen a hesel, dokud správnou neuhodne. WordPress ve výchozím nastavení neomezuje počet pokusů o přihlášení, což znamená, že útočník může zkoušet miliony kombinací. Omezení pokusů o přihlášení je naprosto nezbytné opatření, které po určitém počtu neúspěšných pokusů zablokuje IP adresu. Tím se brute force útoky stávají nepraktickými, protože útočník může vyzkoušet jen pár hesel, než je zablokován.
Limit Login Attempts Reloaded
Limit Login Attempts Reloaded je k tomuto účelu nejoblíbenější plugin s více než 2 miliony aktivních instalací. Plugin zablokuje IP adresu po nastaveném počtu neúspěšných pokusů s postupně se prodlužující dobou blokace. Doporučená konfigurace jsou 3 povolené pokusy před 20minutovou blokací, poté 3 blokace před prodlouženou 24hodinovou blokací. Plugin posílá administrátorovi e-mailová upozornění o zablokovaných IP adresách a poskytuje statistiky o počtu zablokovaných útoků.
Fail2ban na úrovni serveru
Pro důkladnější ochranu je Fail2ban na úrovni serveru lepším řešením, protože blokuje IP adresy na úrovni firewallu ještě předtím, než požadavek vůbec dorazí k WordPressu. Fail2ban čte autentizační logy WordPressu a automaticky přidává pravidla firewallu pro IP adresy s příliš mnoha neúspěšnými pokusy o přihlášení. To je efektivnější než pluginová řešení, protože na odmítání útoků se spotřebuje méně serverových prostředků. Konfigurace zahrnuje vytvoření Fail2ban jail pro WordPress a filtru, který v access logu rozpozná neúspěšné pokusy o přihlášení.
Dvoufaktorové ověření (2FA)
Co je 2FA a proč je nezbytné
Dvoufaktorové ověření přidává vedle hesla druhou vrstvu ochrany tím, že vyžaduje něco, co uživatel zná (heslo), a něco, co uživatel má (telefon s autentizátorem). I když útočník zjistí vaše heslo prostřednictvím phishingu, úniku dat nebo brute force, bez druhého faktoru se do administrace nedostane. Výzkum Googlu ukazuje, že 2FA blokuje 99,9 procenta automatizovaných útoků a 96 procent cílených phishingových útoků.
Zavedení 2FA
WP 2FA je vynikající bezplatný plugin, který podporuje TOTP jednorázová hesla založená na čase, jež fungují s aplikacemi Google Authenticator, Authy, Microsoft Authenticator a dalšími autentizačními aplikacemi. Po instalaci každý uživatel naskenuje QR kód aplikací autentizátoru a při každém přihlášení zadá šestimístný kód, který se mění každých 30 sekund. Plugin také podporuje záložní kódy pro situace, kdy uživatel nemá přístup k telefonu, a možnost vynutit 2FA pro konkrétní uživatelské role.
Hardwarové bezpečnostní klíče
Pro nejvyšší úroveň zabezpečení umožňuje standard WebAuthn použití fyzických bezpečnostních klíčů jako YubiKey pro přihlášení do WordPressu. Hardwarové klíče jsou odolné vůči phishingu, protože jsou vázané na konkrétní doménu a nelze je zachytit. WordPress 5.6 a novější má vestavěnou podporu pro Application Passwords a pluginy jako WP-WebAuthn přidávají plnou podporu hardwarových klíčů FIDO2. To se doporučuje pro administrátory webů s citlivými daty.
IP whitelist
Omezení přístupu podle IP adresy
Pokud do administrace přistupujete z pevné IP adresy nebo malého počtu známých IP adres, můžete přístup omezit pouze na tyto adresy. To je nejpřísnější forma ochrany, protože zcela blokuje přístup do administrace ze všech neznámých lokalit. V souboru htaccess v adresáři wp-admin použijte direktivu Order Deny Allow, abyste povolili pouze konkrétní IP adresy. V Nginx použijte direktivy allow a deny v bloku location pro wp-admin.
Problémy s dynamickou IP
Většina uživatelů má dynamickou IP adresu, která se pravidelně mění, což činí statický IP whitelist nepraktickým. Řešení zahrnují použití VPN služby s pevnou IP adresou, která poskytuje konzistentní IP bez ohledu na lokalitu. Případně můžete použít CloudFlare Access nebo řešení Zero Trust, která uživatele autentizují ještě před povolením přístupu k administrátorské URL. Některé pluginy jako iThemes Security nabízejí možnost odeslat magický odkaz na e-mail pro dočasné přidání IP adresy na whitelist.
Bezpečnostní pluginy
Wordfence Security
Wordfence je nejznámější bezpečnostní plugin pro WordPress s více než 4 miliony aktivních instalací. Nabízí webový aplikační firewall, který blokuje známé útoky dříve, než dorazí k WordPressu, skener malwaru, který kontroluje všechny soubory WordPressu a porovnává je s originály z repozitáře, real-time threat intelligence s informacemi o nejnovějších hrozbách, zabezpečení přihlášení s 2FA a ochranou před brute force a sledování provozu v reálném čase, které ukazuje všechny požadavky v reálném čase. Bezplatná verze pokryje většinu potřeb, zatímco prémiová verze přidává firewallová pravidla v reálném čase a prioritní podporu.
Sucuri Security
Sucuri nabízí cloudový WAF, což je firewall na úrovni DNS, což znamená, že škodlivé požadavky se nikdy nedostanou na váš server. To je obzvlášť účinné proti DDoS útokům a zero-day exploitům, protože tým Sucuri pravidla neustále aktualizuje. WordPress plugin nabízí sledování integrity souborů, bezpečnostní logování, sledování černých listin a posthackové akce pro vyčištění kompromitovaného webu. Sucuri je prémiová služba, ale vynikající investice pro firemní weby a e-commerce platformy.
iThemes Security
iThemes Security, dříve známý jako Better WP Security, nabízí v jednom pluginu více než 30 bezpečnostních opatření. Klíčové funkce zahrnují změnu administrátorské URL, ochranu před brute force, detekci změn souborů, vynucení silných hesel, blokování problematických user agentů, skrytí verze WordPressu a automatické aktualizace. Dashboard zobrazuje bezpečnostní skóre webu s doporučeními na zlepšení. Verze Pro přidává 2FA, naplánované skenování malwaru a integraci reCAPTCHA.
Doplňková ochranná opatření
Silné heslo a uživatelské jméno
Nikdy nepoužívejte admin jako uživatelské jméno, protože to boti zkoušejí jako první. Použijte unikátní uživatelské jméno, které není veřejně viditelné na webu. Heslo by mělo mít alespoň 16 znaků s kombinací velkých a malých písmen, číslic a speciálních znaků. Použijte správce hesel jako Bitwarden nebo 1Password ke generování a ukládání silných hesel. Nepoužívejte stejné heslo pro administraci WordPressu a jiné služby, protože únik dat u jedné služby kompromituje všechny účty se stejným heslem.
SSL certifikát
SSL certifikát šifruje komunikaci mezi prohlížečem a serverem včetně uživatelského jména a hesla při přihlášení. Bez SSL putují přihlašovací údaje v otevřeném textu a lze je zachytit na veřejných WiFi sítích nebo kompromitovaných sítích. U BeoHostingu všechny tarify zahrnují bezplatný SSL certifikát Let's Encrypt s automatickou obnovou. Po instalaci SSL přidejte do wp-config.php konstantu FORCE_SSL_ADMIN s hodnotou true, abyste pro celou administraci vynutili HTTPS.
Pravidelné aktualizace
Většina úspěšných útoků na WordPress zneužívá známé zranitelnosti v zastaralých verzích. Podívejte se na podrobný průvodce zabezpečením webu, motivů nebo pluginů. Aktualizujte WordPress, motivy a pluginy hned, jakmile je k dispozici nová verze. Zapněte automatické aktualizace pro menší verze WordPressu a bezpečnostní záplaty. Před většími aktualizacemi vytvořte kompletní zálohu webu. Smažte nepoužívané motivy a pluginy, protože i deaktivované pluginy mohou obsahovat zranitelnosti, které útočníci mohou zneužít.
Závěr
Zabezpečení administrace WordPressu vyžaduje vícevrstvý přístup, protože žádné jednotlivé opatření samo o sobě nestačí. Zkombinujte změnu přihlašovací URL pro eliminaci automatizovaných útoků, omezení pokusů o přihlášení pro ochranu před brute force, 2FA pro ochranu před kompromitovanými hesly, IP whitelist pro nejpřísnější přístup a bezpečnostní plugin pro komplexní sledování a ochranu. U WordPress hostingových tarifů BeoHosting je ochrana na úrovni serveru zahrnuta s Fail2ban, ModSecurity WAF a automatickou zálohou pro maximální zabezpečení webu.
BeoHosting Team
10+ let zkušeností — Specialisté na webhosting a infrastrukturu
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Naposledy aktualizováno: