Znaczna część osób zajmujących się profesjonalnie WordPress’em zdecydowanie odradza wykorzystywanie autoinstalatorów do uruchomienia strony działającej na bazie tego systemu CMS. Dlaczego?
Odpowiedź na to pytanie nie jest w zasadzie trudna. Ci którzy przestrzegają przed konsekwencjami wykorzystania autoinstalatorów biorą pod uwagę przede wszystkim bezpieczeństwo naszej przyszłej strony internetowej. Olbrzymia, wręcz nieprawdopodobna popularność WordPress’a czyni go łakomym kąskiem dla wszelkiej maści włamywaczy, którzy wykorzystują bezlitośnie objawy nieświadomości, niewiedzy i niedbałości. Dlatego tak ważne jest aby od samego początku zadbać o bezpieczeństwo, co wiele autoinstalatorów skutecznie utrudnia.
Dlaczego autoinstalatorom mówimy nie?
Przede wszystkim dlatego, że większość z nich wykorzystuje utarte schamaty czego w pierwszej kolejności oczekują włamywacze.
Admin
Jakiś czas temu WordPress w procesie instalacji proponował nam standardowy login administratora “admin”. W konsekwencji zdecydowana większość witryn miała i nadal ma dokładnie takiego użytkownika. Jest więc bardzo duże prawdopodobieństwo, że przeglądając taką czy inną stronę działającą na WordPress’ie znajdziesz tam także użytkownika z prawami administratora o loginie “admin”. No cóż, jeśli tak jest, to gdybyś był włamywaczem na starcie miałbyś ułatwione zadanie. Musiałbyś złamać tylko hasło, nazwę użytkownika masz podaną na tacy.
Pomimo, że instalator WordPress’a nie sugeruje aktualnie takiej nazwy użytkownika, to wciąż bardzo dużo autoinstalatorów to robi, a osoby początkujące biorą to za dobrą monetę i nie zmieniają tego loginu. Bo: Skoro system operatora usług hostingowych tak proponuje, to zapewne tak być powinno, oni się przecież lepiej znają niż ja.
Baza danych
To także częsta bolączka znaczącej części autoinstalatorów, które generują nazwę bazy i użytkownika w sposób możliwy do przewidzenia. Na szczęście ten czynnik zanika choć wciąż można trafić na autoinstalatory, które generują identyczną nazwę bazy danych i jej użytkownika.
Dodatkowo problemem jest nadawanie domyślnych prefiksów tabel w bazie danych. Ten prefiks ma postać “wp_” i jest to kolejny element, którego spodziewają się włamywacze. Innymi słowy jeśli zastosujemy taki prefiks sprawimy, że włamywacz będzie znał dokładnie mapę tabel naszej bazy i tym samym ułatwiamy mu ataki, które w pewnych okolicznościach mogą zakończyć się sukcesem ku naszej rozpaczy.
Czy wszystkie autoinstalatory to zło?
W dużej mierze firmy hostingowe oferują dość prymitywne narzędzia do automatycznej instalacji WordPress’a. Postanowiłem sprawdzić jak to obecnie wygląda w przypadku jednego z największych graczy na naszym rynku home.pl. Do przeanalizowania tematu wybrałem specjalną serię usług hostingowych, przynajmniej w teorii dedykowanych WordPressowi. Koszt takiej usługi (nie licząc akcji promocyjnej) zaczyna się od 500 zł netto / rok, a jeśli chcielibyśmy do tego uruchomić certyfikat SSL, to takie konto będzie nas kosztowało rocznie 620 zł netto (51,66 zł netto miesięcznie).
Po zamówieniu usługi z automatu został na niej zainstalowany WordPress i tu ciekawostka w wersji 4.9.8, gdy tymczasem mamy już WordPress’a z numerkiem 5.1. Widać więc, że system jest instalowany prawdopodobnie z lokalnego repozytorium, gdzie wciąż leżakuje wersja 4.9.8. To oczywiście nie problem, bo po chwili CMS sam zaktualizował się do wersji 4.9.9 i informował o tym, że jest także dostępna wersja 5.1. Mogłem przeprowadzić aktualizację ręcznie, ale pytanie ile z początkujących osób to zrobi?
Z ciekawości uruchomiłem proces instalacji drugiej instancji ręcznie w nadziei, że być może znajdę najnowszą wersję WP, ale niestety okazało się, że faktycznie autoinstalator oferuje na obecną chwilę starą wersję 4.9.8. Do tego wybrałem do instalacji zestaw wtyczek. W sumie autoinstalator zainstalował 10 z czego 8 to stare wersje wymagające aktualizacji.
OK, zerknąłem więc na kolejne parametry konfiguracji nowej instancji. Domyślny login to oczywiście admin. Mógłbym to zmienić, ale równie dobrze mógłbym przejść dalej sądząc, że tak ma być. Poza tym domyślna instalacja WordPress’a, która została uruchomiona zaraz po zamówieniu usługi nie dała mi szansy na decyzję. Otrzymałem maila z danymi do logowania i oczywiście login administratora jak zapewne się domyślasz brzmiał “admin”.
W procesie instalacji nie miałem możliwości ingerować w nazwę bazy danych. Sprawdziłem więc jaka została utworzona. Składa się z dwóch członów. Pierwszy to stały identyfikator, a drugi wygląda na generowany losowo. I tu jest OK, choć można by mieć wątpliwości czy nadawanie identycznej nazwy bazie i jej użytkownikowi to dobry kierunek. W tym wypadku tak jest:
Idąc dalej sprawdziłem prefiksy tabel w bazie jakie zostały utworzone. Niestety moje obawy się potwierdziły. Wykorzystany prefiks to standardowy, oklepany “wp_”, a więc każdy z miejsca zna nazwy wszystkich tabel mojego WordPress’a. Niestety w procesie instalacji nie miałem możliwości zdefiniowania własnego prefiksu.
Za usługę, która kosztuje 500 zł netto czyli ponad 600 zł rocznie i jest usługą rzekomo dedykowaną WordPressowi spodziewałbym się czegoś więcej. Niestety ten autoinstalator jest wręcz podręcznikowym przykładem, który z powodzeniem mogą wykorzystywać przeciwnicy mechanizmów automatycznej instalacji WordPress’a.
Znacząca część firm hostingowych takie autoinstalatory nam serwuje, a więc nie ma się co dziwić, że środowisko osób specjalizujących się w WordPressie i jego bezpieczeństwie zdecydowanie odradza tę formę instalacji. Jeśli więc zdecydujesz się na hosting w jednej z takich firm, odpuść sobie autoinstalatora. Wykonaj instalację ręcznie, co nie jest procesem skomplikowanym, a pozwoli Ci odpowiednio zabezpieczyć fundament pod przyszłą stronę.
Można jednak inaczej
Są na szczęście usługi hostingowe, które dbają o użytkowników WordPress’a i udostępniają takie narzędzia automatycznej instalacji, które pozwalają na całkowitą personalizację procesu i w konsekwencji bazowej architektury naszej przyszłej strony. Zaliczyć do nich można takie platformy hostingowe jak Kinsta , WPEngine, A2 hosting i inne. Również nasze usługi hostingowe dla WordPress’a oferują zupełnie inny poziom. Przyjrzyjmy się im.
Po uruchomieniu autoinstalatora domyślnie system ustawia instalację tak aby nasza przyszła strona wykorzystywała certyfikat SSL (protokół https). Wersja WordPress’a nie jest instalowana z lokalnego repozytorium hostingu, co skutkuje tak jak w naszym powyższym przykładzie starymi wersjami tego systemu, ale instalacja jest za każdym razem inicjowana z głównego repozytorium WP, dzięki czemu instalujemy najnowszą dostępną na daną chwilę wersję CMS-a.
Adminowi mówimy NIE
System nie zasugeruje Ci oklepanej, dobrze wszystkim znanej nazwy głównego administratory strona. Sugesita owszem będzie, ale zostanie wygenerowana losowo czyniąc już z samego loginu ciąg trudny do złamania. Nie modyfikuj tego, no chyba że chcesz go jeszcze bardziej skomplikować 🙂
Baza danych
Sekcji bazy danych nawet nie trzeba rozwijać ponieważ także w tym miejscu dane zostaną wygenerowane w sposób losowy. To co istotne to także sam fakt, że mamy wpływ na prefiks, nazwę bazy i jej użytkownika. Nazwa bazy danych i jej użytkownik nie tylko są odpowiednio złożone, ale także różne od siebie, a sam prefiks, to losowo wygenerowany ciąg, który jak w przypadku pozostałych danych ciężko będzie odgadnąć.
To jednak nie wszystko. Mamy także możliwość wdrożenia mechanizmów automatycznej aktualizacji zarówno samego WordPress’a jak również wtyczek i motywów, a idąc o krok dalej, to autoinstalator na dzień dobry przeanalizuje i wdroży środki bezpieczeństwa. Oto niektóre z nich:
Kolejne środki zabezpieczeń sugerowane przez autoinstalatora możesz wdrożyć samodzielnie jednym kliknięciem myszki. W razie potrzeby można je cofnąć:
Różnice pomiędzy autoinstalatorami chociażby tymi dwoma, które pokazałem są olbrzymie. Z jednej strony masz bardzo podstawowe mechanizmy, które w zasadzie nie dają Ci nic poza oszczędnością czasu, ale jednocześnie niepotrzebnie narażają Cię na negatywne w skutkach ataki. Inne z kolei faktycznie dbają o to aby Twoja przyszła strona już od samego początku była należycie skonfigurowana i chroniona.
Podsumowanie
Jeśli miałbym odnieść się do postawionego w tytule tego artykułu pytania. Czy że autoinstalatory to zło? Zapewne potwierdziłbym taką opinię analizując wiele takich narzędzi dostępnych na rynku. Jednak generalizowanie na tym polu, to już krok za daleko. Jak widzisz są narzędzia dające Ci doskonały fundament i to nie tylko jak chodzi o bazową konfigurację w stylu “nie serwuj mi loginu admin” albo “nie stosuj prefiksu wp_ w nazwach tabel”, ale także pozwalają Ci wdrożyć dodatkowe środki bezpieczeństwa, których na próżno szukać na większości usług hostingowych. Także – o zgrozo – na tych, które określają się mianem “Hostingu WordPress”. Jeśli interesują Cię konta hostingowe mające na pokładzie konkretne narzędzia zarówno jak chodzi o autoinstalatora jak również te umożliwiające Ci późniejsze zarządzanie instancjami WordPress’a, sprawdź je na stronie: Hosting WordPress.