Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Zabezpiecz swoją stronę w
Joomla! – od wyboru hostingu do
strony produkcyjnej
Wojciech Klocek
Zacznij od SIEBIe
• Zainwestuj w program antywirusowy,
• Nie zapisuj haseł w przeglądarce i kliencie FTP,
• Zapisywanie ha...
Wybór hostingu
Co powinien posiadać idealny hosting:
• Support 24/7,
• Regularne kopie zapasowe,
• Możliwość odtworzenia l...
Baza danych
• Używaj innego użytkownika dla bazy danych
niż główny użytkownik na hostingu
• Używaj randomowych i unikalnyc...
Serwer FTP
Wyłącz w Joomla! obsługę protokołu FTP.
Generalnie nie jest on w jakimkolwiek stopniu
potrzebny czy używany jeś...
Hasła i Hasełka
• Hasło powinno być w miarę silne – najbardziej
podstawowa bezpieczna kombinacja to
minimum 6 znaków – pię...
Ustawienia serwera – php.ini
• disable_functions = show_source, system,
shell_exec, passthru, exec, phpinfo, popen,
proc_o...
Plik .htaccess
• # Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosCon...
Użytkownicy
• Wyłącz automatyczną rejestrację
użytkowników
• Jeśli posiadasz włączoną rejestrację to ustaw
potwierdzenie r...
Superadministrator
• Po zainstalowaniu Joomla! utwórz nowe konto
Superadministratora, a staremu zmień
uprawnienia lub je u...
Kopie zapasowe
• Rób kopie minimum raz dziennie oraz przed
każdą znaczącą zmianą na stronie
• Możliwe jest również zautoma...
Aktualizacje
• Pamiętaj o aktualizacjach, szczególnie tych
usuwających błędy krytyczne oraz luki w
zabezpieczeniach
• Przy...
Prawa dostępu do folderów i
plików
Prawa dostępu (CHMOD):
• Pliki PHP – 644
• Plik configuration.php – 644 (lub 444)
• Pli...
Logowanie do zaplecza
• Inna ścieżka dostępu do zaplecza
• Ograniczenie dostępu dla wybranych
numerów IP (w pliku .htacces...
.htpasswd
• Utwórz w katalogu administrator plik .htpasswd
• W jego wnętrzu umieść login:hasło
• Utwórz plik .htaccess w k...
Two-Factor Authentication
• Dodatkowe pole z
unikalnym kluczem
generowanym
dynamicznie,
• Wymaga pobrania na
urządzenie mo...
Two-Factor Authentication
YubiKey
Certyfikaty SSL
• Umożliwiają ochronę plików cookies,
• Ochrona sesji,
• Uwiarygodnienie połączenia certyfikatem
Nieużywane Zasoby
Elementy, których nie używasz najlepiej usunąć z
CMS-a. Poza potencjalnymi błędami w kodzie,
rootkitami ...
Legalność
• Instaluj tylko oryginalne rozszerzenia
• Rozszerzenia pobrane z warezów mogą:
– Zawierać złośliwy kod,
– Zawie...
Rozszerzenia
• Instaluj rozszerzenia pochodzące z zaufanych
źródeł (JED, strony producentów)
• Jeśli na stronie wyświetla ...
System komentarzy
• Zastąp standardowy system komentarzy
innym, np. Disqus – zwłaszcza w
przypadku K2,
• Włącz dla komenta...
Captcha ReCaptcha
• Eliminuje w znaczny sposób ilość fałszywych
kont,
• Praktycznie uniemożliwia botom dodawanie
komentarz...
Rozszerzenia typu SEF
• Dobry dodatek SEF zwiększa również
bezpieczeństwo strony
• Maskuje on wyświetlanie w URL-u informa...
Rozszerzenia do zarządzania
bezpieczeństwem
• Akeeba Admin Tools
• jHackGuard
• RSFirewall
Dziękuję za uwagę
http://morphic.pl
kontakt@morphic.pl
690 696 232
Upcoming SlideShare
Loading in …5
×

Zabezpiecz swoją stronę w Joomla!

1,100 views

Published on

Slajdy z Joomla! Day Poland 2015

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Zabezpiecz swoją stronę w Joomla!

  1. 1. Zabezpiecz swoją stronę w Joomla! – od wyboru hostingu do strony produkcyjnej Wojciech Klocek
  2. 2. Zacznij od SIEBIe • Zainwestuj w program antywirusowy, • Nie zapisuj haseł w przeglądarce i kliencie FTP, • Zapisywanie haseł na kartkach i przyklejanie ich na monitor czy biurko też nie jest dobrym pomysłem
  3. 3. Wybór hostingu Co powinien posiadać idealny hosting: • Support 24/7, • Regularne kopie zapasowe, • Możliwość odtworzenia lub pobrania kopii zapasowych, • Zabezpieczenia – firewall, blokowanie portów, systemy antywirusowe.
  4. 4. Baza danych • Używaj innego użytkownika dla bazy danych niż główny użytkownik na hostingu • Używaj randomowych i unikalnych prefixów tabel • Phpmyadmin jest fajny, ale…
  5. 5. Serwer FTP Wyłącz w Joomla! obsługę protokołu FTP. Generalnie nie jest on w jakimkolwiek stopniu potrzebny czy używany jeśli stosujesz klienta FTP.
  6. 6. Hasła i Hasełka • Hasło powinno być w miarę silne – najbardziej podstawowa bezpieczna kombinacja to minimum 6 znaków – pięć liter (z czego jedna duża), jedna cyfra i jeden znak specjalny, • Przykładowo hasło Admin1# jest hasłem już w miarę bezpiecznym, • Wbrew pozorom numer PESEL jest hasłem bezpiecznym
  7. 7. Ustawienia serwera – php.ini • disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open • magic_quotes_gpc = 0 • safe_mode = 0 • register_globals = 0 • allow_url_include = 0
  8. 8. Plik .htaccess • # Block out any script trying to set a mosConfig value through the URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR] • # Block out any script trying to base64_encode crap to send via URL RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR] • # Block out any script that includes a < script> tag in URL RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] • # Block out any script trying to set a PHP GLOBALS variable via URL RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] • # Block out any script trying to modify a _REQUEST variable via URL RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR] • # Block out any script that tries to set CONFIG_EXT (com_extcal2 issue) RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR] • # Block out any script that tries to set sbp or sb_authorname via URL (simpleboard) RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR] RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D) • # Send all blocked request to homepage with 403 Forbidden error! RewriteRule ^(.*)$ index.php [F,L]
  9. 9. Użytkownicy • Wyłącz automatyczną rejestrację użytkowników • Jeśli posiadasz włączoną rejestrację to ustaw potwierdzenie rejestracji lub akceptację przez nowych kont przez administratorów serwisu
  10. 10. Superadministrator • Po zainstalowaniu Joomla! utwórz nowe konto Superadministratora, a staremu zmień uprawnienia lub je usuń – inny numer ID • Im mniej Superadminów tym stabilniejsza praca i mniej śmieci • Zmiana domyślnej nazwy Superadmina
  11. 11. Kopie zapasowe • Rób kopie minimum raz dziennie oraz przed każdą znaczącą zmianą na stronie • Możliwe jest również zautomatyzowanie tworzenia kopii – Akeeba Backup oraz Cron
  12. 12. Aktualizacje • Pamiętaj o aktualizacjach, szczególnie tych usuwających błędy krytyczne oraz luki w zabezpieczeniach • Przy innych aktualizacjach odczekaj parę dni i poszukaj opinii czy wszystko działa prawidłowo
  13. 13. Prawa dostępu do folderów i plików Prawa dostępu (CHMOD): • Pliki PHP – 644 • Plik configuration.php – 644 (lub 444) • Pliki hmtl oraz zdjęcia - 644 • Katalogi – 755 • Katalog główny instalacji Joomla! - 750 • Nigdy nie używaj 777, jeśli już jest to absolutnie niezbędne ustaw 707
  14. 14. Logowanie do zaplecza • Inna ścieżka dostępu do zaplecza • Ograniczenie dostępu dla wybranych numerów IP (w pliku .htaccess) – w przypadku stałego IP dla adminów Deny from ALL Allow from x.x.x.x
  15. 15. .htpasswd • Utwórz w katalogu administrator plik .htpasswd • W jego wnętrzu umieść login:hasło • Utwórz plik .htaccess w katalogu administrator • Wewnąrz pliku umieść kod: AuthName "Secured Area" AuthType Basic AuthUserFile /home/myaccount/.HTPASSWD require valid-user
  16. 16. Two-Factor Authentication • Dodatkowe pole z unikalnym kluczem generowanym dynamicznie, • Wymaga pobrania na urządzenie mobilne programu generującego klucz
  17. 17. Two-Factor Authentication
  18. 18. YubiKey
  19. 19. Certyfikaty SSL • Umożliwiają ochronę plików cookies, • Ochrona sesji, • Uwiarygodnienie połączenia certyfikatem
  20. 20. Nieużywane Zasoby Elementy, których nie używasz najlepiej usunąć z CMS-a. Poza potencjalnymi błędami w kodzie, rootkitami mogą one również znacząco spowalniać działanie strony. Dotyczy to zarówno komponentów, modułów i wtyczek, jak i szablonów.
  21. 21. Legalność • Instaluj tylko oryginalne rozszerzenia • Rozszerzenia pobrane z warezów mogą: – Zawierać złośliwy kod, – Zawierać backdoory, – Zawierać niechciane treści reklamowe oraz przekierowania
  22. 22. Rozszerzenia • Instaluj rozszerzenia pochodzące z zaufanych źródeł (JED, strony producentów) • Jeśli na stronie wyświetla się informacja odnośnie rozszerzenia staraj się ją ukryć – dajesz osobie atakującej informacje z czego korzystasz
  23. 23. System komentarzy • Zastąp standardowy system komentarzy innym, np. Disqus – zwłaszcza w przypadku K2, • Włącz dla komentarzy Captcha, • Zapobiegaj automatycznemu publikowaniu komentarzy – włącz ich moderację
  24. 24. Captcha ReCaptcha • Eliminuje w znaczny sposób ilość fałszywych kont, • Praktycznie uniemożliwia botom dodawanie komentarzy, • Znacznie ogranicza ilość otrzymywanego spamu.
  25. 25. Rozszerzenia typu SEF • Dobry dodatek SEF zwiększa również bezpieczeństwo strony • Maskuje on wyświetlanie w URL-u informacji odnośnie użytego rozszerzenia • sh404SEF zawiera element zabezpieczający zatrzymujący różne ataki i informujący o tym na maila • Usuwa ona również Tag Generator informujący o rodzaju wykorzystywanego CMS-a
  26. 26. Rozszerzenia do zarządzania bezpieczeństwem • Akeeba Admin Tools • jHackGuard • RSFirewall
  27. 27. Dziękuję za uwagę http://morphic.pl kontakt@morphic.pl 690 696 232

×