logo w

Pozycjonowanie Poznań - Positioning Site
TL;DR Bezpieczeństwo CMS to nie jednorazowe działanie, tylko zestaw nawyków: silne i unikalne hasła, regularna rotacja, menadżer haseł, wyłączona rejestracja, aktualne wtyczki, SSL i dwuetapowa autentykacja. Jedna zapomniana stara podstrona, jedna dziurawa wtyczka albo jedno hasło admin/admin może wystarczyć hakerowi. WordPress, Joomla, Presta — system nie ma większego znaczenia, jeśli użytkownik robi bałagan i udaje, że „jakoś to będzie".

Działania na start — co wdrożyć bez tłumaczenia

Tu wymieniam prace, które trzeba wdrożyć i nie ma tu tłumaczenia brakiem wiedzy czy doświadczenia. To nie są ozdobniki dla paranoików. To podstawy utrzymania strony, która ma działać, zarabiać i nie świecić w Google komunikatem, że jest niebezpieczna.

1. Jakość haseł dostępowych

Hasła typu admin/admin już od ponad dekady nie są śmiesznym żartem. Warto stosować hasła długie, to znaczy takie powyżej 8 znaków. Hasła powinny zawierać małe i duże litery oraz cyfry. W świadomości wielu użytkowników dostęp do strony to jedna dana. W efekcie często jedno hasło pasuje do CMS WordPress czy Joomla lub innej Presty, to samo hasło jest do panelu serwera, do FTP, do domeny, a nierzadko także do e-maila.

Pamiętaj:

każda usługa = logowanie = inne dane dostępowe

To jest proste i nudne. Ale właśnie takie rzeczy najczęściej robią różnicę. Nie jeden wielki cyberatak z filmu, tylko skopiowane hasło, wspólny login, dostęp wysłany mailem i konto, którego nikt nie usunął po zakończeniu współpracy.

2. Częstość zmian haseł i KeePass

Raz zdefiniowane hasło nie jest sprawą zamkniętą. Zmieniaj hasła możliwie często. Ustaw sobie przypomnienia, zrób tabelkę w dokumentach Google, cokolwiek. To ważne, aby hasła rotowały i były aktualizowane. Zmieniaj także login.

Tutaj sugeruję rozwiązanie stosowane przeze mnie: menadżer haseł KeePass. Jest to darmowy, bardzo prosty w obsłudze program o bardzo zaawansowanych procesach kryptograficznych. Dostępny jest w wersji do instalacji oraz portable. Najbardziej cenię ten program za:

  • zaawansowaną kryptografię — baza danych jest serio bezpieczna,
  • możliwość wygenerowania „pliku kontrolnego"; nawet znając hasło, bez pliku nie otworzysz bazy danych,
  • generator haseł, który możesz skonfigurować tak, aby generował np. klucz 128 bit, serio trudny do złamania,
  • funkcję auto type, bardzo przydatną przy automatycznym wypełnianiu formularzy, zwłaszcza kiedy w chwili pisania tego tekstu mam przeszło 900 rekordów.

Pamiętaj! Warto regularnie zachować kopię zapasową bazy danych, np. w chmurze, gdyby ktoś pilnie potrzebował Twojego pendrive'a albo trzeba było odtworzyć dostępy. Warto też zapamiętać hasło główne. Deszyfracja bazy danych bez niego to jakiś nierealny obłęd.

KeePass — menadżer haseł do zabezpieczenia CMS
KeePass pozwala trzymać porządek w hasłach zamiast udawać, że wszystko da się zapamiętać.

3. Wyłącz rejestrację użytkowników, komentarze, debugowanie

Jeśli prowadzisz stronę samodzielnie lub zatrudniasz kilka osób i nie zakładasz możliwości zdalnego tworzenia kont przez czytelników — wyłącz tę możliwość.

W WordPress:

  • Zaloguj się do panelu.
  • Wejdź w ustawienia ogólne.
  • „Każdy może się zarejestrować" — odznacz tę opcję.

W Joomla:

  • Zaloguj się do panelu.
  • Wejdź w Użytkownicy → Lista użytkowników.
  • Przejdź do Opcji.
  • Rejestruj nowych → ustaw na „nie".

