Dodatočné zabezpečenie WordPressu: oprávnenia, wp-config a .htaccess
Aktualizácie, silné heslo a dvojstupňové overenie sú základom bezpečnej stránky na WordPresse. Spevnenie (hardening) ide ešte o krok ďalej: stránku nastavíte tak, aby bezpečnostná chyba alebo ukradnutý účet napáchali čo najmenej škody. Tu sa dočítate, o aké nastavenia ide a ako ich zapnete vo svojom hostingovom balíku.
Čo už zabezpečuje server
Časť ochrany už zabezpečujú naše servery. Súbor xmlrpc.php je predvolene zablokovaný (WordPress: prístup k xmlrpc.php nefunguje), nebezpečné funkcie PHP sú vypnuté (Zabezpečenie PHP: vypnuté funkcie) a beží firewall pre webovú prevádzku aj skener malvéru. Pozrite si Webový aplikačný firewall a Imunify360: kontrola webovej stránky na malvér. Kroky uvedené nižšie vykonáte sami, priamo na svojej stránke.
Všetky súbory upravíte v DirectAdmine pomocou Správcu súborov. Súbory, ktorých názov začína bodkou, napríklad .htaccess, uvidíte až po zapnutí zobrazenia skrytých súborov: pozrite si Zobrazenie a úprava skrytých súborov, napríklad .htaccess. Z každého súboru si najprv vytvorte kópiu a uložte ju mimo priečinka public_html.
1. Žiadna úprava kódu z administrácie
Otvorte súbor wp-config.php v priečinku domains/example.com/public_html a nad riadok s textom „koniec úprav“ (That's all, stop editing!) vložte tento riadok:
define( 'DISALLOW_FILE_EDIT', true );
Editory súborov tém a pluginov tým z administrácie zmiznú. Kto by získal kontrolu nad účtom administrátora, nebude môcť niekoľkými kliknutiami vložiť do vašej témy škodlivý kód. Inštalácia a aktualizácia pluginov funguje ďalej bez zmeny. V tom istom súbore nastavte WP_DEBUG na false, aby sa chybové hlásenia nikdy nezobrazovali návštevníkom.
2. Žiadne PHP v priečinku uploads
Do priečinka wp-content/uploads patria obrázky a dokumenty, nie PHP. Útočník, ktorý dokáže cez bezpečnostnú chybu nahrať súbor, sa pokúsi umiestniť práve sem súbor PHP a potom ho spustiť. V priečinku wp-content/uploads vytvorte súbor .htaccess s týmto obsahom:
<Files *.php> Require all denied </Files>
Potom skontrolujte, či vaša stránka, formuláre a knižnica médií stále fungujú.
3. Žiadny výpis priečinkov
Ak v priečinku nie je súbor index.php ani index.html, webový server môže zobraziť zoznam všetkých súborov. Na začiatok súboru .htaccess v priečinku public_html vložte:
Options -Indexes
Otestujete to tak, že otvoríte priečinok bez indexového súboru, napríklad https://example.com/wp-content/uploads/. Mala by sa zobraziť chybová stránka (403 alebo 404), nie zoznam súborov.
4. Oprávnenia súborov a priečinkov
| Čo | Oprávnenia |
|---|---|
| Priečinky | 755 |
| Súbory | 644 |
wp-config.php | Prísnejšie: 600 alebo 640. Vyskúšajte 600 a skontrolujte, či stránka stále funguje. |
Nikdy nepoužívajte 777: vtedy môže do daného priečinka zapisovať ktokoľvek na serveri. Ak niektorý návod tvrdí, že je to potrebné, aby fungovalo nahrávanie, príčina je inde. Úprava oprávnení: pozrite si Oprávnenia súborov a priečinkov (chmod).
5. Žiadne zvyšky vo webovom priečinku
Všetko v priečinku public_html je dostupné cez web. Preto upracte:
- kópie súboru
wp-config.php, napríkladwp-config.php.bakalebowp-config.old. Obsahujú heslo k vašej databáze a server ich odošle ako obyčajný text; - zálohy, napríklad
backup.zipalebodatabase.sql; - priečinok
.gitod vývojára; wp-content/debug.log;- testovacie súbory, napríklad
info.phps funkciouphpinfo().
Ak chcete zneprístupniť jeden konkrétny súbor, pozrite si Blokovanie súborov pomocou .htaccess.
6. Hlavičky a prihlasovanie
- Bezpečnostné hlavičky určujú prehliadaču, ako má s vašou stránkou zaobchádzať. Pozrite si HSTS a bezpečnostné hlavičky pre vašu webovú stránku.
- Prihlasovaciu stránku obmedzíte na svoju vlastnú IP adresu podľa návodu Zabezpečenie súboru wp-login.php vo WordPresse.
- Dvojstupňové overenie pre administrátorov: pozrite si Nastavenie dvojstupňového overenia pre WordPress.
Skrytie verzie WordPressu je len upratovanie, nie zabezpečenie: útočné programy bezpečnostnú chybu jednoducho vyskúšajú. Chybu odstráni jedine aktualizácia.
A čo bezpečnostný plugin?
Bezpečnostný plugin často spája firewall, skener a ochranu prihlasovania. Firewall v plugine začne pôsobiť až vtedy, keď WordPress už beží, kým firewall na serveri zastaví požiadavky skôr. Plugin je teda doplnkom, najmä pre dvojstupňové overenie a obmedzenie pokusov o prihlásenie. Používajte najviac jeden: dva bezpečnostné pluginy súčasne sa často navzájom rušia.
.htaccess alebo wp-config.php dokáže vyradiť celú stránku. Pozrite si Chyba 500 alebo „kritická chyba“ na vašej webovej stránke (aj po aktualizácii WordPressu).Ďalšie čítanie
- Hardening WordPress (developer.wordpress.org, v angličtine)
Chcete sa dozvedieť viac? Absolvujte bezplatný kurz WordPressu, lekciu 7.4 Spevnenie stránky: oprávnenia, hlavičky a bezpečnostné pluginy.
