Wszystkie artykuły Poprzedni Następny

10 porad jak poprawić bezpieczeństwo strony internetowej

Jak zwiększyć bezpieczeństwo strony internetowej, czy sklepu internetowego? Nasza lista porad gotowych do wprowadzenia pozwoli lepiej zabezpieczyć się przed atakami hakerskimi.

deweloper zabezpiecza stronę internetową

Popularność systemów zarządzania treścią (CMS) takich jak WordPress, Joomla!, Drupal, Magento i inne, sprawiła, że posiadanie rozbudowanej strony stała się łatwiejsza niż kiedykolwiek. Te narzędzia powodują, że biznes może w bardzo szybki sposób wprowadzać w życie swoje idee dotyczące egzystowania w internecie. Dzięki rozbudowanej architekturze, niezliczonej ilości pluginów i modułów czas budowy witryny został znacznie zredukowany.

Wszystko jednak ma swoje dobre i złe strony. Znacząco skrócony czas realizacji, jaki jest potrzebny do zbudowania naszego miejsca w internecie związany jest z cyber zagrożeniami.

Jak należy zadbać o bezpieczeństwo naszej strony internetowej? O tym niżej.

Aktualizuj

Ta porada tyczy się nie tylko naszej strony, ale i całej przestrzeni związanej z naszym cyfrowym życiem. Przestarzałe oprogramowanie odpowiada za tysiące udanych ataków każdego dnia.

Niesamowicie ważnym jest implementowanie aktualizacji od razu, gdy są dostępne. Te mogą zawierać łatki bezpieczeństwa, bez których nasz system może być bezbronny.

Większość stron atakowanych jest automatycznie. Wrogie boty notorycznie i bez przerwy skanują internet w poszukiwaniu słabości w systemach, które mogą wykorzystać. Dlatego robienie update'ów raz w miesiącu, czy nawet w trybie tygodniowym, nie jest już wystarczające. Aktualizacji należy dokonywać od razu, gdy zostaną udostępnione.

Dbanie o wprowadzenie możesz kontrolować samemu lub zlecić firmie zewnętrznej.

Jeśli korzystasz z WordPress'a to warto zainstalować plugin WP Updates Notifier, który informuje o nowych uaktualnieniach.

Hasła

łamanie hasła

To kolejna porada tycząca się nie tylko bezpieczeństwa witryn, ale wszystkiego, co dotyczy naszego cyfrowego życia.

Podczas czyszczenia stron internetowych, naszych klientów, z wirusów bardzo często okazuje się jak bardzo zaniedbywany to problem. Niejednokrotnie spotykaliśmy się ze słabymi hasłami. Niestety ciągle zdarzają się przypadki danych logowania do serwera typu admin/admin.

Cyberprzestępcy mają do swojej dyspozycji listy haseł, które wyciekły w poprzednich atakach — te służą do wygenerowania jeszcze większych list. Jeśli twoje hasło znajdzie się na takiej liście, to będzie tylko kwestią czasu kiedy twoja strona zostanie skutecznie zaatakowana.

Główne zasady przy stosowaniu ciężkich do złamania haseł:

Nie używaj tych samych haseł w wielu miejscach. Każde z twoich haseł powinno być unikalne i wygenerowane specjalnie pod daną okoliczność. Używaj managera haseł takiego jak 1Password, czy LastPass.

Używaj długich haseł. Powyżej 12 znaków. Im dłuższe hasło, tym dłużej zajmie złamanie — w dobie managerów haseł, które pamiętają i wpisują je za nas, jedyne co nas ogranicza to limity ustawione przez deweloperów.

Używaj przypadkowych liter do konstrukcji hasła. Oprogramowanie łamiące hasła próbuje zgadnąć miliony haseł na sekundę. Korzysta ze specjalnie do tego skonstruowanych słowników, ale zna też ogólnie stosowane wzory — takie jak zamiana liter na cyfry, czy dodawanie cyfr na końcu wyrazów.

