Bezpieczenstwo WordPress: 12 rzeczy ktore musisz zrobic
Konkretna lista zabezpieczen WordPress: aktualizacje, 2FA, ukrycie wp-login, limit logowania, backupy, SSL i monitoring. Bez teorii, same rzeczy do wdrozenia.
Najczestsza przyczyna wlaman to nieaktualna wtyczka albo motyw
Silne haslo plus 2FA blokuje wiekszosc automatycznych prob logowania
Backup poza serwerem to roznica miedzy awaria a strata sklepu
Ukrycie wp-login i limit logowania ucina ataki slownikowe
Klient dostaje role Redaktora, nie Administratora
[/dwb_keytakeaways]
Skad naprawde biora sie wlamania do WordPress
Zacznijmy od mitu, ktory robi najwiecej szkody. Wiekszosc wlaman do WordPress to nie genialny haker lamiacy serwer w nocy. To bot, ktory znalazl nieaktualna wtyczke ze znana luka, sprawdzil slabe haslo ze sciaganej listy albo wszedl przez konto, ktore mialo za duzo uprawnien. Nuda, automat, skala.
To dobra wiadomosc, bo nude da sie zatkac prostymi nawykami. Nie potrzebujesz drogiego audytu ani sztabu specjalistow, zeby wyprzedzic wieksza czesc atakow. Potrzebujesz dwunastu konkretnych rzeczy, ktore raz ustawisz i pilnujesz. Ten tekst jest wlasnie taka lista. Bez straszenia, bez teorii, same dzialania, ktore realnie zmniejszaja ryzyko.
Ulozylem je od najwazniejszych do dopelniajacych. Jesli masz czas tylko na pierwsze piec, zrob pierwsze piec, a i tak bedziesz daleko przed przecietna strona. Reszta domyka temat i daje spokojny sen.
Zanim cokolwiek zmienisz, zrob pelny backup strony i bazy. Ironia bylaby, gdybys psul cos przy zabezpieczaniu i nie mial do czego wrocic. Backup robisz pierwszy, dopiero potem grzebiesz w ustawieniach.
1. Aktualizuj rdzen, wtyczki i motywy
To absolutny numer jeden i zarazem najczesciej olewany krok. Nieaktualna wtyczka ze znana luka to otwarte drzwi z tabliczka "wejdz". Gdy autor wtyczki publikuje aktualizacje bezpieczenstwa, w tej samej chwili swiat dowiaduje sie, co bylo dziurawe. Boty zaczynaja skanowac strony, ktore jeszcze nie zalatali, w ciagu godzin.
- Rdzen WordPress: drobne wydania bezpieczenstwa wlacz na automat, instaluja sie same i rzadko cos psuja.
- Wtyczki i motywy: aktualizuj regularnie, najlepiej raz w tygodniu, na sklepie czesciej. Wczesniej rob backup, zeby cofnac sie po nieudanej aktualizacji.
- Porzucone wtyczki: jesli wtyczka nie byla aktualizowana od ponad roku, znajdz zamiennik. Martwy kod nie dostanie latki.
2. Silne haslo i menedzer hasel
Haslo typu Firma2024 albo imie psa to zaproszenie. Boty maja gotowe listy najpopularniejszych hasel i przelataja je w sekundy. Konto administratora WordPress musi miec haslo dlugie, losowe i uzyte tylko w tym jednym miejscu.
Nie wymyslaj hasel z glowy i nie zapisuj ich w pliku na pulpicie. Uzyj menedzera hasel jak Bitwarden albo 1Password, ktory wygeneruje i zapamieta ciag w stylu dwudziestu losowych znakow. To samo dotyczy kazdego konta z dostepem do panelu i bazy. Jedno zlamane haslo nie moze otwierac calej reszty.
3. Wlacz 2FA na koncie admina
Uwierzytelnianie dwuskladnikowe to najlepszy stosunek wysilku do efektu w calej tej liscie. Nawet jesli ktos zdobedzie Twoje haslo, bez drugiego skladnika z aplikacji w telefonie nie wejdzie. To zamienia wlamanie z "wpisz wykradzione haslo" na "musisz miec fizycznie moj telefon".
- Wlacz 2FA dla wszystkich kont z rola Administratora i Redaktora.
- Uzyj aplikacji typu Google Authenticator lub Authy, kod z SMS jest slabszy.
- Zapisz kody zapasowe w menedzerze hasel, na wypadek utraty telefonu.
Jesli prowadzisz strone dla klienta i dajesz mu dostep, wlacz 2FA takze na jego koncie. Najslabsze ogniwo to czesto osoba, ktora uzywa tego samego hasla wszedzie. Jedno przejete konto klienta otwiera caly serwis.
4. Ukryj strone logowania wp-login
Domyslnie kazdy wie, ze panel WordPress siedzi pod /wp-admin i /wp-login.php. Boty pukaja tam masowo i probuja hasel. Gdy przeniesiesz logowanie pod wlasny, nietypowy adres, te automaty trafiaja w pustke i przestaja zasmiecac logi oraz obciazac serwer.
To nie jest pelne zabezpieczenie, tylko zmniejszenie halasu, ale dziala swietnie w parze z limitem logowania i 2FA. Zmiane adresu logowania zrobisz wtyczka jak WPS Hide Login w minute. Zapamietaj nowy adres albo zapisz go w menedzerze, bo bez niego sam sie nie zalogujesz.
5. Ogranicz liczbe prob logowania
Domyslnie WordPress pozwala probowac hasel bez konca. To zaproszenie do ataku slownikowego, gdzie bot strzela tysiacami kombinacji. Limit prob logowania blokuje adres IP po kilku nieudanych probach na okreslony czas.
Wtyczki jak Limit Login Attempts Reloaded albo modul w Wordfence ustawiaja to w kilka klikniec. Rozsadny prog to piec prob, potem blokada na kilkanascie minut, a przy powtarzajacych sie atakach dluzej. Polacz to z ukryciem wp-login, a ataki brute force po prostu przestana sie oplacac.
6. Wylacz edytor plikow w panelu
WordPress ma wbudowany edytor, ktory pozwala zmieniac kod motywu i wtyczek z poziomu panelu. Brzmi wygodnie, ale jest groznym narzedziem. Jesli ktos przejmie konto administratora, przez ten edytor wstrzyknie zlosliwy kod w sekunde, bez dostepu do serwera przez FTP.
Dlatego edytor warto wylaczyc. Dodaj jedna linie do pliku wp-config.php:
- define('DISALLOW_FILE_EDIT', true); wpisana w wp-config.php usuwa edytor z panelu.
- Kod motywu i tak edytujesz bezpieczniej przez FTP albo lokalnie, wiec nic nie tracisz.
- To darmowa, jednolinijkowa bariera, ktora zamyka popularny wektor po wlamaniu.
7. Rob regularny backup poza serwerem
Backup to nie jest zabezpieczenie przed wlamaniem, tylko Twoja polisa, gdy mimo wszystko cos pojdzie nie tak. Roznica miedzy "przykra awaria na godzine" a "strata calego sklepu" to wlasnie istnienie swiezej kopii. Bez backupu jedno udane wlamanie albo blad wtyczki potrafi skasowac lata pracy.
Jak ustawic backup, ktory naprawde ratuje
- Wybierz wtyczke backup jak UpdraftPlus albo backup po stronie hostingu
- Ustaw kopie poza serwerem strony: Google Drive, Dropbox albo zewnetrzny storage
- Dla strony firmowej rob backup co najmniej raz dziennie lub co kilka dni
- Dla sklepu rob backup codziennie albo w czasie rzeczywistym, bo trace zamowienia
- Trzymaj kilka ostatnich kopii, nie tylko najnowsza, na wypadek pozno wykrytej infekcji
- Raz na jakis czas przetestuj odtworzenie kopii, bo backup ktorego nie umiesz przywrocic nie istnieje
Backup trzymany na tym samym serwerze co strona to nie backup. Gdy serwer padnie, zostanie zaszyfrowany przez ransomware albo wygasnie konto, kopia znika razem ze strona. Sens ma tylko kopia poza serwerem.
8. Wymuszaj SSL na calej stronie
SSL, czyli adres z https i klodka, szyfruje polaczenie miedzy uzytkownikiem a strona. Bez tego haslo administratora i dane klientow leca przez siec otwartym tekstem, mozliwe do podsluchania. Dzis to standard, a Google traktuje brak SSL jako sygnal ostrzegawczy i oznacza strone jako niezabezpieczona.
Certyfikat dostajesz dzis za darmo z Let's Encrypt, wiekszosc hostingow wlacza go jednym klikniem. Wazne, zeby cala strona dzialala po https i zeby stare adresy http przekierowywaly na bezpieczna wersje. Na sklepie SSL jest absolutna koniecznoscia, bo bez niego bramki platnicze i tak Cie nie wpuszcza.
9. Postaw jedna wtyczke bezpieczenstwa
Wtyczka bezpieczenstwa zbiera kilka zabezpieczen w jednym miejscu: firewall aplikacyjny, skan plikow pod katem zlosliwego kodu, limit logowania i powiadomienia. Na rynku PL i DE standardem sa Wordfence oraz iThemes Security (dzis Solid Security).
- Wybierz jedna: dwie wtyczki bezpieczenstwa naraz gryza sie i spowalniaja strone.
- Skonfiguruj firewall i skan: domyslne ustawienia sa OK na start, dopracuj z czasem.
- Wlacz powiadomienia: chcesz wiedziec o probach wlaman i zmianach w plikach od razu.
Pamietaj tylko, ze to jeden z dwunastu elementow, nie tarcza, ktora zwalnia z reszty. Najgorszy scenariusz to zainstalowac Wordfence i przestac aktualizowac, bo "przeciez mam zabezpieczenie".
10. Ustaw poprawne uprawnienia plikow
Uprawnienia plikow decyduja, kto moze czytac i zmieniac pliki na serwerze. Zbyt luzne ustawienia pozwalaja zlosliwemu skryptowi nadpisac wazne pliki. Dobra praktyka jest prosta i ma standardowe wartosci.
| Element | Uprawnienia | Dlaczego |
|---|---|---|
| Katalogi | 755 | pozwala wejsc i czytac, zapisuje tylko wlasciciel |
| Pliki | 644 | czytelne dla serwera, edytowalne tylko przez wlasciciela |
| wp-config.php | 600 lub 640 | najbardziej wrazliwy plik, dostep maksymalnie ograniczony |
Plik wp-config.php trzyma dane do bazy i klucze, wiec zaslguje na najostrzejsze uprawnienia. Wiekszosc hostingow ustawia rozsadne wartosci domyslnie, ale po migracji albo recznym wgraniu plikow warto sprawdzic, czy nic nie jest ustawione na 777, bo to otwarte drzwi.
11. Wylacz xmlrpc, jesli go nie uzywasz
Plik xmlrpc.php to stary interfejs zdalny, ktory dzis sluzy glownie aplikacji mobilnej WordPress i niektorym integracjom typu pingback. Problem w tym, ze jest ulubionym celem dwoch atakow: brute force, gdzie bot probuje setek hasel w jednym zapytaniu, oraz wzmacniania DDoS.
Jesli nie korzystasz z aplikacji mobilnej ani integracji, ktore go wymagaja, wylacz go. Zrobisz to wtyczka bezpieczenstwa albo regula na serwerze. Zanim wylaczysz na sztywno, sprawdz, czy zadna Twoja wtyczka go nie uzywa, bo niektore stare narzedzia jeszcze na nim stoja.
12. Wlacz monitoring i zasade najmniejszych uprawnien
Dwa ostatnie kroki domykaja temat i to one czesto odrozniaja amatorskie wdrozenie od profesjonalnego.
Monitoring to log zmian i powiadomienia. Chcesz wiedziec, kiedy ktos sie zalogowal, zmienil plik albo zainstalowal wtyczke. Wtyczki jak WP Activity Log albo modul w Wordfence pokazuja, co dzieje sie na stronie, i pozwalaja wychwycic wlamanie zanim narobi szkod. Cicha infekcja, ktorej nikt nie zauwaza miesiacami, jest gorsza niz glosna awaria.
Zasada najmniejszych uprawnien jest banalna: kazdy dostaje tylko tyle dostepu, ile naprawde potrzebuje. Klient, ktory dodaje wpisy na blogu, dostaje role Redaktora albo Autora, nie Administratora. Im mniej kont z pelnym dostepem, tym mniejsza powierzchnia ataku. Jedno przejete konto z rola Redaktora narobi duzo mniej szkod niz przejety Administrator.
Jesli to wszystko brzmi jak sporo roboty, to dlatego, ze bezpieczenstwo jest procesem, nie jednorazowym klikiem. W DawidWeb robie to na co dzien: hardening WordPress i WooCommerce, konfiguracja 2FA, backupow poza serwerem, monitoringu i uprawnien, a takze regularna opieka, zeby strona zostala zabezpieczona takze za pol roku. Strony i sklepy buduje od 1800 zl, jestem Partnerem Shoper, mam za soba ponad 120 projektow, a wycene konkretnego wdrozenia albo audytu bezpieczenstwa dostajesz w 24 godziny.
Najczęstsze pytania
Czy WordPress jest bezpieczny?
Sam rdzen WordPress jest solidny i szybko lata dziury. Problem prawie zawsze siedzi gdzie indziej: w nieaktualnych wtyczkach, slabym hasle, braku backupu i kont z nadmiarem uprawnien. WordPress napedza ogromna czesc internetu, wiec jest popularnym celem, ale 95 procent wlaman to wykorzystanie znanej, dawno zalatanej luki w porzuconej wtyczce. Jesli aktualizujesz, masz 2FA i backup, jestes daleko przed wiekszoscia stron.
Czy wtyczka bezpieczenstwa wystarczy zeby zabezpieczyc strone?
Pomaga, ale sama nie zalatwi sprawy. Wordfence czy iThemes Security ustawia firewall, limit logowania i skan plikow, lecz nie zaktualizuje za Ciebie porzuconej wtyczki ani nie zrobi backupu poza serwerem. Traktuj ja jako jeden z dwunastu elementow, nie jako tarcze, ktora zwalnia z reszty. Najgorszy scenariusz to falszywe poczucie bezpieczenstwa, bo zainstalowales wtyczke i przestales aktualizowac.
Czy warto ukrywac strone logowania wp-login.php?
Tak, bo ucina hurtowe ataki slownikowe u zrodla. Boty masowo pukaja pod /wp-admin i /wp-login.php, probujac tysiace hasel. Gdy przeniesiesz logowanie pod wlasny adres, te automaty trafiaja w sciane i nie maja na czym pracowac. To nie jest pelne zabezpieczenie, bo zdeterminowany atak i tak znajdzie sciezke, ale w polaczeniu z limitem prob i 2FA usuwa wieksza czesc halasu z logow.
Jak czesto robic backup strony WordPress?
Dla zwyklej strony firmowej wystarcza backup dzienny lub co kilka dni. Dla sklepu, gdzie codziennie wpadaja zamowienia, rob backup codziennie, a najlepiej w czasie rzeczywistym albo kilka razy dziennie. Kluczowa zasada: kopia musi lezec poza serwerem strony, na zewnetrznym dysku w chmurze. Backup na tym samym serwerze co strona ginie razem z nia, gdy serwer padnie albo ktos go zaszyfruje.
Czy wylaczenie xmlrpc cos zepsuje na stronie?
W wiekszosci nowoczesnych stron nie. xmlrpc.php to stary interfejs, ktory dzis sluzy glownie do dwoch rzeczy: aplikacji mobilnej WordPress i niektorych integracji typu pingback. Jesli z nich nie korzystasz, mozesz go wylaczyc bezpiecznie i pozbywasz sie czestego celu atakow brute force i wzmacniania DDoS. Zanim wylaczysz na sztywno, sprawdz, czy zadna Twoja wtyczka lub aplikacja go nie uzywa.
Potrzebujesz pomocy z projektem?
Robię strony WordPress i sklepy Shoper od 2500 zł. Partner Shoper, 120+ projektów.
- Odpowiedź w 24h
- Certyfikowany Partner Shoper
- 120+ zrealizowanych projektów
- Zgodność z RODO, pełna ochrona danych