Bezpieczeństwo w Joomla! 2.5

Bezpieczeństwo w Joomla! 2.5

Jedną z najbardziej frustrujących sytuacji jest odkrycie, że Twoja strona została zaatakowana!

Chociaż Joomla! 2.5 jest w zasadzie bardzo bezpiecznym systemem, to błędy w jego konfigurowaniu oraz instalowane podatne na atak dodatkowe rozszerzenia, mogą przyczynić się do upadku serwisu.

Każdy szanujący się specjalista zajmujący się bezpieczeństwem IT powie Ci, że nie ma czegoś takiego jak całkowicie bezpieczny system informatyczny.

Bez względu na to, jak system będzie zabezpieczony i ile razy jego architektura będzie weryfikowana, nigdy nie będzie stuprocentowej gwarancji, że taki system jest całkowicie bezpieczny. Dlaczego? Ano dlatego, że nie da się przewidzieć wszystkich możliwych niebezpieczeństw.

Kilka dni temu napisałem artykuł: Uwaga na atak: hacked by Hmei7, w którym opisywałem jak odzyskać serwis po jednym z ostatnio nasilających się ataków na różnego typu serwisy, w tym oparte także na Joomla!

Jeszcze wcześniej opublikowałem wywiad z Kamilem Ciaś, specjalistą ds. bezpieczeństwa, w którym możesz przeczytać m.in. o tym, jakie błędy popełniają administratorzy serwisów. Całość tego wywiadu możesz przeczytać w artykule: Bezpieczeństwo w Joomla! - wywiad z Kamilem Ciaś.

W tym artykule pokażę Ci sposoby, dzięki którym możesz uniknąć niektórych najczęściej popełnianych błędów powodujących zagrożenia bezpieczeństwa. Pamiętaj jednak, że nie są one lekarstwem na wszystkie znane zagrożenia czyhające w sieci! Ważne jest, aby przeciwdziałać niebezpieczeństwu a nie liczyć na to, że w Twoim przypadku nie zaistnieje. Pokażę Ci jak używać dostępnych narzędzi, za pomocą których będzie można przetestować witrynę pod kątem słabych punktów, dzięki czemu administrator witryny będzie mógł rozwiązać problemy zanim ktoś ją zaatakuje.

Twórz regularnie kopie zapasowe

Zadziwiające jest to, jak niewiele osób prowadzących swoje serwisy, tworzy regularnie kopie zapasowe!

Nie pozwól, aby znaleźć się w sytuacji awaryjnej bez kopii zapasowej!

Odpowiedz sobie na takie pytania jak:

  • Co się stanie, jak padnie serwer?
  • Co zrobię, jak coś przypadkowo usunę?
  • Co zrobię, jak będzie włamanie do mojego serwisu?
  • Co się stanie jak podczas instalacji jakiegoś rozszerzenia, cały system się sypnie?

Jeżeli chcesz mieć komfort psychiczny i poczucie pewności, że w razie sytuacji krytycznej możesz przywrócić swój serwis, koniecznie twórz własne, regularne kopie zapasowe!

Istnieje kilka technik i narzędzi do tworzenia kopii zapasowych (napiszę o tym w kolejnych artykułach). Twoim zadaniem jest wybór najodpowiedniejszych, jednak bez względu na co zdecydujesz, warto pamiętać o kilku ważnych kwestiach:

  • kopia zapasowa musi być aktualna i szybko dostępna;
  • kopia zapasowa powinna zachowywać strukturę katalogów, plików i bazy danych;
  • kopia zapasowa musi zadziałać, kiedy trzeba będzie przywrócić dane;
  • stosuj ustandaryzowane nazewnictwo swoich kopii zapasowych;
  • przećwicz kilka razy przywracanie, aby upewnić się, że potrafisz to robić;
  • przechowuj kopie zapasowe, obejmujące większy okres czasowy;
  • nie myśl: czy Twoja witryna zostanie zaatakowana, tylko kiedy Twoja witryna zostanie zaatakowana ;-);

Zadbaj o aktualizację CMS Joomla! oraz zainstalowanych rozszerzeń

Podstawową czynnością, jaką musisz regularnie wykonywać, aby zmniejszyć problemy z bezpieczeństwem, to aktualizacja wersji CMS Joomla! oraz zainstalowanych rozszerzeń.

Nowe problemy z bezpieczeństwem pojawiają się co dziennie. Co jakiś czas twórcy oprogramowania przygotowują poprawki, aby wyeliminować dostrzeżone i zgłoszone luki.

