Wszystkie artykuły Poprzedni Następny

Reinfekcje: czyli czemu moja strona została zainfekowana ponownie?

Bardzo często trafiają do nas klienci, którzy próbowali sami usunąć wirusa ze swojej strony, gdy ta zostaje zainfekowana w krótkim czasie ponownie. W tym poście postaramy się wyjaśnić, na czym polega zjawisko reinfekcji i dlaczego wirusy powracają.

Niestety jest to zjawisko nie tylko bardzo częste, ale i przysparzające biznesom bardzo dużo kłopotów. Zainfekowana strona może się wiązać z penalizowaniem przez wyszukiwarki — co w przypadku biznesów często oznacza bardzo duże straty w budżetach, które zostały zainwestowane w SEO.

Przyczyn reinfekcji jest wiele, spróbujemy opisać główne z nich.

Hasła

Jak ważne, ale i jednocześnie problematyczne są hasła wie praktycznie każdy użytkownik komputera (czytaj: po prostu każdy). Wszyscy mamy styczność z hasłami przy logowaniu się na pocztę czy ulubione portale. Większość z nas ma, również, świadomość jak ważne są słowa zabezpieczające — tyle samo ludzi jednak lekceważy tę część „życia online”.

siatka z zabezpieczeniem

Niestety równie często hasła są lekceważone przez administratorów stron, którzy nie tylko wybierają hasła łatwe do zapamiętania, a jednocześnie trywialne do złamania, ale, co gorsza, nierzadko zostawiają default'owe wersje.

Gdzie dobranie/wygenerowanie mocnego hasła jest ważne?

Przy rejestracji domeny - dostęp do konta domeny umożliwia atak typu DNS-spoofing.

Hosting - mieliśmy do czynienia z wieloma przypadkami kiedy to nasz nowy klient po wyczyszczeniu strony używał dalej tych samych danych do zalogowania się do hostingu. Zawsze radzimy naszym klientom zmianę wszystkich haseł po ataku.

Hasła na lokalnym komputerze - tu obowiązują zasady ogólnej higieny używania haseł. Nie należy bagatelizować haseł na naszym prywatnym komputerze/emailach/itd myśląc, że nie mają związku z naszym biznesem, czy pracą. Hakerzy często zdobywają dane do logowania na stronę, dostając się najpierw na nasz słabo zabezpieczony komputer. Trzeba pamiętać, że zasada ta dotyczy nie tylko nas samych, ale i naszych współpracowników, czy kontrahentów — spotkaliśmy się z wieloma przypadkami, gdy dane do logowania się na naszą stronę były wysyłane w formie tekstowej, email'owo, ale sam email zabezpieczony był bardzo słabym hasłem.

Temat haseł jest tak obszerny, że zasługuje na oddzielny post, ale najważniejszą radą, jaką możemy obecnie dać to używanie managerów haseł (takich jak 1Password, czy LastPass), które generują długie, nic nieznaczące, skomplikowane słowa dostępowe i „pamiętają” je za nas.

Współdzielone środowiska

Jednym z najczęstszych powodów powracających infekcji stron są współdzielone środowiska. Nie mówimy tu o rodzaju hostingu, a instalacjach w ramach jednego konta. Niestety zdarza nam się spotykać z sytuacjami, gdzie na jednym koncie jest do kilkudziesięciu instalacji WordPress'a. Tego typu rozwiązanie jest ekstremalnie niebezpieczne — wystarczy jedna zapomniana, nieodświeżana instalacja odkryta przez automatyczne boty, które non-stop sondują internet w poszukiwaniu wersji zawierających znane błędy, by taka strona została zainfekowana. Infekcja niestety nie zatrzyma się na jednej stronie — podobnie jak w przypadku grypy — wystarczy jedna jednostka, by zarazić inne. W przypadku wirusów na stronach dochodzi do cross-site contamination — czyli zarażenie wszystkich stron znajdujących się w danym środowisku.

Bardzo często dochodzi do przypadków, gdzie strona została wyczyszczona i update'owana dobrze, dochodzi jednak do infekcji.

Rada dla naszych klientów w takim przypadku jest taka sama. Należy przestać stosować wspólne środowiska do instalacji wielu stron — to nigdy nie jest warte oszczędności na hostingu.

Założenie, że nasza strona, czy nasz biznes jest za mały, by stać się ofiarą ataku

Jedną z najczęstszych reakcji małych biznesów na atak jest totalne zaskoczenie i zdziwienie. Zakładają, że biznes zatrudniający parę osób, czy internetowy sklep osiągający małe obroty nie może zostać celem ataku. Po co haker miałby atakować tak mały biznes?

