Podobnie jak w przypadku systemu zarządzania treścią WordPress, Joomla osiągnęła olbrzymią popularność jako system zarządzania treścią. Prosty, dający nieograniczone możliwości rozwoju, a przede wszystkim darmowy.
Intuicyjna obsługa panelu i dostęp do tysięcy bezpłatnych dodatków spowodował, że Joomla jest jedną z najczęściej wybieranych aplikacji do tworzenia stron WWW. Globalne aktualizacje i powszechność systemu stały się także jego zmorą pod względem bezpieczeństwa. W przypadku stwierdzenia błędu w oprogramowaniu Joomla, natychmiast wszystkie witryny oparte o ten system stają się podatne na potencjalne zagrożenia.
Poza zagrożeniami wynikającemu z „dziur” w kodzie oraz błędów aplikacji, bardzo często możemy się spotkać po prostu z próbami włamania do panelu administracyjnego. Z tego względu warto zastanowić się nad dodatkowym zabezpieczeniem naszego panelu administracyjnego.
Dodatkowa ochrona panelu administracyjnego Joomla może być realizowana poprzez:
- ograniczenie dostępu do wydzielonego adresu IP (.htaccess),
- podwójną autoryzację do panelu administracyjnego (.htpasswd),
- dodanie pliku index.html do katalogu /administrator,
- dodatki i rozszerzenia do systemu CMS,
- zmianę standardowego loginu admin,
- ochrona komputera poprzez oprogramowanie antywirusowe.
Pomimo, że temat bezpieczeństwa w sieci jest niezwykle wrażliwy, wręcz stawiany na pierwszym miejscu, wielu użytkowników nadal uważa, że taki problem nie dotyczy ich witryny. Mało popularne serwisy WWW, strony wizytówki czy świeżo postawione portale. Nigdy nie ma pewności, czy taka lub inna strona nie zostanie zaatakowana.
Warto dlatego zadbać o bezpieczeństwo swojej strony WWW już na etapie jej tworzenia. A jeśli witryna już działa, poświęć jej kilka minut i zwiększ ochronę. Już kilka drobnych zmian, może przynieść wymierne korzyści w przyszłości.
Ograniczenie dostępu do panelu z jednego adresu IP
Metoda ta opiera się na ograniczeniu dostępu do wybranych zasobów tylko do jednego adresu IP. Domyślnie dostęp do panelu administracyjnego Joomla ograniczany jest tylko do znajomości poprawnego loginu i hasła. Dzięki opisanemu w tym punkcie rozwiązaniu, ograniczamy również dostęp do panelu administracyjnego z poziomu tylko wybranego adresu IP.
W pliku .htaccess umieść poniższe dyrektywy. Plik .htaccess należy umieścić w katalogu /administrator.
AuthName "Example Access Control" AuthType Basic order deny,allow deny from all allow from 46.242.149.10
W miejscu „46.242.149.10” wpisz adres IP, który ma mieć dostęp do panelu administracyjnego. Jeśli masz wątpliwości czy przydzielony adres IP jest stały, skontaktuj się z dostawcą Internetu.
Dodatkowy login i hasło – .htpasswd
Metoda ta opiera się na dodaniu do katalogu /administrator dodatkowego pliku .htpasswd, który odpowiedzialny będzie za wymuszanie dodatkowej autoryzacji przy próbie dostępu do wybranych zasobów.
Stosując podwójną autoryzację, w pierwszej kolejności wywołanie panelu administracyjnego, skutkować będzie prośbą „od serwera” o podanie uprawnień dostępu do katalogu /administrator, dopiero po pierwszej autoryzacji nastąpi wywołanie okna logowania do panelu administracyjnego Joomla, gdzie podajesz właściwe dane dostępowe do konta administratora w Joomla.
Utwórz lub edytuj plik .htaccess w katalogu /administrator. W pliku .htaccess umieścić poniższe dyrektywy:
AuthType Basic AuthName "Wymagana autoryzacja:" AuthUserFile .htpasswd Require valid-user
Następną wymaganą czynnością jest utworzenie pliku .htpasswd, który będzie zawierał nazwy użytkowników oraz ich hasła dostępu. Zawartość pliku .htpasswd tworzy się według poniższego schematu:
nazwa_uzytkownika:hasło_dostępu
Odpowiednie loginy i hasła do pliku .htpasswd możesz zakodować pod tym adresem. Pamiętaj, aby na podanej stronie wybrać algorytm kodowania o nazwie crypt(). Więcej informacji na temat pliku .htpasswd w home.pl możesz przeczytać pod tym adresem.
kowalski:OUAjBiIAMyfvg
Oba pliki .htaccess oraz .htpasswd umieść w katalogu /administrator na serwerze FTP w katalogu ze stroną internetową. Pamiętaj, aby podczas kodowania hasła wybrać algorytm kodowania o nazwie crypt(). Efektem powyższych działań, będzie każdorazowe pojawienie się dodatkowego okna logowania podczas uruchamiania panelu administracyjnego Joomla.
Dodatkowy plik index.html w katalogu /administrator
Panel administracyjny Joomla! domyślnie dostępny jest pod adresem www.mojadomena.pl/administrator. Adres ten w rzeczywistości przekierowuje i wywołuje plik index.php, tj. www.mojadomena.pl/administrator/index.php.
Wpisanie obydwu powyższej wspomnianych adresów daje ten sam efekt w postaci konsoli logowania do CMS Joomla! Mniej ambitni hakerzy, którzy zaczynają swoją przygodę od włamania do paneli administracyjnych systemów CMS, zwykle wprowadzają skróconą wersję adresu WWW, aby ułatwić i przyśpieszyć sobie zadanie. Możemy spróbować zniechęcić ich do dalszych prób, generując dodatkowy komunikat błędu, pozostawiając sobie otwartą furtkę do panelu.
Domyślna kolejność wywoływania plików index na serwerze współdzielonym w home.pl, przyznaje pierwszeństwo plikowi index.html nad index.php. Oznacza to w praktyce tyle, że umieszczone dwa pliki index w jednym katalogu i próba wywołania adresu tego katalogu, spowoduje uruchomienie w pierwszej kolejności pliku index.html. Tym sposobem, umieszczając pusty plik (bez zawartości) index.html w katalogu /administrator, a następnie wywołując adres www.mojadomena.pl/administrator, spowodujemy wyświetlenie białej strony zamiast konsoli logowania do panelu administracyjnego.
Aby w dalszym ciągu móc zalogować się do panelu administracyjnego Joomla, konieczne będzie ręczne wpisanie adresu w postaci: www.mojadomena.pl/administrator/index.php
Powyższe rozwiązanie raczej nie będzie skuteczne w przypadku ataku aplikacji/robota, może jednak skutecznie zniechęcić potencjalnego nowicjusza, który odkryje w takim działaniu błąd aplikacji i zaniecha dalszych prób „zgadywania” loginu i hasła do panelu administracyjnego.
Jeśli dodatkowo zamiast białej strony chcielibyśmy przekierować użytkownika z adresu www.mojadomena.pl/administrator na inny adres, to możemy w pliku index.html dodać poniższy wpis, gdzie zamiast adresu „mojadomena.pl” należy podać adres URL, na który użytkownik ma zostać przekierowany.
<meta http-equiv="refresh" content="0;url=http://mojadomena.pl">
Dodatki i rozszerzenia do systemu CMS
Jeśli z jakiś powodów obawiamy się o ingerencję w pliki na serwerze FTP, możemy także wyręczyć się dodatkami instalowanymi bezpośrednio w samym panelu Joomla.
Wśród najciekawszych znajdziemy m.in. te odpowiedzialne za edycję adresu URL panelu administracyjnego, wykonywanie automatycznych kopii zapasowych, ochronę dodatkowym hasłem czy kodem captcha.
AdminExile / JSecure
Dodatek odpowiedzialny za zmianę adresu strony logowania, zamiast standardowego www.domena.pl/administrator, możemy wywołać adres znany tylko nam, np. www.domena.pl/administrator/index.php?moja-fraza
Rozwiązanie to skutecznie niweluje ataki z zewnątrz, które domyślnie skierowane są na podstawowy adres panelu administracyjnego. Dodatkowo, jeśli zależy nam na ukryciu informacji w jakim CMS jest stworzona nasza strona, uniemożliwi to jakąkolwiek próbę wywołania okna logowania do Joomla, które zwykle zdradza wiele szczegółów.
Akeeba Backup
Dodatek ten nie zapewnia żadnego zabezpieczenia przed próbą nieuprawnionego dostępu do panelu administracyjnego, jest jednak jednym z ciekawszych i najczęściej wybieranych rozszerzeń z powodu możliwości zrobienia kopii zapasowej całego serwisu.
Wraz z tworzeniem kolejnych kopii zapasowych, tworzymy sobie punkty przywracania, do których możemy się w przyszłości odnieść. Tego typu rozwiązanie jest przydatne zarówno w sytuacji kiedy dokonamy, niekoniecznie poprawnych, modyfikacji strony lub gdy spotkamy się z koniecznością odtworzenia kopii zapasowej np. z powodu przeprowadzonego ataku na stronę WWW.
Posiadanie wielu kopii zapasowych, pozwoli nam także porównać dostępne wersje plików, a w przyszłości sprawdzić jakie zmiany zostały wykonane, np. w okresie czasu kiedy sami nic nie modyfikowaliśmy.
jHackGuard
Plugin do CMS Joomla! chroniący stronę WWW przed różnego rodzaju atakami z zewnątrz, m.in.:SQL injection, PHP injection, File Incusion czy XSS – czyli przede wszystkim dołączaniu skryptów do wnętrza aplikacji, poprzez niezabezpieczone luki w stronach WWW. Efektem takich działań intruzów może być np. przejęcie kontroli nad serwisem, jego uszkodzenie lub stosowanie różnego rodzaju przekierowań.
Zmiana loginu admin
Najczęstsze ataki na strony WWW, np. typu brute force, bazują na prostym algorytmie, który bez znajomości loginu i hasła utworzonego przez administratora, podejmuje próby ich złamania. Algorytm ten poprzez wielokrotne wprowadzenie popularnych kombinacji znaków lub całych haseł i loginów, próbuje uzyskać dostęp, np. do panelu administracyjnego.
Wychodząc od tej krótkiej informacji radzimy, aby nie ustawiać loginów, ale także haseł, które są logicznym ciągiem znaków, popularnymi słowami lub domyślnymi wartościami proponowanymi przez system. Każda modyfikacja tych danych, np. przez przestawienie znaków lub dodanie własnych znaków specjalnych, spowoduje że złamanie naszych danych dostępowych będzie o wiele trudniejsze!
Ochrona komputera (oprogramowanie antywirusowe)
Działania zmierzające do ochrony komputera, to przede wszystkim stosowanie programów antywirusowych, np. Kaspersky Internet Security oraz korzystanie ze sprawdzonych klientów FTP/SSH. Warto także pamiętać o nie zapisywaniu haseł bezpośrednio w pamięci aplikacji (np. klientów FTP).
Te pozornie proste i błahe metody są często pomijane w ochronie stron WWW, poczty i swoich danych, tymczasem warto pamiętać, że posiadanie wirusa czy innego programu szpiegującego na komputerze, może łatwo doprowadzić do wycieku naszych danych w tym loginów i haseł.
Jeśli już zrealizowaliśmy pierwszy punkt, instalując odpowiednie oprogramowanie ochraniające komputer, nie zapominajmy mimo wszystko o właściwym przechowywaniu danych dostępowych:
- nie zapisujemy ich w notatniku i nie umieszczamy na Pulpicie, korzystamy z menadżerów haseł, np. darmowego KeePass lub Kaspersky Password Manager (Android),
- unikamy zapamiętywania loginów i haseł w przeglądarce lub innych aplikacjach jak np. klient FTP, SSH,
- regularnie aktualizujemy hasła i pamiętamy o stosowaniu wielu, różnych znaków, niekoniecznie układających się w logiczną całość.
Hosting stworzony dla WordPressa
Masz stronę WWW na WordPressie? My też uwielbiamy ten system dla stron internetowych. Dlatego stworzyliśmy hosting specjalnie dla jego użytkowników.