Zatem regularne aktualizowanie Joomla! 2.5 wraz z rozszerzeniami, zmniejszy podatność Twojego serwisu na ataki!

Bardzo często, poza poprawkami bezpieczeństwa, nowe wydania (aktualizacje) zawierają nowe funkcje, które nie były do tej pory dostępne.

Podsumowując!
Obowiązkiem każdy szanującego się administratora serwisu opartego na Joomla! jest aktualizacja systemu oraz zainstalowanych w nim rozszerzeń!

Jeżeli chcesz dostawać informację o nowych wydaniach Joomla!, to zapisz się na newsletter (www.slawop.net/newsletter) lub w oficjalnym serwisie Joomla: www.joomla.org.

Dokonaj także subskrypcji listy wysyłkowej, forum lub kanałów informacyjnych, które mogą być oferowane przez programistów rozszerzeń zainstalowanych w Twoim serwisie.

Poprzednie wersje CMS Joomla! nie miały zaimplementowanego rozwiązania, które umożliwiałoby niemal automatyczną aktualizację, więc proces ten był bardziej złożony i czasochłonny.

Od wersji 1.6, Joomla umożliwia aktualizację z poziomu zaplecza, więc aktualizacja Joomla! i najbardziej znanych rozszerzeń, nie powinna sprawiać problemów dla większości administratorów. W artykule: Aktualizacja Joomla! 2.5, pokazuję, jak krok po kroku przeprowadzić aktualizację Joomla!

Jedną z fantastycznych cech CMS Joomla!, jest fakt, że każdy może utworzyć własne rozszerzenie! Dlatego masz do
dyspozycji tysiące różnego rodzaju rozszerzeń, za pomocą których możesz zwiększyć funkcjonalność swojego serwisu.

Pomimo tego, że kod Joomla! jest bezpieczny, jeżeli został prawidłowo zainstalowany, to rozszerzenia mogą stanowić słabe ogniwo Twojego serwisu.

Większość twórców rozszerzeń działa odpowiedzialnie, jednak sukces i popularność Joomla! powoduje, że pojawiają się także osoby, które tworzą skrypty próbujące zniszczyć witryny.

Zanim zdecydujesz się na instalację dodatkowego rozszerzenia w swoim serwisie, sprawdź, czy przypadkiem nie jest ono podatne na zagrożenia.

Gdzie możesz znaleźć informacje dotyczące rozszerzeń podatnych na zagrożenia? Społeczność Joomla! udostępnia listy rozszerzeń podatnych na zagrożenia.

Lista rozszerzeń podatnych na zagrożenia w języku polskim

Znajdziesz na niej informacje dotyczące wersji danego rozszerzenia, rodzaju zagrożenia oraz co należy zrobić, aby je wyeliminować.

Polska lista dawno nie była aktualizowana, więc koniecznie zaglądnij na listę anglojęzyczną!

Vulnerable Extensions List w języku angielskim

Na liście znajdziesz wszystkie znane niebezpieczne rozszerzenia.

Jeżeli w kolumnie Extension zobaczysz nazwę rozszerzenia na czerwonym tle, oznacza to, że dla tego zagrożenia nie znane są rozwiązania umożliwiające wyeliminowanie zagrożenia.

Jeżeli w kolumnie Extension zobaczysz nazwę rozszerzenia na turkusowym tle, oznacza to, że dla tego zagrożenia możesz kliknąć w link prowadzący do aktualizacji eliminującej zagrożenie.

Nazwy rozszerzeń na białym tle, oznaczają, że należy skontaktować się z autorem danego rozszerzenia.

Pamiętaj, że rozszerzenia znajdujące się na tych listach nie zawsze są złymi rozszerzeniami. Zmieniają się techniczne wymagania i powszechne praktyki pisania kodów. Dlatego też autorzy, którzy śledzą te zmiany i chcą rozwijać swoje rozszerzenia, udostępniają nowe wersje zgodne z nowymi wymaganiami.

Wybór dodatkowego rozszerzenia do Twojego serwisu opartego na Joomla! jest BARDZO WAŻNĄ kwestią! Nie lekceważ tego, ponieważ po instalacji niepewnego rozszerzenia, istnieje duże prawdopodobieństwo zniszczenia Twojego serwisu!