Używajmy managerów — w ich przypadku wystarczy zapamiętać jedno, główne, bardzo mocne hasło, a o całą resztę martwi się manager.

Nie współdzielmy hostingu

Używanie hostingu do przechowywania paru stron wydaje się nęcącym wyjściem — możemy zaoszczędzić pieniądze, które musielibyśmy wydać na każdą stronę. Niestety jest to jedna z najgorszych praktyk podczas administrowania stronami. Hostowanie wielu stron w jednym miejscu stwarza bardzo duże pole do ataku.

Cross-site-contamination to zjawisko bardzo powszechne — to sytuacja, w której dochodzi do zarażenia sąsiednich stron, znajdujących się na tym samym serwerze zwykle z powodu złej izolacji, lub niepoprawnej konfiguracji serwera.

Spotykamy się z przypadkami, gdzie jedna instalacja WordPress zawierająca plugin zawierający lukę bezpieczeństwa zostaje zaatakowana, a zarażenie przechodzi na wszystkie instalacje WP na danym serwerze.

Jeśli na jednym hostingu znajdują się strony zawierające różne pluginy, czy nawet różne systemy CMS, to zwiększa to pole ataku — każdy zainstalowany plugin może okazać się niebezpieczny. Wystarczy, że haker znajdzie jeden błąd, by mógł przejąć wszystkie strony.

Atak w tym przypadku nie tylko wiąże się z infekcją dużej ilości stron, ale przysparza dużych problemów podczas usuwania szkód (co jest przede wszystkim kosztowne w porównaniu do usunięcia malware z jednej strony).

Po zakończeniu czyszczenia, wszystkie hasła będą musiały zostać zmienione. Każde hasło na każdej stronie. Dotyczy to haseł do baz danych CMS'a, FTP, wszystkich użytkowników. Jeśli pominiesz tę czynność strony będą narażone, na szybką reinfekcję.

Ograniczaj przywileje

Ta zasada dotyczy stron mających wielu użytkowników. Ważnym jest, by umożliwić pracę każdemu, kto korzysta z naszej strony. Jeśli podniesione przywileje są potrzebne — dajmy je, ale pamiętajmy o wróceniu do poprzedniego, niższego poziomu.

Jeśli ktoś pisze gościnny artykuł, upewnij się, że nie dostaje przywilejów administratora. Jego przywileje powinny umożliwić mu stworzenie artykułu i edytowanie jedynie tego, co sam stworzył.

Dobrze przemyślane reguły pomogą zapobiec błędom, które niekoniecznie mogą wynikać z chęci ataku. Niestety możemy nie uniknąć przypadków, gdy nasi użytkownicy będą działać w sposób złośliwy, próbując celowo wyrządzić szkodę.

Często przeoczanym elementem zarządzania użytkownikami jest nie tylko monitoring, ale i odpowiedzialność. Należy tak konstruować system, by w razie podejrzanej sytuacji wiadomo było, kto dokładnie jest odpowiedzialny. Na przykład, w przypadku, gdy z jednego konta korzysta więcej niż jedna osoba (jak zdarza się w przypadku teamów) — nie będzie to możliwe.

Gdy zapewnimy, że każdy użytkownik ma osobne konto warto zając się monitorowaniem. Skala, w jakiej powinniśmy monitorować naszych użytkowników jest bardzo różna i związana z konkretnym typem biznesu. Mamy możliwość ustalenia norm i powinniśmy monitorować odchylenia od nich — takie jak logowanie w dziwnych godzinach, czy lokalizacji.

Zachowuj logi (pliki zdarzeń), które będą mogły zostać przeanalizowane. Dzięki nim możemy stwierdzić, czy dochodzi do zachowań odstępujących od normy, stanowią dowód.

Nie zachowuj ustawień domyślnych CMS'ów

Większość ataków na strony internetowe przeprowadzana jest całkowicie automatycznie. Wrogie boty najczęściej bazują na ustawieniach domyślnych CMS'ów.

