Dekalog bezpieczeństwa Magento

Post on 08-Aug-2015

386 views 3 download

Transcript of Dekalog bezpieczeństwa Magento

Dekalog bezpieczeństwa Magento

Mageto - popularność

Magento staje się coraz popularniejsze. W związku z tym jest bardziej podatne na ataki.Poniżej wykres popularności Magento na tle innych systemów sklepowych.

2/16

Zabezpieczenia

Warto zadbać o dodatkowe zabezpieczenia Magento, które w przypadku prób włamania przez roboty mogą być wysoce skuteczne.

Zastosować można 10 trików, które znacząco podnoszą bezpieczeństwo sklepu.

3/16

1. Hasło admina

Podczas instalacji Magento, tworzymy pierwszego użytkownika administracyjnego. Ważne, aby nazwa użytkownika była inna niż „admin“ ze względu na ataki typu „brute force“ (http://pl.wikipedia.org/wiki/Atak_brute_force)

Pamiętaj, że dłuższe hasło jest lepsze. Użyj co najmniej 10 znaków. Warto wymieszać wielkie i małe litery, znaki interpunkcyjne i cyfry.

Możemy skorzystać z gotowego narzędzia do sprawdzania siły naszego hasła: www.passwordmeter.com

4/16

2. HTTPS / SSL

Każdy formularz, który przesyła poufne informacje: logowanie/rejestracja czy składanie zamówień, powinien być obsługiwany przez szyfrowane połączenie SSL.

Magento, standardowo posiada obsługę protokołu HTTPS, wystarczy go uruchomić w Panelu Administracyjnym oraz wykupić i zainstalować Certyfikat SSL.

5/16

3. Niestandardowa ścieżka admina

Domyślnie Panel Administracyjny Magento znajduje się pod adresem www.domena.pl/admin

Warto zadbać o to, aby nasz Panel Administracyjny znajdował się pod innym adresem np.: - epanel - panelwww- adminpanel- p4ne7 (najbezpieczniejsza forma)

Możemy to zmienić /app/etc/local.xml plik z ustawieniami bazy danych

6/16

4. Przypomnienie hasła admina

Magento ma bardzo wygodną funkcję, która pozwala administratorom na resetowanie hasła w przypadku jego zapomnienia. W celu zresetowania hasła, musisz znać e-mail powiązany z kontem.

Warto używać innego adresu e-mail niż ten do komunikacji z klientami podany publicznie.

Po drugie, upewnij się, że hasło do konta e-mail jest bezpieczne.

Po trzecie, upewnij się, że konto e-mail ma pytanie zabezpieczające, które umożliwia zresetowanie hasła oraz wybierz pytanie i odpowiedź które będzie trudne od odszyfrowania.

7/16

5. Ograniczenie dostępu do Panelu

Jeżeli znamy adresy IP, z których będziemy łączyć się do Panelu Administracyjnego, warto ustawić ograniczenie tylko na te adresy. Możemy użyć do tego pliku .htaccess

Przykład:RewriteCond %{REQUEST_URI} ^/(index.php/)?admin/ [NC]RewriteCond %{REMOTE_ADDR} !^1.1.1.1RewriteRule ^(.*)$ http:// %{HTTP_HOST}/ [R=302,L]

8/16

6. Logowanie z captcha

Standardowo Magento ma możliwość ustawienia captcha dla różnych formularzy w sklepie. Także dla logowania do Panelu Administracyjnego.Możemy ustawić, że po 3 próbach niepoprawnego logowania wyświetli nam się captcha, którą trzeba będzie przepisać.

Możemy to ustawić w: System → Konfiguracja zakładka: ZAAWANSOWANE sekcja: CAPTCHA

9/16

7. Role administracyjne

Warto zmienić nazwę oraz ID głównej roli administratora w Panelu Admina. Jeżeli ktoś już wykryje dziurę w Magento, trudniej będzie mu się wbić w bazę danych z własnym zapytaniem.

Dodatkowo, warto po rejestracji pierwszego administratora zmienić jego ID oraz autoincrement w bazie danych na +1333

10/16

8. Uprawnienia do plików

Upewnij się, że pliki i foldery nie mają prawa zapisu oprócz Ciebie, zmieniając uprawnienia do plików i folderów na 644 755. Dla wszystkich, które mają ustawione na 777. Najszybszym sposobem zrobienia tego, jest wykonanie polecenia przez ssh:

find. -type d -exec chmod 755 {} \;find. -type f -exec chmod 644 {} \;

Dodatkowo, warto również ustawić uprawnienia do pliku local.xml na 600 (-RW), które ograniczyłyby do odczytu i zapisu do zaledwie serwera.

11/16

9. Magento Connect Manager

Magento Connect Manager to świetny sposób na szybką instalację modułów, ale niesie za sobą również duże zagrożenie dla bezpieczeństwa. Staje się dobrym punktem do wejścia dla ataków brute force.

Aby zminimalizować ryzyko, możemy wykonać kilka czynności:

● zmienić nazwę katalogu na trudną do zidentyfikowania● skasować ten katalog z wersji produkcyjnej, instalować

moduły lokalnie i wysyłać przez GIT/SVN (wersjowanie zmian)

● ustawić zabezpieczenie na adres IP na ten katalog

12/16

10. Niebezpieczne funkcje PHP

Aby uniknąć wykorzystywania funkcji PHP, które mogą być potencjalnie niebezpieczne, należy dodać następujące reguły do pliku php.ini:

disable_functions = proc_open,phpinfo,show_source,system,shell_exec,passthru,exec,popen

Są to funkcje, które pozwalają wykonywać operacje bezpośrednio po stronie serwera oraz podglądać obecną konfigurację serwera.

13/16

Luka RCE (Remote Code Execution)

Netanel Rubin z Check Point odkrył krytyczną lukę RCE (Remote Code Execution), która daje nieuprawnionym osobom dostęp do całego Systemu. Pozwala na zdalne wykonywanie zapytań do bazy danych.

2go lutego 2015 r. Magento wypuściło oficjalną łatkę nazwaną SUPEE-5344, którą należy bezwzględnie zainstalować na swoim oprogramowaniu.

Na dzień 13go maja 2015 r. w naszej bazie sklepów Magento, znajduje się 1930 adresów z czego 599 sklepów nie posiada jeszcze zainstalowanej aktualizacji.

14/16

Luka w Magento - przykłady

Zakres przykładów wykorzystania przez niepowołane osoby tej luki jest nieograniczony:

● dostęp do Panelu Administracyjnego,● możliwość skasowania bazy danych,● możliwość wpływu na ceny swoich zamówień,● możliwość wpływu na rabaty,● dostęp do danych klientów.

15/16

Skontaktuj się z nami

Dziękuję za uwagę

Autor: Mateusz Borowik Kontakt: m.borowik@auroracreation.com

16/16