Weź pod uwagę fakt, że każdy komponent posiada dostęp do tabel bazy danych. Także ten doinstalowany! Nie ma sposobu, aby zablokować go przed dostępem do tabel w bazie danych, do których nie powinien mieć dostępu. Taki niepewny komponent może także bez Twojej wiedzy przesyłać wykradzione informacje do strony włamywacza.

Po instalacji niepewnego rozszerzenia, cały Twój serwis jest zagrożony!

Dlatego ważne jest, aby pamiętać o kilku ważnych zasadach:

  • trzeba znać numery wersji wszystkich zainstalowanych rozszerzeń;
  • stosuj tylko najnowsze stabilne wersje rozszerzeń;
  • usuwaj całkowicie wszystkie pliki niepewnych i nieużywanych rozszerzeń;
  • sprawdź, czy istnieje grupa wsparcia dla danego rozszerzenia;

Zmień standardową nazwę głównego administratora

Każdy serwis, który jest oparty o CMS Joomla!, podczas instalacji ma utworzone konto głównego administratora. Nazwa tego konta to: admin. Taka sytuacja ułatwia atakującemu zadanie. Zauważ, że atakujący musi odgadnąć tylko 50% danych, ponieważ zna nazwę najważniejszego użytkownika, pozostaje mu tylko odgadnąć hasło ;-)

Wystarczy, że zmienisz nazwę tego konta, a znacznie podniesiesz poziom bezpieczeństwa Twojego serwisu. Wtedy atakujący będzie musiał złamać nie tylko hasło, ale także dowiedzieć się, jaką nazwę ma konto głównego administratora! Pamiętaj, aby nie stosować popularnych nazw, takich jak: admin, administrator, root!

Zmiana nazwy jest bajecznie prosta i zajmie Tobie dosłownie niecałą minutę ;-)

Jak to zrobić?

Zaloguj się do panelu administracyjnego Twojego serwisu, następnie kliknij przycisk Użytkownicy znajdujący się na pulpicie, lub kliknij w menu Użytkownicy pozycję Użytkownicy.

Manu Użytkownicy

Edytuj ustawienia użytkownika o nazwie: admin (pełna nazwa: Super User) – kliknij w łącze: Super User.

W oknie Użytkownicy: Dostosuj konto użytkownika, w polu Użytkownik wpisz inną nazwę, najlepiej złożoną z kombinacji liter i cyfr o długości co najmniej 8 znaków. Na koniec zapisz wprowadzone zmiany.

Okno Użytkownicy: Dostosuj konto użytkownika

Ustaw odpowiednie prawa dla katalogów i plików

Kolejną często zaniedbywaną czynnością jest zabezpieczenie przed zapisem krytycznych katalogów i plików.

Zalecane ustawienia praw dostępu (CHMOD) do katalogów to 755, natomiast do plików: 644.

Jak zmienić ustawienia praw dostępu do plików i katalogów?

Możesz skorzystać na przykład z programu FileZilla. Wystarczy, że zalogujesz się na swoje konto FTP, następnie klikniesz folder lub grupę folderów, prawym klawiszem przyciskiem myszy i wybierzesz pozycję Prawa pliku...

Opcja Prawa pliku... w programie FileZilla

Teraz w okienku Zmień atrybuty pliku w pole Wartość numeryczna wpisz odpowiednią wartość (dla katalogów: 755, dla plików 644).

Stosuj mechanizm Captcha w formularzach swojego serwisu

Aby zabezpieczyć się przed skryptami automatycznie wypełniającymi formularze, warto zastosować mechanizm Captcha. Jego głównym zadaniem jest dopuszczenie do przesłania danych wypełnionych tylko przez człowieka.

Najczęstszym rozwiązaniem mechanizmu Captcha, jest odczytanie treści z wyświetlonego obrazka.

Pewnym minusem tego rozwiązania jest fakt, że stanowi ono czasami utrudnienie dla części użytkowników, np. osoby niewidome i użytkownicy, którzy mają wyłączone wyświetlanie grafiki w swojej przeglądarce.

Joomla! 2.5 ma wbudowaną obsługę mechanizmu Captcha, więc dla większości zastosowań nie potrzebujesz instalować dodatkowych rozszerzeń.

Jak włączyć obsługę Captcha w Joomla! 2.5? Przeczytaj artykuł: Mechanizm Captcha w Joomla! 2.5

Plik .htaccess