To oznacza, że można uniknąć sporej części ataków, edytując ustawienia podczas instalacji.

Dla przykładu, niektóre z systemów zarządzania treścią nadają, domyślnie, prawo do instalowania nowych rozszerzeń wszystkim użytkownikom. Tego typu ustawienia mogą zostać wykorzystane podczas ataku hakerskiego.

Ustawienia, na których powinniśmy się skupić to te dotyczące kontroli komentarzy, użytkowników, widoczności informacji. Ważne są pozwolenia edycji plików.

Wybór rozszerzeń

pluginy wordpress

Możliwość instalowania dodatkowych rozszerzeń strony, które przy pomocy paru kliknięć mogą wprowadzić skomplikowane funkcjonalności do naszej strony, to jeden z najważniejszych benefitów korzystania z CMS'ów typu WordPress. Istnieją, dosłownie, tysiące pluginów — WordPress, w swojej kolekcji, ma ich ponad 50,000.

Niestety każdy z dodatków, niezależnie czy jest to plugin, czy nowa szata graficzna, jest związany z potencjalnym niebezpieczeństwem.

Jak więc zdecydować, które dodatki są godne zaufania?

Sprawdźmy ostatnią aktualizację. Jeśli ostatnia aktualizacja została przeprowadzona ponad rok temu, należy mocno przemyśleć używanie danego dodatku. Oczywiście możliwa jest sytuacja, w której update'owanie np. danego pluginu nie było potrzebne, ale zwykle, brak ciągłego rozwijania jest czerwoną flagą. Warto też sprawdzić, czy autora aktywnie obsługuje dany dodatek — jeśli nie, jest prawdopodobnym, że oprogramowanie nie zostanie poprawione w przypadku wykrycia luki — co zostanie wykorzystane bezlitośnie przez hakerów.

Sprawdźmy datę wydania i ilość ściągnięć. Tu należy kierować się zasadą, że im więcej razy dodatek był ściągnięty, tym większe prawdopodobieństwo, że można na nim polegać. Należy również zwrócić uwagę na doświadczenie dewelopera — jeśli to jego pierwszy dodatek warto zachować dodatkową ostrożność.

Korzystajmy ze sprawdzonych źródeł. Nie ściągajmy software ze źródła, którego nie jesteśmy pewni. Nigdy nie warto używać pirackich wersji — implementacja złośliwego kodu jest relatywnie łatwa, co oznacza, że prawdopodobieństwo, że sobie zaszkodzimy, jest bardzo duże (pomijając już moralność takiego postępowania).

Rób backupy

Doznania jakie przeżywamy, gdy nasza strona zostanie zhakowana nie należą do przyjemnych, ale jedna z najgorszych rzeczy, jakie można nas spotkać (przynajmniej w przestrzeni cyberbezpieczeństwa) jest zhakowana strona, która nie była zabezpieczona backupem.

Backup jest nieodzownym czynnikiem pozwalającym odzyskać działającą stronę. Mimo, że nie stanowią panaceum na ataki, i nie rozwiązują wszystkich problemów, ułatwiają pracę specjalistom — oczyszczanie strony z wirusów bez backupu stanowi dużo większe wyzwanie, a niekiedy jest wręcz niemożliwe.

Czym charakteryzuje się dobrze zrobiony backup?

Znajduje się off-site. Jeśli backup znajduje się na tym samym serwerze co strona (co jest dosyć częstą praktyką) to jest narażony na ataki w stopniu dokładnie takim samym jak ona. Backup powinien znajdować się w innym, bezpiecznym miejscu — pamiętajmy, że sam backup, gdy znajdzie się w niepowołanych rękach, może zostać wykorzystany do ataku.

Jest automatyczny. Automatyczne backupy zapewniają, że mogą być robione często i ich wykonanie nie jest uzależnione od czynników ludzkich. Dlatego powinniśmy zautomatyzować proces ich wykonania.

