Jak zabezpieczyć nową instalację Joomla?

34

Jakie działania należy podjąć po nowej instalacji Joomla, aby zachować bezpieczeństwo? Zarówno na dzielonych serwerach hostingowych, jak i dedykowanych.

ilias
źródło
1
@ Administratorzy: co powiesz na wiki społeczności dla tego pytania?
MattAllegro

Odpowiedzi:

36

Dbanie o bezpieczeństwo witryny Joomla

  1. Używaj silnych haseł.
  2. Zminimalizuj liczbę kont administratora.
  3. Wyłącz lub usuń nieużywane konta użytkowników.
  4. Zminimalizuj liczbę rozszerzeń stron trzecich i tam, gdzie są one potrzebne, używaj dobrze obsługiwanych rozszerzeń od sprawdzonych programistów, którym ufasz.
  5. Regularnie stosuj najnowsze aktualizacje rozszerzeń Joomla i innych firm, w tym poprawki bezpieczeństwa dla wersji Joomla EOL, w stosownych przypadkach.
  6. Zapisz się na Joomla Bezpieczeństwo Aktualności paszy więc są informowani o aktualizacji zabezpieczeń podstawowych Joomla
  7. Zasubskrybuj listę luk w zabezpieczeniach Joomla (VEL), aby szybko można było usunąć nowe luki w zabezpieczeniach. Przewiń w dół strony link do subskrypcji - możesz również śledzić VEL na Twitterze .
  8. Korzystaj z bezpiecznego hostingu dobrej jakości, w tym odpowiedniej procedury obsługi plików PHP, takiej jak suPHP lub FastCGI, oraz rozszerzeń bezpieczeństwa, takich jak mod_security. Użyj obsługiwanej wersji PHP .
  9. Zamiast polegać wyłącznie na kopiach zapasowych firmy hostingowej, regularnie wykonuj własne kopie zapasowe witryny, kopiuj pliki kopii zapasowych poza witryną i regularnie uruchamiaj przywracanie testowe w miejscu testowym, aby sprawdzić jakość swoich kopii zapasowych.
  10. Włącz https.
  11. Zaimplementuj zaporę sieciową, taką jak dostarczona z profesjonalną wersją Akeeba Admin Tools.
  12. Nie używaj standardowego prefiksu tabeli.
  13. Zmień domyślną nazwę użytkownika i identyfikator Super Administrator na coś innego. Profesjonalna wersja Akeeba Admin Tools ma narzędzie do zmiany Super Administrator ID.
  14. Ogranicz dostęp do Joomla Admin przez IP. Zezwalaj tylko na zaufane adresy IP.
  15. Włącz uwierzytelnianie 2-czynnikowe dla kont administratora (dotyczy Joomla 3.2 i nowszych).
  16. Powtórz powyższe kroki dla innych stron internetowych, które korzystają z tego samego konta hostingowego lub najlepiej oddzielnych stron internetowych do własnych kont hostingowych, aby zapobiec zanieczyszczeniu krzyżowemu.
  17. Upewnij się, że komputery osobiste administratorów witryn są podobnie zabezpieczone. Na przykład zaimplementuj dobrej jakości skaner wirusów i złośliwego oprogramowania. Pomaga to chronić wszelkie dane uwierzytelniające witryny przechowywane na komputerach osobistych. Idealnie użyj narzędzia lub aplikacji szyfrującej do przechowywania strony internetowej i innych danych uwierzytelniających.
  18. Przeczytaj 10 najgłupszych sztuczek administratora, aby dowiedzieć się, czego nie robić.

Aby uzyskać bardziej szczegółowe instrukcje, zobacz oficjalną listę kontrolną zabezpieczeń .

Neil Robertson
źródło
Tę listę można prawdopodobnie dodać do (możesz ją edytować). :)
Neil Robertson
2
Może mógłbyś utworzyć link do „Listy podatnych na zagrożenia”? (Z jakiegoś powodu nie mogę edytować twojej odpowiedzi; mogę edytować inne?)
MrWhite
Dzięki @ w3d - dodałem link do strony subskrypcji VEL, a także do kanału Joomla Security News.
Neil Robertson
14