Jeśli nie korzystasz z komentarzy — wyłącz komentarze. Jeśli nie potrzebujesz debugowania — wyłącz debugowanie. Każda włączona funkcja, której nie używasz, jest potencjalnym miejscem problemu. Minimum funkcji, maksimum kontroli.

Dobre praktyki bez tajemnej wiedzy

Utrzymuj porządek na serwerze

Porządek to zawsze prosta sprawa, a często zaniedbywana. Jak się robi bałagan?

Zamieszczasz coś „na chwilę" i zostaje. Instalujesz coś do testów i zostaje. To przykłady drastyczne i niby niespotykane zbyt często. Co zatem realnie zaśmieca serwer?

Zdjęcia i filmy z wakacji. No to nie jest tak, że jak jesteś szefem w swojej firmie, to na serwerze firmowym możesz wrzucać swoje prywatne zdjęcia. Google sobie indeksuje serwery i możesz dać sporo uciechy informatykom konkurencji.

Usuwane zdjęcia ze strony. To także częsty problem. Na stronę wrzucasz nowe foto firmy, np. po remoncie albo nowej specjalistki od HR, a stara fota zostaje na serwerze. Po co? Nikt tego nie wie.

Najczęściej bałagan to utrzymywanie starych treści na stronie. Wrzucasz online nową stronę kontaktową, przekierowujesz linki na nową stronę. A stara strona kontaktowa? Nowe wdrożone, więc IT zamyka zadanie i robi następne. Stara strona hula po sieci i z czasem niezabezpieczony formularz staje się szeroko otwartą bramą dla hakerów.

W praktyce najlepiej utrzymywać online tylko te materiały, które są przeznaczone dla użytkowników. Nic więcej.

Nie korzystaj z auto instalatorów

Tu komentarz jest zbędny. Nie rób tego i tyle. Kropka.

Auto instalator bywa wygodny, ale wygoda przy wdrożeniu często kończy się bałaganem w strukturze, wersjach, dodatkach i uprawnieniach. Jeśli strona ma być ważnym narzędziem biznesowym, warto ją wdrożyć świadomie, a nie kliknąć trzy razy i liczyć, że hosting zrobił wszystko dobrze.

Aktualizuj wtyczki i system

Niezależnie, czy korzystasz z WordPress, Joomla czy innego CMS, regularnie sprawdzaj wykorzystywane wtyczki. Dbaj o ich aktualizacje. Brak aktualizacji wtyczek to jeden z najczęstszych powodów włamań na stronę. Aktualizację systemu traktuj jak aktualizację najważniejszej wtyczki. Aktualny CMS jest kwestią fundamentalną.

Nie instaluj też wtyczek „bo może się przyda". Każda dodatkowa wtyczka to kolejny element do aktualizacji, kontroli i potencjalna luka. Lepiej mieć mniej dodatków, ale wiedzieć, po co są i kto je utrzymuje.

Dwuetapowa autentykacja

Podobnie jak to ma miejsce w przypadku kont Google czy Facebook — zadbaj o wykorzystanie tej opcji także na Twojej stronie. Błędy w strukturze kodu to nie wszystkie luki, które wykorzystują hakerzy. Często zawodzi czynnik ludzki.

Dwuetapowa autentykacja nie jest fanaberią. To dodatkowa blokada w sytuacji, gdy ktoś pozna hasło. A hasła wyciekają, są podglądane, powtarzane i wysyłane w sposób, którego nikt później nie chce pamiętać.

Osobny użytkownik, hasło, baza danych

To kolejny element z kategorii „czynnik ludzki". Pewnie nie raz zdarzało się korzystać ze „wspólnego" loginu. W przypadku stron WWW, i w ogóle zresztą, jest to niedopuszczalne. Precyzyjne wyznaczanie ról, uprawnień oraz zakresu prac to minimalizacja ryzyka oraz łatwiejsze określenie źródła „kłopotów".

Każdy użytkownik powinien mieć własne konto. Każdy wykonawca powinien mieć dostęp tylko do tego, czego naprawdę potrzebuje. Po zakończeniu pracy dostęp należy odebrać. To nie jest brak zaufania. To higiena.

