Zacznij tworzyć a nie psuć


Programiści wywodzący się ze społeczeństwa Open Source, tworzą przede wszystkim systemy CMS, aby osoby, które nie znają technologii PHP i MySQL w łatwy sposób tworzyły serwisy internetowe oraz nimi zarządzali. Od ponad 10 lat milin osób wykorzystuje tego typu systemy do budowy stron i sklepów internetowych. Cieszy mnie to, że z roku na rok rośnie liczba użytkowników, u których rośnie świadomość bezpieczeństwa stron www.
Najczęstszym powodem włamania jest lenistwo lub brak wiedzy ze strony projektanta, wydaje mi się czasami że rutyna robi swoje. Ze względu na to, że nie ma mechanizmów, które załatwią całą sprawę za ciebie, musisz wziąć się do roboty i zadbać przede wszystkim o to, aby uniknąć kilku typowych zagrożeń dla twojej strony internetowej, takich jak:

  • SQL injection - Atak polega na wstrzyknięciu do aplikacji fragmentu zapytania SQL. Skutkuje to nieautoryzowanym dostępem w trybie odczytu lub zapisu do całej bazy danych.
  • Cross-Site Scripting (XSS) - Atak polega na wstrzyknięciu do przeglądarki fragmentu kodu np. JavaScript, który może być uruchomiony w przeglądarce.
  • Remote File Inclusion (RFI) - atakujący zdalnie dołącza plik, który może za pomocą skryptu lub kodu dopisanego do adresu URL spowodować, że serwer ten kod wykona.
  • Remote Code Execution (RCE) - rodzaj podatności, w wyniku którego zdalnie można przemycić i wykonać dowolny skrypt przy użyciu interfejsu atakowanego oprogramowania.
  • PATH Traversal - rodzaj ataku, w wyniku którego można uzyskać dostęp do plików czy kataloguów normalnie niewidocznych i niedostępnych, znajdujących się poza aplikacją.
  • Denial-of-Service (DoS) - Atak ma na celu utrudnienie lub przerwanie normalnego działania strony internetowej lub serwera. Są różne metody ataku, jedną z nich jest wysłanie do strony większej liczby żądań, niż ta jest w stanie obsłużyć.

Nikt nie mówił, że będzie łatwo

Każdego miesiąca rośnie liczba ataków na Strony internetowe, wygląda na to, że robi się coraz mniej bezpiecznie. A bezpieczeństwo strony internetowej spoczywa w głównej mierze w rekach twórcy strony, żeby w momencie przekazania  jej klientowi była bezpieczna na tyle, na ile jest to możliwe.
Dlatego profilaktyka w przypadku wszelkiego typu zagrożeń online jest twoim ratunkiem. Zabezpiecz stronę internetową na możliwie najwyższym poziomie, bez względu na to, czy mamy do czynienia ze stroną domowa, firmową, czy stroną organizacji.

Zalecane ustawienia serwera

Pamiętaj żeby na serwerze, z którego korzystasz była najnowsza wersja PHP, dzięki temu korzystasz z nowości, a także zmniejszasz ryzyko związane z bezpieczeństwem. Jednak nie tylko to powinno ciebie zainteresować. W każdej wersji systemu znajdują się poprawki związane z  wyeliminowaniem wielu błędów, polegające na wycofaniu niektórych funkcji czy poprawę obsługi błędów.
Na serwerach zaleca się także korzystanie z plików php.ini. Wyłącz albo zablokuj możliwość uruchamiania wybranych funkcji PHP, które uważane są za niebezpieczne. Dotyczy to zestawu funkcji, których WordPress nie używa albo nie są konieczne do korzystania z systemu, ale stanowią zagrożenie dla niego.

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

Zaufane źródła plików

Sam instalator WordPressa oraz wszystkie wtyczki należy pobierać tylko z wiarygodnych i bezpiecznych źródeł, dla tego zaleca się korzystanie z oficjalnej strony projektu, repozytorium wtyczek lub sprzedawcy motywów.
Firmy hostingowe posiadają w swojej ofercie autoinstalatory popularnych CMS-ów. Ale musisz pamiętać że te wersje nie zawsze są aktualne, dlatego po instalacji warto od razu zaktualizować wersje WordPressa z poziomu zaplecza.

Nie prześpij aktualizacji

Aktualizacje wydawane są po to,  aby poprawić drobne usterki, dodać usprawnienia, a także poprawić błędy bezpieczeństwa. Jednym z najczęstszych powodów włamań są luki w systemie oraz niekoniecznie włączonych ale zainstalowanych wtyczek.
Warto zatem, zaglądać na stronę od czasu do czasu i sprawdzać, co się dzieje i w razie potrzeby uaktualnić system CMS ręcznie.

Mniej znaczy bezpieczniej

Na ogół sięgamy po gotowe rozwiązania, bo chcemy zaoszczędzić na czasie lub nie jesteśmy programistami. Instalując nowe wtyczki motywy pamiętaj o podstawowej zasadzie, że zbieractwo nie popłaca.
Ogranicz do minimum ilość instalowanych dodatków/rozszerzeń od takich naprawdę używanych.  Wraz z każda kolejną doinstalowaną wtyczką zwiększasz prawdopodobieństwo, że w jednej z nich znajdzie się luka. Sprawdzaj wszystkie wtyczki realnie używane i usuwaj z systemu wszystkie zbędne wtyczki oraz szablony.

Ochrona bazy danych

Ataki w dużej mierze są przeprowadzane w sposób automatyczny. Luki mogą być nie tylko w źle napisanych wtyczkach, lecz także w kodzie źródłowym WordPressa. Podatność na ataki typu SQL injection z reguły wynikają z przyczyny:

  • brak lub niewystarczająca walidacja danych wejściowych,
  • brak kodowania znaków specjalnych przed wstawieniem do zapytania SQL

Dlatego o bezpieczeństwo bazy danych warto zadbać samemu, dobierając hosting sprawdź czy posiada oprogramowanie chroniące, zawsze to dodatkowa warstwa zabezpieczenia. Po za tym pamiętaj o praktycznych poradach:

  1. Używaj zawsze nowej bazy dla każdej nowej strony.
  2. Jeśli masz zaśmieconą bazę, usuń zbędne rzeczy i pozostaw tylko tabele, te które potrzebujesz.
  3. Im nowsza wersja bazy danych tym lepiej.
  4. Stosuj inną nazwę użytkownika niż nazwa bazy danych - o ile masz taką możliwość.
  5. Silne hasło dostępu do bazy danych.
  6. Zmieniaj domyślny przedrostek tabeli w bazie danych.

Szyfrowanie połączeń

Korzystaj z połączeń szyfrowanych SSL. Jeśli na WordPressie prowadzisz serwis społecznościowy lub sklep, zdecydowanie warto, abyś skorzystał z tej dodatkowej linii obrony, która w założeniu ma uniemożliwić przechwycenie i podmianę przesyłanych danych.

Firewalle

Zainteresuj się wtyczkami typu firewall, jeśli poważnie traktujesz bezpieczeństwo swojej strony internetowej. Tego rodzaju rozszerzenia pomagają zminimalizować przychodzące zagrożenie oraz zmniejszają zakres szkód.
Zadaniem wtyczki firewall jest monitorowanie zapytań przychodzących na stronę internetową, na której wtyczka została zainstalowana. Jeśli ktoś lub coś odwiedzi stronę, przechodzi przez sito zapory firewall, która weryfikuje na podstawie zdefiniowanych reguł, co zrobić z takim zapytaniem.

Komentarze

Popularne posty z tego bloga

Linki przychodzące

Nasz kochany .htaccess