Kolejną czynnością, którą możesz wykonać w celu podniesienia bezpieczeństwa swojej witryny, to wykorzystanie możliwości jakie daje plik konfiguracyjny .htaccess. Możesz za jego pomocą zmienić konfigurację serwera WWW dla konkretnego folderu. Umożliwia on m.in. dodawanie nowych lub zmianę istniejących dyrektyw, np. wskazywanie stron WWW wyświetlanych w odpowiedzi na komunikaty błędów serwera, lub ograniczenie dostępu do zasobów znajdujących się w Twoim serwisie.

Plik ten wykorzystywany jest także do zmiany adresów Twojego serwisu na czytelniejsze.

Jeżeli na przykład, serwis generuje adresy typu: http://www.twojserwis/index.php/kontakt i chcesz uzyskać adres typu:
http://www.twojserwis/kontakt, to musisz w oknie Konfiguracja globalna, w zakładce Witryna odszukać sekcję Optymalizacja dla wyszukiwarek. Następnie przy pozycji Korzystaj z mod_rewrite zaznacz opcję Tak. Pamiętaj aby zapisać wprowadzone zmiany!

Właczenie opcji Korzystaj z mod_rewrite

W folderze głównym swojego serwisu znajdziesz plik htaccess.txt. Musisz zmienić nazwę tego pliku na: .htaccess (pamiętaj o kropce przed nazwą!).

Możesz to zrobić za pomocą klienta FTP. W przypadku aplikacji FileZilla, wystarczy, że klikniesz prawym klawiszem myszy na tym pliku i z menu podręcznego wybierzesz pozycję Zmień nazwę.

Zmiana nazwy pliku htaccess.txt

Zmiana nazwy powoduje włączenie obsługi htaccess.

Plik ten jest odpowiednio skonfigurowany pod kątem bezpieczeństwa dla systemów budowanych w oparciu o Joomla!, ale to Ty musisz zdecydować o jego użyciu.

Jeżeli wyedytujesz ten plik, to zobaczysz, że zawiera dyrektywy zabezpieczające przed typowymi atakami:

Fragment pliku .htaccess

Sporo informacji na temat używania pliku .htaccess znajdziesz na stronach WIKI Polskiego Centrum Joomla!:

Zadbaj o hosting

Po pierwsze, musisz sprawdzić, czy wybrany hosting spełnia zalecane wymagania techniczne dla witryn opartych o CMS Joomla! Na rynku istnieje tak wiele firm, że nie ma sensu wybór takiej, która nie spełnia tych wymagań.

Informacje na temat wymagań technicznych znajdziesz w oficjalnym serwisie Joomla!, pod adresem: http://www.joomla.org/technical-requirements.html.

Wymagania technicznme dla CMS Joomla!

Po drugie, zorientuj się, czy firma podaje informacje dotyczące polityki bezpieczeństwa. Sprawdź jakie fizyczne środki  bezpieczeństwa stosuje dostawca usług hostingowych.

Bardzo często osoby wybierające hosting, nie interesują się tak istotną kwestią jak na przykład ochrona pomieszczeń, w których znajdują się serwery. Jeżeli zadajesz takie pytanie potencjalnemu dostawcy hostingu dla Twojego serwisu, a dostajesz wymijające odpowiedzi, to prawdopodobnie firma ta jedynie odsprzedaje czyjś hosting. Takich firm jest wiele i nie znaczy to, że to coś złego, ale jeżeli nie orientuje się w jaki sposób zabezpieczane są oferowane przez firmę usługi to zainteresowałbym się innym dostawcą ;-)

Warto otrzymać odpowiedzi na takie pytania jak:

  • Jakie zabezpieczenia posiada centrum danych?
  • Jakie są awaryjne źródła energii elektrycznej?
  • Jak długo może działać system informatyczny na zasilaniu awaryjnym?
  • Czy istnieją i jakie są procedury działania w razie awarii?
  • Czy centrum danych posiada pracowników ochrony?
  • Czy i jak często wykonywane są kopie zapasowe?

Bardzo ważne jest także instalowanie poprawek bezpieczeństwa, zarówno systemu operacyjnego, jak i serwera WWW. W większości dostępnych hostingów, będzie to Linux i Apache. Jeżeli zostanie wykryta jakaś luka istotna z punktu bezpieczeństwa, musisz mieć pewność, że zostanie zainstalowana odpowiednia poprawka i że nie spowoduje to problemów z dostępnością do Twojego serwisu.