Certyfikat SSL

To zabezpieczenie, które odczują Twoi klienci. Będą korzystali z formularzy kontaktowych i ścieżki zakupowej bez możliwości łatwego podsłuchania transmisji danych. Jak to się ma do Ciebie? Google od dawna kładzie spory nacisk na bezpieczeństwo strony. Instalując SSL, zwiększasz wiarygodność strony i usuwasz komunikaty, które potrafią skutecznie odstraszyć użytkownika.

Jak już zamówisz certyfikat SSL, nie korzystaj z wtyczki, aby go wdrożyć. Może to doprowadzić do wolniejszego działania strony. Prawidłowe wdrożenie SSL dla web developera to moment. Zrób to dobrze.

Rozdzielaj serwery — testy vs produkcja

Dla Ciebie, właściciela strony, to informacja bardziej biznesowa. Zakładam, że masz stronę WWW w dwóch środowiskach: produkcja, czyli online, to co widzą Twoi klienci, oraz testowa, czyli to, nad czym pracują serwerowcy, marketingowcy i co dostajesz do wglądu przed wdrożeniem.

Warto, aby te dwa środowiska były na oddzielnych serwerach. Wynika to ze względów bezpieczeństwa danych: do wersji roboczej często mają dostęp osoby, które nie powinny mieć dostępu do wersji online. Kolejny aspekt to użycie zasobów. Tworzenie i testy to częste przeładowywanie strony. Warto, aby statystyki użycia serwera strony online były realne.

Wnioski

1. Bezpieczeństwo to nawyk, nie projekt z datą zakończenia. Nie zabezpieczasz strony raz na zawsze. Hasła, aktualizacje, dostępy, kopie zapasowe i porządek na serwerze trzeba utrzymywać regularnie.

2. Najczęstsze włamania nie wymagają filmu z hackerem w kapturze. Wystarczy słabe hasło, stara wtyczka, zapomniana testowa instalacja albo formularz, który miał być „tylko na chwilę".

3. Porządek na serwerze i minimalizacja dostępów naprawdę działają. Mniej kont, mniej śmieci, mniej wtyczek, mniej przypadkowych plików. To żadna magia. To profilaktyka.

Jeśli chcesz sprawdzić, czy Twoja strona nie ma technicznych i bezpieczeństwowych min pod nogami, zacznij od audytu SEO.

Więcej o tym, jak łączę technikę, bezpieczeństwo i pozycjonowanie stron w Poznaniu, znajdziesz w opisie procesu.

Najczęściej zadawane pytania

Jak często zmieniać hasła do panelu CMS?

Rozsądnie jest zmieniać hasła regularnie, szczególnie po zakończeniu współpracy z wykonawcą, po podejrzanej aktywności albo po większych zmianach na stronie. Najważniejsze jednak, żeby hasła były unikalne, długie i przechowywane w menadżerze haseł, a nie w pliku „hasła_final_ostateczne.xlsx".

Czy wtyczka wystarczy do wdrożenia certyfikatu SSL?

Lepiej nie iść tą drogą. Wtyczki do SSL bywają wygodne, ale potrafią spowolnić stronę albo maskować problem zamiast go naprawić. Poprawne wdrożenie SSL powinno być wykonane na poziomie serwera i konfiguracji strony.

Jak sprawdzić, czy moja strona WordPress lub Joomla była zhakowana?

Niepokojące objawy to dziwne przekierowania, nowe konta użytkowników, spamowe podstrony w Google, nagły spadek ruchu, komunikaty bezpieczeństwa w przeglądarce, podejrzane pliki na serwerze albo zmiany, których nikt nie wprowadzał. Warto sprawdzić też Google Search Console i logi serwera.

Czym jest dwuetapowa autentykacja i jak ją włączyć w CMS?

Dwuetapowa autentykacja oznacza, że oprócz hasła potrzebujesz drugiego składnika logowania, np. kodu z aplikacji. W WordPress zwykle wdraża się ją przez sprawdzoną wtyczkę bezpieczeństwa, a w Joomla można skorzystać z wbudowanych mechanizmów lub dodatków. Najważniejsze, żeby nie kończyć ochrony na samym haśle.