To ci się nie przytrafi? :DDDDDDDDD
Zarządzając ponad 300 stronami internetowymi, od czasu do czasu trafiają mi się różne sytuacje awaryjne. Czasami są one dość gorące, ale często jest to kompletny banał. Jeśli tak jak ja, w przeszłości kusiło Cię programowanie i wiesz też, że programowanie to ból, to na pewno się ze mną zgodzisz.
Kiedy aplikacja internetowa staje się popularna, staje się kuszącym celem dla hakerów. Ich motywacją zazwyczaj nie jest doprowadzenie do upadku całej witryny, wręcz przeciwnie. W rzeczywistości hakerzy chcą, abyś jako administrator serwera był ich zupełnie nieświadomy. Dobry haker czeka miesiącami, obserwując serwer WWW i zdobywając to, co najcenniejsze - Twoje dane.
Aby chronić swoich użytkowników, konieczne jest szyfrowanie wszystkich danych i posiadanie wielu warstw ochrony. Dla haseł użyj jednej z wolnych funkcji, takich jak Bcrypt + salt, Argon2, PBKDF2 lub Scrypt. Michał Spacek pisał już o ocenie bezpieczeństwa, dziękuję mu za uzupełnienie artykułu. Jako właściciel strony, musisz nalegać na prawidłowe hashowanie hasła podczas dyskusji z programistą. Inaczej będziesz płakać, tak jak wielu ludzi przed tobą, którzy też łudzili się, że to ich nie dotyczy.
Zauważyłem, że gdy serwer internetowy osiągnie pewien próg ruchu (w Czechach jest to około 50+ odwiedzających dziennie), zaczyna dostawać serię ataków skierowanych na niego znikąd. Żeby nie było łatwo, atakujący zawsze ma przewagę, bo może wybrać, którą część infrastruktury zacznie atakować, a Ty - jako właściciel serwera WWW - musisz to w porę rozpoznać, obronić się i następnym razem być na to lepiej przygotowanym.
Ile ataków zostało skierowanych na Ciebie np. w ciągu ostatniego miesiąca? Czy wiesz dokładnie? Ile z nich udało ci się obronić? Czy ktoś jeszcze ma dostęp do Twojego serwera?
A co jeśli ktoś cię teraz atakuje? A teraz... a teraz także...?
Niestety, nie ma jednego uniwersalnego sposobu na rozpoznanie ataku. Są jednak narzędzia, które mogą dać Ci znaczną przewagę.
To, co dla mnie ostatnio działa najlepiej:
W rzeczywistości nawet duże firmy popełniają błędy, nawet w tak banalnych sprawach jak atak XSS (cross-site scripting).
Pytanie nie brzmi, czy ktoś kiedykolwiek złamie twoją stronę. Pytanie brzmi, kiedy to nastąpi i czy będziesz wystarczająco przygotowany, aby sobie z tym poradzić. Może haker ma dostęp do Twojego serwera od miesięcy, a Ty o tym nie wiesz (jeszcze).
Kiedy dowiadujesz się o pracy hakera, zwykle jest już za późno i haker zrobił wszystko, co było mu potrzebne. Bardzo prawdopodobne, że umieścił złośliwe oprogramowanie na całym serwerze i ma przynajmniej częściową kontrolę nad maszyną.
To jest chaotyczny rodzaj problemu i trzeba działać szybko.
Ponieważ jest to ostatni etap ataku, osobiście zalecam całkowite odłączenie serwera WWW od internetu i rozpoczęcie stopniowego dochodzenia do tego, co się wszystko stało. Dodatkowo nigdy nie dowiemy się dokładnie, czy serwer nie ukrywa czegoś innego. Atakujący zawsze ma znaczną przewagę.
Jeśli zdecydujemy się na umieszczenie ostatniej działającej kopii zapasowej z powrotem na serwerze, bardzo pomożemy atakującemu. On już wie jak włamać się na Twój serwer i nic nie stoi na przeszkodzie, aby za kilka godzin zrobił to ponownie. Ponadto kopia zapasowa prawdopodobnie zawiera złośliwe oprogramowanie lub jakiś inny rodzaj wirusa.
Chociaż jest to bardzo niepopularna opcja wśród moich klientów, osobiście zawsze polecam w pierwszej kolejności całkowite usunięcie stron WordPressa lub wszelkich systemów, których klient nie aktualizuje, a które mają dużo zagrożeń bezpieczeństwa. Na przykład, jeśli na jednym serwerze hostujesz 30 stron, które mają więcej niż 2 lata, masz praktycznie gwarancję, że przynajmniej jedna z nich zawiera jakąś formę luki.
Jeśli nie rozumiesz zagadnienia, lepiej zawczasu skontaktuj się z odpowiednim specjalistą, który ma głęboką wiedzę na temat Twojego zagadnienia i rozumie sprawy w szerokim kontekście.
Uwaga etyczna:
Jeśli zarządzasz stroną internetową dla klienta, który miał incydent bezpieczeństwa, Twoim obowiązkiem jest poinformowanie go o tym. W przypadku wycieku jakichkolwiek danych (takich jak hasła, ale często znacznie więcej) należy również poinformować użytkowników końcowych, że ich hasło jest wiedzą publiczną i powinni je wszędzie zmienić. Jeśli użyjesz wolnej funkcji haszującej (na przykład Bcrypt + sól), znacznie utrudnisz atakującemu złamanie haseł (niestety, Bcrypt passwords can be cracked). Jeśli chcesz otrzymywać regularne informacje o tym, czy Twoje konto zostało wycieknięte, polecam zarejestrować się w Have i been pwned?. Więcej informacji na temat naruszenia bezpieczeństwa można znaleźć na stronie internetowej OOO.
W ciągu ostatnich sześciu miesięcy skończyłem czytać książkę Atomowe nawyki, która była otwieraczem oczu. Opisuje proces przyrostowej poprawy o 1% każdego dnia, który w dłuższej perspektywie zrobi bardzo dużo.
Ponieważ zgłaszają się do mnie firmy i osoby na różnych etapach zadłużenia technologicznego, chciałbym podsumować najgorsze rzeczy:
noindex
i nofollow
, aby nie zostały zaindeksowane przez Google. Wrażliwe treści, których nie może poznać Twoja konkurencja, muszą być chronione hasłem.Podatności jest znacznie więcej, a problemy różnią się w zależności od projektu. Jeśli potrzebujesz zrobić szybki audyt serwera, polecam użyć Maldet, a następnie zatrudnić odpowiedniego specjalistę, który pomoże Ci zrobić pełny audyt strony, i to nie tylko ze względów bezpieczeństwa.
Inżynierowie bezpieczeństwa są jak plastik w oceanie - tylko na zawsze. Przyzwyczaj się do tego.
Zauważyliście również, że natura prawie zawsze stosuje zasadę reakcji. Oznacza to, że w danym środowisku coś się dzieje i otaczające nas organizmy reagują na to w różny sposób. Takie podejście ma wiele zalet, ale jedną ogromną wadę - zawsze pozostaniesz w tyle.
Jako osoba myśląca (projektant, developer, konsultant) masz ogromną przewagę, a jest nią bycie actionable - czyli znajomość z wyprzedzeniem pewnej części dużych zagrożeń i aktywne zapobieganie im w pierwszej kolejności. Być może nigdy nie uda się zapobiec wszystkim wpadkom, ale można przynajmniej złagodzić ich konsekwencje lub zbudować mechanizmy kontrolne, które wcześnie wykryją problemy, aby mieć czas na reakcję.
Większość ataków odbywa się przez długi okres czasu, a jeśli logujesz się, zwykle będziesz miał wystarczająco dużo czasu, aby wykryć problem.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | pl