Więcej informacji na temat wyboru firmy hostingowej dla serwisów opartych na Joomla! przeczytasz w artykule: Hosting dla Joomla! Jak wybrać?

Przydatne narzędzia

Admin Tools

To pakiet narzędzi, za pomocą którego możesz zabezpieczyć swoją witrynę przed różnego typu atakami, a także w łatwiejszy sposób zarządzać zasobami zaplecza.

Dzięki temu narzędziu możesz zwiększyć bezpieczeństwo i wydajność swojego serwisu. Za pomocą Admin Tools możesz zautomatyzować wiele zadań, przez co administrowanie serwisem może być łatwiejsze i mniej czasochłonne.

Pakiet Admin Tools oraz jego pełną dokumentację. możesz pobrać korzystając z adresu: https://www.akeebabackup.com/download/admintools.html

Pulpit komponentu Admin Tool

Bardziej szczegółowe omówienie tego komponentu przeczytasz w kolejnych moich artykułach ;-)

RSFirewall

Jedno z najbardziej zaawansowanych narzędzi w zakresie bezpieczeństwa (http://www.rsjoomla.com/joomla-extensions/joomla-security.html). Aby móc z niego korzystać, musisz wykupić roczną subskrypcję, której koszt, to 49 Euro. Rozszerzenie pozwala m.in. na wykonanie kompletnego skanowania serwisu, w celu pokazania Tobie słabych punktów. Po analizie informuje Cię jak poprawić poziom bezpieczeństwa Twojego serwisu.

Pulpit komponentu RSFirewall

Bardziej szczegółowe omówienie tego komponentu przeczytasz w kolejnych moich artykułach ;-)

OSE Anti-Hacker for Joomla!

To komercyjny, rozbudowany dodatek (http://www.opensource-excellence.com/ose-anti-hacker.html), który może pomóc Tobie zmniejszyć ryzyko włamania do Twojego serwisu, zabezpieczyć Twoje prywatne dane. Zapewnia także ochronę plików systemowych Joomla! przed złośliwymi atakami.

Pulpit komponentu OSE Anti-Hacker for Joomla!

Bardziej szczegółowe omówienie tego komponentu przeczytasz w kolejnych moich artykułach ;-)

 

Chcesz otrzymywać powiadomienia o moich kolejnych wpisach lub projektach?
Wpisz swoje imię oraz adres e-mail a następnie kliknij "ZAPISZ MNIE"

Twoje imię:


Adres email:


Liczy się efekt! Pierwszy 2book na świecie
Uwaga na atak: hacked by Hmei7

Podobne wpisy

 

    By accepting you will be accessing a service provided by a third-party external to https://www.slawop.net/

    Najnowsze komentarze

    Gość - Studio Jak wybrać hosting dla Joomla!?
    13 wrzesień 2019
    Warto jeszcze dopisać punkt, żeby przy wyborze wybrać panel między DirectAdmin/cPanel. Niektóre hostingi mają swoje własne rozwiązania - czasami bardzo specyficzne, co niekoniecznie jest dobrą rzeczą
    Gość - Marek Szyfrowanie symetryczne a niesymetryczne
    09 czerwiec 2019
    "Klucz przekazany do publicznej wiadomości, nazywany jest kluczem publicznym lub jawnym. Może on być stosowany do szyfrowania lub deszyfrowania informacji otrzymanych od osoby, która go wygenerowała. ...
    Gość - Marek Tworzenie szablonów dla Joomla! Helix Ultimate
    10 maj 2019
    Witam, napotkałem problem pojawiający się przy zmianie kolorów tła czy czcionek oraz importowaniem ustawień. W pierwszym przypadku, po zmianie kolorów i ich zapisaniem, panel podglądu strony przeładow...
    Gość - Andy SSL i Joomla! w Smarthost
    03 styczeń 2019
    Dzięki, jak zwykle dobra robota! Warto dodać, że instalacja certyfikatu SSL nie zapewnia bezpieczeństwa transmisji danych. To jest możliwe po wdrożeniu polityki bezpieczeństwa w firmie. Co do SSL - to...
    Gość - Henryk Jak utworzyć menu poziome w szablonie protostar?
    02 styczeń 2019
    Robię punkt po punkcie i nie wyświetla się poziome menu Nie wiem gdzie tkwi błąd i co robię źle?Jeśli to możliwe to proszę o pomocps. posiadam książkę "Joomla! 3x" i tu również niema pomocy Pozdrawiam...