Bardzo ważne jest przechowywanie kopii zapasowych na osobnym serwerze. Widzę wielu ludzi, którzy wiernie wykonują kopie zapasowe Akeeba ... i są oni przechowywani na tym samym serwerze w tym samym katalogu głównym. Nie jest to pomocne, jeśli jesteś włamany na poważnie, a na pewno nie jest pomocne, aby odzyskać po awarii hostingu.

Akeeba Backup Pro umożliwia przechowywanie i zarządzanie plikami kopii zapasowych w pamięci zewnętrznej, takiej jak chmura Amazon.

Deb Cinkus
źródło
4
Ważne jest również sprawdzenie kopii zapasowych pod kątem uszkodzonej kompresji po przeniesieniu z katalogu hostingowego. Uszkodzona kopia zapasowa nie jest kopią zapasową. Dotyczy to wszystkich systemów tworzenia kopii zapasowych, Akeeba, CPanel i tak dalej.
UhlBelk
7

Alternatywnie do pliku .htaccess lub blokowania go przez IP, możesz także użyć jSecure do zabezpieczenia loginu administratora.

Jedną z rzeczy, o których nie wspomniano, jest korzystanie z renomowanego dostawcy hostingu. Chcesz takiego, który nie tylko dotrzyma kroku bezpieczeństwu, ale będzie również działał z tobą, jeśli zostaniesz zhakowany lub wystąpi problem (baza danych zostanie na przykład uszkodzona). Chodzi o to, aby ograniczyć szkody wyrządzone w witrynie, jednocześnie umożliwiając jej usunięcie.

Podstawowy pomysł, chcesz kogoś, kto ...

  • będzie w pobliżu
  • nie jest operacją nocną
  • będzie z tobą pracować
  • i zapewnia solidne środowisko.

Jeśli chcesz, aby lista pytań zadała gospodarzowi lepsze samopoczucie, daj mi znać.

Mam nadzieję że to pomoże.

Mistrz Donalda
źródło
6

Spróbuj tego też,

  • Aktualizuj swoją Joomla wraz z rozszerzeniami.
  • Regularnie twórz kopie zapasowe swojej witryny w chmurach .
  • Nie otwieraj robots.txtdla zabezpieczonych folderów.
  • W najnowszych wersjach Joomla korzystanie z uwierzytelniania dwuskładnikowego będzie bardziej bezpieczne.
  • Upewnij się, że foldery i pliki mają odpowiednie dozwolone uprawnienia.
  • Użyj Cloudfare dla Joomla .

Mam nadzieję, że to pomaga ..

Jobin Jose
źródło
5

Zasadniczo z mojego doświadczenia, z rozmiarem Joomla nie ma sposobu, aby naprawdę go całkowicie zabezpieczyć. Zamiast idealnej polityki bezpieczeństwa, która to wszystko powstrzyma, najlepiej obniżyć swoje oczekiwania, aby spróbować zmniejszyć ogólne szkody.

Można tego dokonać za pomocą bardzo częstych zasad tworzenia kopii zapasowych, aby przy każdym włamaniu witryna mogła zostać wycofana, a także skanowane pod kątem złośliwego oprogramowania. Jak dotąd żaden hack nie był spowodowany brutalnym wymuszeniem naszego panelu administracyjnego.

Większość hacków, które widzimy, pochodzi z komponentów firm trzecich lub rdzenia Joomla, widzieliśmy nawet, że hacki potrafią dostać się do najnowszych wersji Joomla. Wynika to z faktu, że włamanie może zwykle wyglądać jak normalne żądanie, przy użyciu złego filtrowania w celu wypchnięcia pliku na serwer. Gdy plik znajdzie się na serwerze, wszystko jest w porządku, może znajdować się na DOWOLNEJ stronie na całym serwerze udostępnionym i nadal wpływać na Twoją, więc jeśli jedna osoba na serwerze udostępnionym nie będzie na bieżąco, może to wpłynąć na Ciebie.

