W poniższym artykule zapoznasz się z podstawowymi informacjami odnośnie zabezpieczenia własnej strony internetowej przed m.in. atakami hakerskimi. Możesz się zastanawiać co można „wykraść” z takiej zwykłej strony internetowej firmy. Większość naruszeń bezpieczeństwa na stronie internetowej nie polega na kradzieży danych ani na zniszczeniu witryny, ale zamiast tego próbuje wykorzystać serwer jako spam dla wiadomości e-mail lub skonfigurować tymczasowy serwer sieciowy, zwykle w celu udostępniania plików o nielegalnym charakterze.
Inne bardzo popularne sposoby nadużywania zaatakowanych komputerów obejmują używanie serwerów w ramach botnetu lub kopania Bitcoinów. Możesz nawet zostać trafiony przez oprogramowanie typu ransomware. Hackowanie jest regularnie wykonywane za pomocą zautomatyzowanych skryptów napisanych w celu przeszukiwania Internetu w celu wykorzystania znanych problemów bezpieczeństwa w oprogramowaniu. Oto 5 najważniejszych wskazówek, które pomogą Ci zapewnić bezpieczeństwo Tobie i Twojej witrynie w Internecie.
1.Aktualne oprogramowanie
Jedno z najważniejszych działań jakie powinnyśmi wykonać to ciągła aktualizacja posaiadanego oprogramowania. Hakerzy prześcigają się w tworzeniu oprogramowania, które mogą narobić szkód tylko przez luki w wykorzystywanym systemie zarządzania treścią na naszej stornie. Czasami czas może wyrządzać szkodę, a więc aktualne oprogramowanie to podstawa.
2.Mocne hasła
Wszyscy wiedzą, że powinni używać skomplikowanych haseł, ale to nie znaczy, że zawsze to robią. Ważne jest, aby używać silnych haseł do serwera i obszaru administrowania witryną, ale równie ważne jest domaganie się dobrych praktyk haseł dla użytkowników, aby chronić bezpieczeństwo swoich kont.
Choć użytkownicy mogą tego nie lubić, egzekwowanie wymagań dotyczących hasła, takich jak co najmniej osiem znaków, w tym wielka litera i numer, pomoże chronić ich dane w dłuższej perspektywie. Hasła zawsze powinny być przechowywane jako zaszyfrowane wartości, najlepiej za pomocą jednokierunkowego algorytmu mieszającego takiego jak SHA. Używanie tej metody oznacza, że podczas uwierzytelniania użytkowników porównywane są tylko zaszyfrowane wartości.
3.Protokół HTTPS
HTTPS to protokół używany do zapewniania bezpieczeństwa w Internecie. HTTPS gwarantuje użytkownikom, że rozmawiają z serwerem, którego oczekują, i że nikt inny nie może przechwytywać ani zmieniać treści, które widzą podczas przesyłania. Jeśli masz coś, czego Twoi użytkownicy mogą chcieć jako prywatne, bardzo dobrze jest stosowanie HTTPS na swojej stronie internetowej. Wtyczka do wordpressa, która pomaga we wdrożeniu tego protokołu to Easy HTTPS Redirection.
4.Komunikaty o błędach
Uważaj, ile informacji przekazujesz w swoich komunikatach o błędach. Zapewnij swoim użytkownikom tylko minimalne błędy, aby upewnić się, że nie ujawniają sekretów obecnych na serwerze (np. Kluczy API lub haseł do bazy danych). Nie podawaj również pełnych szczegółów wyjątków, ponieważ mogą one znacznie ułatwić złożone ataki, takie jak SQL injection. Przechowuj szczegółowe błędy w dziennikach serwera i wyświetlaj użytkownikom tylko te informacje, których potrzebują.
Jeżeli korzystasz z popularnych systemów CMS np. WordPress lub Joomla nie musisz się o nic martwić. Powyższa wskazówka bardziej tyczy się systemów tworzonych na własny użytek np. za pomocą frameworka Laravel.
5.Przesyłanie plików
Jeżeli na twojej stronie internetowej użytkownicy mają możliwość wysyłania plików na serwer, to może stanowić duże zagrożenie bezpieczeństwa witryny, nawet jeśli jest to po prostu zmiana ich awatara. Istnieje ryzyko, że dowolny plik przesłany, choćby niewinny, mógłby zawierać złośliwy skrypt, który po uruchomieniu na twoim serwerze wychodzi i krzyczy „Hej, jestem stroną, którą możesz spokojnie atakować, właśnie robię nowe luki w oprogramowaniu!”.
Jeśli masz formularz do przesyłania plików, musisz traktować wszystkie pliki z wielkim podejrzeniem. Jeśli zezwalasz użytkownikom na przesyłanie obrazów, nie można polegać na rozszerzeniu pliku lub typie MIME, aby sprawdzić, czy plik jest obrazem, ponieważ można je łatwo sfałszować. Nawet otwarcie pliku i odczytanie nagłówka lub użycie funkcji do sprawdzenia rozmiaru obrazu nie są pełnymi dowodami. Większość formatów obrazów umożliwia przechowywanie sekcji komentarzy, która może zawierać kod PHP, który może być wykonany przez serwer.
Więc co możesz zrobić, żeby temu zapobiec? Ostatecznie chcesz uniemożliwić użytkownikom uruchamianie dowolnego przesłanego pliku. Domyślnie serwery sieciowe nie będą próbowały wykonywać plików z rozszerzeniami graficznymi, ale nie zaleca się polegania wyłącznie na nich przy sprawdzaniu rozszerzenia pliku, ponieważ znany jest z pliku o nazwie image.jpg.php.
Jedną z opcji jest zmiana nazwy pliku podczas przesyłania, aby zapewnić poprawne rozszerzenie pliku lub zmianę uprawnień do pliku, na przykład chmod 0666, aby nie można było go uruchomić. Jeśli użyjesz *nix, możesz utworzyć plik .htaccess (patrz niżej), który pozwoli tylko na dostęp do ustawionych plików, zapobiegając wspomnianemu wcześniej atakowi podwójnego rozszerzenia.
deny from all
<Files ~ "^\w+\.(gif|jpe?g|png)$">
order deny,allow
allow from all
</Files>
Jak zabezpieczyć stronę internetową?
Jest wiele czynników, które mogą wpłynąć na bezpieczeństwo naszej witryny. Mają one na celu jednak w moim odczuciu zminimalizowanie takiego zjawiska jakim jest hakowanie stron, niż kompletne zabezpieczenie. Oczywiście na łamach naszej strony będą prezentowane kolejne sposoby oraz narzędzia, które wspomogą działania anty-hakerskie.