SPIS TREŚCI:
Rzeczy drobne umykają uwadze i prowadzą czasami do przeróżnych konsekwencji. A to właśnie w codziennej pracy wykonujemy najwięcej rutynowych działań, które z biegiem czasu powodują znużenie, nieuwagę, wręcz lekceważenie zagrożeń. A stąd już tylko kilka kliknięć do utraty kontroli nad system zarządzania treścią. Zabezpieczanie WordPressa to także codzienne BHP pracy.
Najwięcej troski i uwagi poświęca się pracy z kontem serwera współdzielonego, bazą danych i innym „technikaliom”. Pomija się często prawidłową konfigurację aplikacji, oraz niedbale podchodzi się do dodawania treści. A to właśnie w tych obszarach możemy dużo zdziałać. Zacznijmy od konfiguracji.
Zabezpieczanie WordPressa – konfiguracja
Zaraz po zainstalowaniu WordPressa możemy rozważyć wdrożenie kilku ustawień, które wpływają na uszczelnienie systemu. Ich wdrożenie jest uzależnione od roli jaką spełnia WordPress: blog, serwis informacyjny, sklep, forum wymiany informacji itd. Dlatego w gestii każdego administratora pozostaje rozważenie i zastosowanie poniższych uwag.
Pingback i trackback
To technologie odpowiedzialne za komunikację WordPressa z innymi blogami oraz wymianę informacji o dodawanej treści. Niestety, te protokoły są obecnie wykorzystywane głównie w kampaniach spamerskich, dlatego możemy rozważyć wyłączenie tych mechanizmów w Ustawieniach/Dyskusja. Pamiętajmy także o ustawieniach trackbacków w odniesieniu do poszczególnych wpisów.
Edytor plików WordPressa
Edytor umożliwia dostęp do plików znajdujących się na serwerze z poziomu panelu admina. Dzięki niemu możemy edytować pliki motywów i wtyczek. A to oznacza bezpośredni dostęp do serwera. Warto rozważyć zamknięcie dostępu do edytora – jeśli do panelu mają dostęp także inni użytkownicy i chcemy uniknąć przypadkowych szkód. Edytor możemy wyłączyć wykorzystując plik konfiguracyjny WordPressa. Uwaga! Niektóre wtyczki wymagają edytora plików do poprawnego działania. Jeśli zauważymy jakieś problemy, to należy rozważyć: włączenie mechanizmu vs inna wtyczka.
Mechanizm instalacji dodatków
Zamknięcie dostępu do edytora nie rozwiązuje problemu instalacji nowych wtyczek z poziomu panelu admina. A to oznacza, że osoba która ma do niego dostęp z odpowiednimi uprawnieniami, może osadzić w systemie własną wtyczkę i przejąć nad nim kontrolę. Jeśli sporadycznie instalujemy wtyczki/motywy, to możemy rozważyć wyłączenie tego mechanizmu. Wtyczki i motywy możemy także instalować ręcznie z wykorzystaniem serwera FTP. Podobnie jak w przypadku edytora plików, mechanizm instalacji wyłączamy z poziomu pliku konfiguracyjnego.
Monitorowanie użytkowników
Jeśli z naszego panelu admina korzystają także inni zarejestrowani użytkownicy, to rozważmy wdrożenie mechanizmu rejestrującego ich aktywność. Tego typu zadania możemy realizować z wykorzystaniem odpowiednich wtyczek, które śledzą poczynienia użytkowników, od logowania poprzez edycję wpisów i czynności konfiguracyjne.
Polityka aktualizacji
WordPress dysponuje wewnętrznym mechanizmem aktualizacji plików źródłowych, wtyczek i motywów. Domyślnie, aplikacja instaluje pomniejsze aktualizacje, zaś my jako administratorzy, instalujemy aktualizacje wtyczek/motywów, oraz większych wydań WordPressa. Ten mechanizm jest niezwykle elastyczny i możemy go kontrolować z poziomu pliku konfiguracyjnego. Dostępne są wtyczki, które precyzują, co konkretnie ma być aktualizowane ręcznie, a co automatycznie. Niezależnie od wybranego rozwiązania, aktualizacja systemu i jego komponentów to najważniejsze zadanie administratora w kontekście bezpieczeństwa. Najważniejsze.
Polityka kopii bezpieczeństwa
Istnieje szansa, że usługodawca serwera współdzielonego wdrożył mechanizm kopii bezpieczeństwa katalogów swoich klientów. To jednak nie zwalania nas z konieczności skonfigurowania i wdrożenia własnego mechanizmu. Dobrym rozwiązaniem jest zainstalowanie wtyczki, która wykonuje kopię wybranych przez nas plików, katalogów oraz bazy danych w oparciu o zdefiniowany terminarz.
Warto rozejrzeć się za wtyczką, która automatycznie przesyła kopię bezpieczeństwa do wskazanego przez nas schowka – głównie usługi w chmurze pokroju Dropbox. Pod żadnym pozorem nie wolno umieszczać kopii bezpieczeństwa na serwerze. Poprawnie skonfigurowany mechanizm powinien działać bez naszego udziału.
Wtyczki i motywy
Bezpieczne wtyczki i motywy wykraczają poza zagadnienie konfiguracji. Mimo tego, jako administratorzy, jesteśmy odpowiedzialni za to, aby instalowane zasoby były wolne od szkodników i poprawnie skonfigurowane (szczególnie wtyczki optymalizujące system). Jeśli zawiedzie jeden z tych elementów, to wtyczka jest w stanie pogrążyć cały system. Nasze poszukiwania powinniśmy rozpocząć od oficjalnego katalogu WordPressa. Ryzyko znalezienia zainfekowanych plików na platformie wordpress.org, jest prawie zerowe – nie zwalania to nas od aktualizacji, szczególnie poprawek związanych z bezpieczeństwem.
Zabezpieczanie WordPressa – komentarze
Użytkownicy, komentarze i spam to oddzielna działka poletka administracyjnego. To tutaj pojawia się największy ruch – należy być czujnym i zapobiegawczym. Użytkownikom nie brakuje kreatywności i nigdy nie śpią. Jeśli zdecydujemy się na to, aby otworzyć WordPressa na świat, to musimy włączyć mechanizm rejestracji w systemie. Uwaga: mechanizm rejestracji zakłada także wybór domyślnej roli nowo rejestrowanego użytkownika – możemy tam znaleźć opcję: „Administrator” – sprawdźmy kilkukrotnie, jaką rolę system przypisuje nowym użytkownikom.
Alternatywnym rozwiązaniem jest wdrożenie mechanizmu komentowania typu Disqus. Dzięki temu opieramy się na narzędziach i infrastrukturze podmiotu, który udostępnia taką usługę. Rozwiązanie to ma swoje plusy i minusy, przykładowo: odciążenie naszych zasobów sprzętowych vs treść naszego serwisu trafia do obcych baz danych.
Login i adres mailowy autora komentarza
Ten wymóg to pierwsza zapora dla szkodników i złośliwych użytkowników. Konieczność rejestracji i podania danych, powoduje mniejszy ruch w sekcji komentarzy, ale jest to cena którą warto zapłacić. Dodatkowo, można rozważyć inne mechanizmy utrudniające publikowanie komentarzy spamerów: rozwiązywanie różnych zagadek lub implementacja wtyczki blokującej spam.
Języki obce i regionalizacja
Jeśli nasz portal kierowany jest do określonej grupy językowej, lub regionu, to można rozważyć możliwość blokowania komentarzy w językach obcych, które są dla nas kompletnie nieczytelne – głównie języki azjatyckie i arabski. Nieznajomość tych języków powoduje nieczytelność treści, która pojawia się w komentarzu, a to oznacza, że o wiele łatwiej jest przeoczyć niebezpieczne ciągi znaków.
Moderacja komentarzy
WordPress domyślnie oddaje nam do dyspozycji kilka opcji i ustawień związanych z komentowaniem. Możemy zastanowić się nad tym, czy każdy komentarz powinien trafić do moderacji, czy też publikujemy z automatu wszystkie wypowiedzi. Możemy także określić reguły, które kierują część komentarzy do moderacji, część do kosza, a resztę system przepuszcza i publikuje. Oprócz tego możemy:
- Określić ile max. odnośników (linków) może pojawić się w treści komentarza. Jeśli wartość zostanie przekroczona, to komentarz przenoszony jest do moderacji.
- Zablokować określone ciągi znaków – takie ciągi to nie tylko wulgaryzmy, ale przede wszystkim fragmenty kodu.
- Wyłączyć komentowanie wpisów po określonym czasie od daty publikacji – jest to przydatne, jeśli nie zależy nam na ruchu w treściach, które szybko się dezaktualizują.
- Inspekcja komentarzy – to oczywiście nie jest opcja, ani ustawienie – po prostu zaglądajmy do naszych wpisów, do zaplecza i sprawdzamy co się dzieje w komentarzach.
Zabezpieczanie WordPressa – treść
Ostrożność podczas dodawania treści dotyczy higieny pracy z WordPressem. Nie ma żadnego powodu, aby do naszej bazy danych przedostawały się fragmenty stylów, skryptów lub też ramki.
Administrator to nie autor tekstu
Nie istnieje powód, dla którego konto administratora jest wykorzystywane do dodawania treści. Pamiętajmy: administrator kontroluje WordPressa i jego ustawienia, pisanie felietonów – mimo wszystko – nie jest jego rolą. Jeśli oprócz prac administracyjnych publikujemy treści, to do takich zadań najlepiej utworzyć nowe konto użytkownika i przypisać mu rolę: „Współpracownik” lub „Autor”. Dzięki temu otwarta sesja logowania opiera się na użytkowniku o niższych niż administrator uprawnieniach.
Długie posiedzenia
Jesteśmy pełni pomysłów, mamy smykałkę do klawiatury, uwielbiamy dużo pisać… świetnie, tym bardziej powinniśmy rozwijać naszą pasję poza panelem admina, a teksty tworzyć w zewnętrznych edytorach tekstu. Nie ma powodu, aby zbyt długo utrzymywać otwartą sesję logowania z WordPressem – szczególnie w oparciu o konto administratora (patrz wyżej). Artykuły starajmy się pisać w ulubionym procesorze tekstu. Do WordPressa wklejamy już gotowy materiał i formatujemy.
Filtrowanie treści
Praktyka kopiuj/wklej staje się powoli kulturą kopiowania. Kopiuje się na potęgę (pomijam w tym miejscu wątek prawny). Kopiując cokolwiek z edytora tekstu, ze strony WWW lub innych dokumentów, kopiujemy również ciągi znaków, które są dla nas niewidoczne – style CSS opisujące wygląd, lub coś znacznie gorszego. Dlatego przed wklejeniem tekstu możemy zaznaczyć opcję „Wklej jako tekst” w edytorze tekstu WordPressa. Możemy także skorzystać z pośrednictwa programu „Notatnik”, który usuwa większość niewidocznej treści – wystarczy wkleić i wyciąć tekst.
Uważajmy także na fragmenty kodu, które można znaleźć w Internecie. Nie wolno wklejać czegoś, czego w 100% nie rozumiemy. Taka praktyka wpływa na bezpieczeństwo, oraz może zaszkodzić SEO serwisu WWW. Jeśli robot indeksujący znajdzie w treści artykułu podejrzane fragmenty kodu, to istnieje prawdopodobieństwo oznaczenia naszej strony jako „niebezpieczna”.
„Miękka” administracja
Administrowanie i bezpieczeństwo to nie tylko plik .htaccess i serwer. To także pilnowanie tego, co się dzieje na zapleczu admina, jak powstają treści i co robią inni użytkownicy systemu. Być może jest to najtrudniejsza część pracy administratora – rozciągnięta w czasie, może być nużąca, a to prowadzi do rutyny, nieuwagi i błędów. Pamiętajmy, użytkowników jest bardzo dużo, nie śpią i są kreatywni, a my mamy ograniczone zasoby kontroli systemu.
Powodzenia.