Może to być trochę ekstremalne, ale w oparciu o osobiste doświadczenia najlepiej przygotować się na najgorsze, a następnie być zbyt pewnym, że twoja polisa to wszystko zapobiegnie.

Dlatego najlepszym sposobem zabezpieczenia nowej instalacji Joomla jest częste tworzenie kopii zapasowych i włączanie skanowania w poszukiwaniu złośliwego oprogramowania, jeśli skaner złośliwego oprogramowania może wysłać Ci wiadomość e-mail, gdy tylko coś znajdzie, wówczas możesz przywrócić najnowszą kopię zapasową w bardzo krótkim czasie.

Jordan Ramstad
źródło
„obniżyć swoje standardy” ??? Czy to powinno być „poprawienie standardów?”
chesedo
Doszedłem do wniosku, że zostanie to odrzucone, po prostu nie chcę, aby ktokolwiek myślał, że przestrzeganie wytycznych jest bezpieczne. Oznacza to obniżenie standardów, ponieważ nie oczekuj, że nie zostaniesz zhakowany, ale bądź przygotowany na to, że tak się stanie. Większość ludzi, których znam, może wykonywać kopie zapasowe raz w tygodniu lub raz w miesiącu, ponieważ uważają, że atak hakera jest rzadki, ale nie jest.
Jordan Ramstad
W takim razie prawdopodobnie powinieneś użyć „sprowadzić swoje oczekiwania ” (nie zostać zhakowanym) :)
chesedo
Dobra notka, zredagowałem to, dziękuję. Nie próbuję mówić nic złego o Joomla, uwielbiam to, po prostu walka z hackami nigdy nie zniknie, więc najlepiej się przygotować :).
Jordan Ramstad,
Całkiem słusznie - czasem najlepszym sposobem pomocy jest bycie prostym :).
chesedo
4
  1. Zmień nazwę użytkownika i utrzymuj silne hasło administratora, użyj uwierzytelniania dwuskładnikowego (wbudowane dla wersji 3.3+, dla innych http://www.readybytes.net/labs/two-factor-authentication.html )

  2. Zainstaluj kSecure ( http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection/12271 )

  3. Chroń swoją stronę przed różnymi atakami, używając tego htaccess http://docs.joomla.org/Htaccess_examples_(security)

Shyam
źródło
3

Pożyczanie tej listy z białej księgi „Testowanie piórem witryny Joomla” na blogu. Myślę, że ta lista jest dokładną wytyczną dla podstaw bezpieczeństwa Joomla.

  1. Zawsze bądź na bieżąco z Joomla. Zainstaluj najnowszą aktualizację zaraz po jej wydaniu.
  2. Bez względu na to, jakie rozszerzenia są używane, należy je odpowiednio załatać przy pomocy najnowszych wydań aktualizacji. Każde stare rozszerzenie może dać atakującemu sposób na złamanie zabezpieczeń witryny.
  3. Nie używaj rozszerzeń, które nie były używane lub nie zostały poprawnie przetestowane.
  4. Wszystkie dane wejściowe użytkownika muszą być odpowiednio zatwierdzone. Te dane wejściowe mogą być danymi wejściowymi w formularzach, URI, przesyłaniem obrazów itp. Załóżmy, że jeśli przycisk PRZEGLĄDAJ pozwala użytkownikowi przesłać obraz, musi on tylko umożliwić mu przesłanie obrazu, a nie powłoki PHP, która może później działać jak backdoor na serwer.
  5. Używaj silnych haseł do wszystkich loginów. Co najmniej 8 znaków, jeden znak specjalny, jedna cyfra i jedna litera. To ochroni twoją instalację przed brutalną siłą.

  6. Zawsze przechowuj informacje o „ostatnich użytkownikach” w plikach dziennika serwera sieci Web, aby wykryć potencjalne ataki. Nigdy nie traktuj swoich plików dziennika jako informacji. Jest to bardzo przydatne do śledzenia i monitorowania użytkowników.

  7. Połóż stres, aby wprowadzić większe bezpieczeństwo na całym serwerze, na którym hostowana jest witryna oparta na Joomla; będąc hostowanym na serwerze współdzielonym lub dedykowanym.

  8. Zrób listę wszystkich używanych rozszerzeń i monitoruj je.

  9. Bądź na bieżąco z najnowszymi lukami i ujawnieniami w różnych poradnikach bezpieczeństwa. Exploit-db, osvdb, CVE itp. To tylko niektóre z dobrych zasobów.

  10. Zmień uprawnienia do pliku .htaccess, ponieważ jest on domyślnie, używając uprawnień do zapisu (ponieważ Joomla musi go zaktualizować). Najlepszą praktyką jest użycie 444 (r-xr-xr-x).

  11. Należy podać odpowiednie uprawnienia do plików w publicznych katalogach, aby żaden złośliwy plik nie mógł zostać przesłany ani wykonany. Najlepszą praktyką w tym kontekście jest 766 (rwxrw-rw-), tzn. Tylko Właściciel może czytać, pisać i wykonywać. Inni mogą tylko czytać i pisać.

  12. Nikt nie może mieć uprawnień do zapisywania plików PHP na serwerze. Wszystkie muszą być ustawione na 444 (r – r – r--), każdy może tylko czytać.

  13. Deleguj role. To sprawia, że ​​twoje konto administratora jest bezpieczne. Jeśli ktoś włamie się na twoje urządzenie, musi mieć dostęp tylko do odpowiedniego użytkownika, a nie konta administratora.

  14. Użytkownicy bazy danych muszą mieć uprawnienia tylko do wydawania poleceń takich jak INSERT, UPDATE i DELETE. Nie wolno im zezwalać na tabele DROP.

  15. Zmień nazwy folderów zaplecza, np. Możesz zmienić / administrator na / admin12345. 16. Last but not least, bądź na bieżąco z najnowszymi lukami.

FFrewin
źródło
Dodatkowa sugestia ad 12: nikt oprócz serwera WWW nie musi mieć uprawnień do odczytu plików PHP również na serwerze. Ustaw użytkownika na użytkownika serwera WWW (www-data lub http) i ustaw go na 400 lub 600 dla plików edytowalnych przez backend (css, ...).
Tom Kuschel,
3

Twoja pierwsza linia obrony to usługa hostingowa

  • Wynajmij serwer dedykowany od niezawodnej usługi hostingowej
  • Upewnij się, że aktywujesz 2FA na swoim serwerze i używasz hasła „BARDZO MOCNE”
  • Zainstaluj niezawodny firewall na swoim serwerze - używam ConfigServer
  • Zainstaluj / skonfiguruj program antywirusowy, używam ClamAV
  • Upewnij się, że nazwa użytkownika każdej witryny NIE używa pierwszych 8 znaków nazwy domeny i używa hasła „BARDZO MOCNE”
  • Upewnij się, że każda witryna ma zainstalowany certyfikat SSL
  • Upewnij się, że każda witryna ma „Więzienie”, co oznacza, że ​​nie mają dostępu do konta root, chyba że potrzebujesz dostępu do katalogu głównego serwera. W takim przypadku upewnij się, że masz zainstalowaną i skonfigurowaną Secure Shell (SSH). Korzystam z mojej witryny domeny serwera, ale wszystkie inne witryny mają „Więzienie”.
  • Upewnij się, że wszystkie aktualizacje serwera są zainstalowane natychmiast !!!!

Następną linią obrony jest twój cPanel

  • Użyj hasła „BARDZO MOCNE”
  • Skonfiguruj siłę hasła użytkownika dla użytkowników
  • Skonfiguruj zadanie cron, aby wykonać pełną kopię zapasową cPanel i zapisać w zewnętrznym źródle
  • Upewnij się, że cPanel został skonfigurowany do korzystania z protokołu SSL w celu uzyskania dostępu
  • Uruchom „Site Security Check”, aby zobaczyć, jakie inne poprawki mogą być potrzebne
  • Upewnij się, że wszystkie aktualizacje cPanel są zainstalowane natychmiast !!!!

Następną linią obrony jest panel administratora

  • Edytuj wymagania dotyczące formatu hasła, aby zapewnić silne hasła (wielkie / małe litery, cyfry i co najmniej 1 znak interpunkcyjny o minimalnej długości 18 znaków.
  • Włącz 2FA dla użytkowników - użyj dla kont superużytkowników i administratorów
  • Ogranicz liczbę kont superużytkowników (najlepiej mieć tylko jedno)
  • Ogranicz liczbę kont administratora (im mniej, tym lepiej)
  • Ogranicz obszary, do których administratorzy mogą uzyskać dostęp
  • Ogranicz obszary, do których mają dostęp wydawcy, redaktorzy i autorzy
  • Zainstaluj i skonfiguruj AdminTools
  • Ustaw hasło administratora URL za pomocą AdminTools
  • Upewnij się, że pliki krytyczne (HTACCESS, ROBOTS.TXT, WEBCONFIG, INDEX.PHP (zarówno root, jak i szablon) są ustawione na 444. Nadal możesz edytować pliki za pomocą menedżera plików panelu sterowania cPanel pr Plesk
  • Zainstaluj i skonfiguruj AkeebaBackup
  • Skonfiguruj AkeebaBackup, aby zewnętrznie zapisywać kopie zapasowe
  • Instaluj dodatki tylko za pośrednictwem stron rozszerzeń Joomla, nigdy nie instaluj dodatków innych firm, które nie są wymienione na stronie rozszerzeń Joomla.
  • Wyłącz i / lub odinstaluj dodatki, które nie są używane i nie są potrzebne do funkcjonalności Joomla
  • Natychmiast zainstaluj Joomla i aktualizacje dodatków !!!

Jestem pewien, że są inne kroki, ale są to główne, których używam na moim serwerze obsługującym ponad 70 stron internetowych z całego kraju. Niedawno miałem masywny atak podobny do ataku DDoS i nie odwiedzono żadnej witryny. Czułem, że mam 10 stóp wysokości i jest kuloodporny, ale wiem, że nie mogę być zadowolony z siebie, ponieważ jutro jest kolejny dzień! lol

Luke Douglas
źródło
-4
  1. Nie jestem fanem uwierzytelniania dwuskładnikowego

  2. Zainstaluj narzędzia administracyjne Akeeba, włącz zaawansowany htaccess, sprawdź opcje i zaporę programową

https://www.akeebabackup.com/download/admin-tools.html

  1. Włącz hasło adresu URL zaplecza
Anibal
źródło
1
Czy zechciałby pan powiedzieć, dlaczego nie jest fanem uwierzytelniania dwuskładnikowego?
chesedo
2
Rozumiem - to ma sens. Ale dlaczego nie uwzględniać go między punktami, aby pomóc w bezpieczeństwie? Jeśli chcesz tego w swoim poście, to dlaczego nie umieścić go razem z uzasadnieniem?
chesedo
1
Masz rację. Właśnie uczę się tutaj odpowiadać na pytania ;-) BTW Ta odpowiedź otrzymała -2 :-(
Anibal
4
Pozostawmy to jako pierwszą naiwną odpowiedź w systemie tego autora. Ma na swój sposób urok.
Anibal
1
Hehe! Naprawdę, celem systemu SE jest „uzyskanie najlepszych odpowiedzi” lub poprawienie dobrych odpowiedzi - sugerowałbym, aby twoja odpowiedź wraz z wyjaśnieniem mogła zostać usunięta i dodana jako komentarz, ponieważ wraz z wyjaśnieniem poprawia zrozumienie wpływ uwierzytelnienia dwuskładnikowego na bezpieczeństwo.
NivF007