Jest niezawodny. Odzyskanie strony powinno zostać przetestowane — i tego typu sprawdziany powinniśmy robić co jakiś czas, by zapewnić, że wszystko przebiega prawidłowo i w razie problemów będziemy w stanie odtworzyć stronę.

Pliki konfiguracyjne serwera

Powinniśmy poznać konfiguracje naszego serwera — w zależności od jego rodzaju używane są inne pliki:

- Apache używa pliku .htaccess 

- Coraz popularniejszy Nginx, nginx.conf 

- Microsoft IIS używa web.config

Pliki konfiguracyjne serwera to potężne narzędzie, które może, również, pomóc we wzmocnieniu bezpieczeństwa.

O czym powinniśmy pamiętać przy konfiguracji serwera?

Zablokujmy możliwość przeglądania folderów. Dzięki temu zabierzemy hakerom i złośliwym użytkownikom możliwość zdobywania informacji o zawartości katalogów serwera.

Zablokujmy hotlinking obrazków. Nie jest to związane bezpośrednio z cyberbezpieczeństwem, ale jest to, warta wprowadzenia, praktyka. Hotlinking to sytuacja, gdy inne strony używają obrazków, które znajdują się na naszych serwerach, korzystając jednocześnie z naszych zasobów. Przy odpowiedniej konfiguracji możemy wyłączyć taką możliwość.

Zabezpieczmy wrażliwe pliki. Poprzez nadanie odpowiednich pozwoleń i zasad możemy chronić wrażliwe pliki i miejsca na serwerze przed niepowołanymi osobami. Zablokujmy pliki związane z konfiguracją CMS'a i foldery, do których powinien mieć dostęp jedynie admin. Zastrzeżmy egzekucje plików PHP w katalogach zawierających zdjęcia lub pliki wgrywane przez użytkowników.

Zainstaluj SSL

SSL (Secure Sockets Layer) to technologia służąca do nawiązywania bezpiecznego połączenia pomiędzy przeglądarką a serwerem.

SSL szyfruje dane podczas komunikacji, co pomaga w zabezpieczeniu się przed atakami Man in the Middle (MITM). Gdy nasza strona nie używa protokołu SSL (takie strony można poznać po tym, że używają http w adresie, w odróżnieniu od https) dane, które są przesyłane, mogą zostać przejęte/podsłuchane przez atakującego.

Na szczęście SSL staje się standardem i jest właściwie wymuszany przez przeglądarki, które oznaczają niezabezpieczone strony.

Na rynku jest dostępna darmowa, obecnie bardzo popularna usługa, dzięki której można zrobić to za darmo — Let's Encrypt.

Weryfikuj płatności

Jeśli twoja strona będzie używać płatności dobrze sprawdź dostarczyciela tej usługi pod kątem bezpieczeństwa.

Zabezpieczenie danych bankowych powinno być w takim przypadku priorytetem i polecamy używanie sprawdzonych rozwiązań, które działają na rynku od jakiegoś czasu.

Przy wyborze systemu płatności zwróć uwagę na to jakie zabezpieczenia stosuje dany system, jaka jest polityka bezpieczeństwa i ile trwa zwrot środków na konto w przypadku niepowodzenia płatności.

Podsumowanie

Trzeba zdać sobie sprawę, że praktycznie każdy system może zostać zhakowany przy odpowiednim zdeterminowaniu hakera (lub odpowiednim budżecie). 

Większość z nas nie będzie miała, na szczęście, styczności z atakującymi na poziomie grup hakerskich sponsorowanych przez państwa. Wprowadzenie powyższych kroków powinno znacznie wzmocnić bezpieczeństwo naszych stron, skutecznie broniąc je przed dużą częścią potencjalnych ataków.

Postaw kawę autorowi artukułu.

Zobacz wszystkie artykuły

Jeśli potrzebujesz pomocy, twoja strona została zainfekowana, chcesz dokonać audytu bezpieczeństwa, czy po prostu masz jakieś pytania — napisz do nas. Postaramy się pomóc.

Zgłoś błąd w tekście
×