Właściciele małych stron mają rację, że hackerom nie opłaca się targetować tak małych celów — gdyby tak się działo byłoby to nieracjonalnym zachowaniem. Większość ataków rzeczywiście nie jest targetowanych — do ataków na małe witryny dochodzi przy użyciu zautomatyzowanych narzędzi. Istnieją boty, które niestrudzenie probują tysiące adresów IP, sprawdzając ich podatność na znane ataki i automatycznie infekują te, które nie są odpowiednio zabezpieczone.

To ignorowanie niebezpieczeństw przez właścicieli małych biznesów niestety mści się niewspółmiernie - bardzo by zapobiec zawirusowaniu wystarczyłoby przestrzeganie głównych zasad bezpieczeństwa tak jak update'owanie łatek i pluginów.

Skomplikowane struktury

Rosnące, z czasem, skomplikowanie kodu to znane zjawisko w developmencie software'u. Sprawa się dodatkowo komplikuje, gdy nad naszą stroną pracowało kilku podwykonawców, z których każdy stosował inne metody, czy rozwiązania. Znamy przypadek, gdy przy jednym małym portal wykorzystano dwa różne systemy CMS (przy różnych częściach). Skomplikowanie software'u bardzo szybko może wydostać się spod kontroli. Im software jest bardziej skomplikowany, tym trudniej go obsługiwać i wprowadzać nowe funkcjonalności, a to oznacza, że jeszcze trudniej panować nad bezpieczeństwem takiego systemu.

skomplikwanie systemu

Rada w tym przypadku nie różni się ogólnie znanej zasady w programowaniu. Należy zawsze mieć na uwadze skomplikowanie kodu i zawsze starać się je jak najbardziej ograniczać.

Nieznajomość CMS'a

Nawet jeśli wprowadzania zmian w kodzie strony dokonuje doświadczony deweloper, a nie my sami to jako użytkownicy WordPress'a (czy jakiegokolwiek innego CMS'a) powinniśmy poznać podstawowe zasady jego działania. Pomoże to nam uniknąć najbardziej oczywistych błędów, które mogą doprowadzić do reinfekcji.

Backupy

Nigdy nie należy zapisywać plików backupów w miejscach łatwo dostępnych tak w fizycznych lokalizacjach, jak i niezabezpieczonych folderach na stronie (niestety spotykaliśmy się z takimi przypadkami).

Backupy są bardzo ważne nie tylko ze względu na to, że mogą zostać wykorzystane do ataku, ale i dlatego, że są kluczowe podczas czyszczenia strony, który już została zainfekowana.

dysk hdd - backup

Jednym z najgorszych błędów, jakie można popełnić przy administracji stroną to nierobienie backupów. Backupy są niezbędne — bardzo często są oferowane przez nasz hosting, istnieje także cała gama serwisów zajmujących się tylko tym.

Backupów nie należy zapisywać w tej samej lokalizacji gdzie znajduje się strona.

Niezidentyfikowana przyczyna poprzedniej infekcji

To nagminny problem naszych klientów, którzy wcześniejszej infekcji dokonali sami. W sieci da się znaleźć poradniki usunięcia wirusa — niestety bardzo rzadko dochodzi do identyfikacji powodu, przez którego doszło do infekcji. Mamy tu do czynienia z tymczasowym rozwiązaniem efektu problemu bez rozwiązania samego problemu, który bardzo szybko wraca.

Dojście do przyczyny zwykle nie jest łatwe, ale może być wręcz niemożliwe (np. gdy do ataku zostanie użyty 0-day - w takim przypadku jesteśmy praktycznie bezbronni, dopóki błąd nie zostanie odkryty/opublikowany).

Insiderzy / kontrahenci

To problem, z którym trudno walczyć. Insider to osoba wewnątrz naszej organizacji, która ma dostęp do danych strony. Niestety nic nie możemy poradzić, gdy dane dostępu do witryny/hostingu/ftp ma strona, która powinna posiadać takie dane okaże się być niewartą zaufania. Natomiast podczas audytów spotkaliśmy się z sytuacjami gdzie dane takie są ogólnodostępne dla wszystkich. Dane niejednokrotnie przesyłane były w bardzo niebezpieczny sposób, przechowywane w miejscach, do których miały dostęp przypadkowe osoby.

kontrahenci

W tym przypadku radzimy naszym klientom stosowanie obostrzeń i dzielenie się poufnymi danymi tylko i wyłącznie z osobami, które koniecznie potrzebują dostępu do nich, by móc wykonywać swoją pracę. Polecamy również periodyczne zmiany haseł dostępowych — ma to na celu zabezpieczenie się przed sytuacją, w której kontrahent, z którym dawno temu skończyliśmy współprace ma dostęp do naszych kont. Należy również pamiętać o ograniczonym dostępie na każdym etapie prac — kontrahent powinien mieć minimalne uprawnienia, które zagwarantują mu wykonywanie prac.

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
×