Tworzenie stron internetowych - bezpieczeństwo
Zabezpieczanie stron internetowych jest równie ważne, jak ich tworzenie, ponieważ każde zagrożenie, które może zagrozić bezpieczeństwu, może zaszkodzić Twojej reputacji biznesowej, zaszkodzić Ci finansowo (poprzez kradzież depozytów online), zaszkodzić Twoim klientom, którzy odwiedzają Twoją witrynę itp.
Według ekspertów ds.bezpieczeństwa zasugerują sprawdzenie bezpieczeństwa witryny w oparciu o OWASP TOP 10, który jest potężnym dokumentem informacyjnym dotyczącym bezpieczeństwa aplikacji internetowych. Ranking OWASP Top 10 reprezentuje szeroki konsensus co do najważniejszych luk w zabezpieczeniach aplikacji internetowych.
Zastrzyki SQL
Błędy wstrzykiwania, takie jak wstrzykiwanie SQL, OS i LDAP, występują, gdy niezaufane dane są wysyłane do interpretera jako część polecenia lub zapytania. Wrogie dane atakującego mogą skłonić interpretera do wykonania niezamierzonych poleceń lub uzyskania dostępu do danych bez odpowiedniej autoryzacji.
Solution - Aby zabezpieczyć swoją stronę internetową przed iSQL, musisz zweryfikować dane wejściowe i symbole filtrujące.
Uszkodzone uwierzytelnianie i zarządzanie sesjami
Funkcje aplikacji związane z uwierzytelnianiem i zarządzaniem sesjami często nie są poprawnie implementowane, co umożliwia atakującym złamanie haseł, kluczy, tokenów sesji, a nawet wykorzystanie innych błędów implementacyjnych w celu przejęcia tożsamości innych użytkowników.
Solution - Aby zabezpieczyć swoją witrynę przed tą luką, musisz tworzyć pliki cookie i sesje z czasem wygaśnięcia.
Skrypty między lokacjami (XSS)
Błędy XSS pojawiają się, gdy aplikacja pobiera niezaufane dane i wysyła je do przeglądarki internetowej bez odpowiedniej weryfikacji lub ucieczki. XSS umożliwia atakującym wykonywanie skryptów w przeglądarce ofiary, które mogą następnie przejmować sesje użytkownika, niszczyć strony internetowe lub przekierowywać użytkownika do złośliwych witryn.
Solution - Ochrona przed tym jest taka sama, jak w przypadku iSQL.
Niezabezpieczone bezpośrednie odwołanie do obiektu
Bezpośrednie odwołanie do obiektu występuje, gdy programista ujawnia odwołanie do wewnętrznego obiektu implementacji, takiego jak plik, katalog lub klucz bazy danych. Bez kontroli dostępu lub innej ochrony osoby atakujące mogą manipulować tymi odwołaniami, aby uzyskać dostęp do nieautoryzowanych danych.
Solution - Należy wdrożyć specjalne mechanizmy ochrony, takie jak hasła, aby zabezpieczyć takie pliki.
Błędna konfiguracja zabezpieczeń
Dobre bezpieczeństwo wymaga zdefiniowania i wdrożenia bezpiecznej konfiguracji dla aplikacji, frameworków, serwera aplikacji, serwera WWW, serwera bazy danych i platformy. Należy zdefiniować, wdrożyć i utrzymywać bezpieczne ustawienia, ponieważ ustawienia domyślne są często niepewne.
Solution - Oprogramowanie powinno być aktualizowane.
Narażenie wrażliwych danych
Wiele aplikacji internetowych nie chroni odpowiednio poufnych danych, takich jak karty kredytowe, identyfikatory podatkowe i dane uwierzytelniające. Atakujący mogą kraść lub modyfikować takie słabo chronione dane w celu oszustwa związanego z kartami kredytowymi, kradzieży tożsamości lub innych przestępstw.
Solution - Wrażliwe dane zasługują na dodatkową ochronę, taką jak szyfrowanie w stanie spoczynku lub podczas przesyłania, a także specjalne środki ostrożności podczas wymiany z przeglądarką.
Brak kontroli dostępu na poziomie funkcji
Większość aplikacji internetowych sprawdza prawa dostępu na poziomie funkcji przed udostępnieniem tej funkcji w interfejsie użytkownika. Jednak aplikacje muszą wykonywać te same testy kontroli dostępu na serwerze, gdy uzyskuje się dostęp do każdej funkcji. Jeśli żądania nie zostaną zweryfikowane, osoby atakujące będą mogły fałszować żądania dostępu do funkcji bez odpowiedniej autoryzacji.
Solution - Powinieneś sprawdzić poziomy uwierzytelnienia.
Fałszerstwo żądań między lokacjami (CSRF)
Atak CSRF wymusza na przeglądarce zalogowanej ofiary wysłanie sfałszowanego żądania HTTP, w tym sesyjnego pliku cookie ofiary i wszelkich innych automatycznie dołączonych informacji uwierzytelniających, do podatnej na ataki aplikacji internetowej. Pozwala to atakującemu zmusić przeglądarkę ofiary do generowania żądań, które wrażliwa aplikacja uważa za uzasadnione żądania ofiary.
Solution - Najczęściej stosowaną profilaktyką jest dołączanie nieprzewidywalnych tokenów opartych na wyzwaniach do każdego żądania pochodzącego ze strony internetowej i powiązanie ich z sesją użytkownika.
Używanie komponentów ze znanymi lukami w zabezpieczeniach
Komponenty, takie jak biblioteki, frameworki i inne moduły oprogramowania, prawie zawsze działają z pełnymi uprawnieniami. W przypadku wykorzystania wrażliwego komponentu, taki atak może ułatwić poważną utratę danych lub przejęcie serwera. Aplikacje wykorzystujące komponenty ze znanymi lukami w zabezpieczeniach mogą osłabiać zabezpieczenia aplikacji i umożliwić szereg możliwych ataków i wpływów.
Solution - Sprawdź, czy ta wersja komponentu ma luki i spróbuj tego uniknąć lub zmienić za pomocą innej wersji.
Unieważnione przekierowania i przekierowania
Aplikacje internetowe często przekierowują i przekazują użytkowników do innych stron i witryn internetowych. Te aplikacje używają niezaufanych danych do określenia stron docelowych. Bez odpowiedniej weryfikacji osoby atakujące mogą przekierowywać ofiary do witryn wyłudzających informacje lub zawierających złośliwe oprogramowanie lub wykorzystywać przekierowania w celu uzyskania dostępu do nieautoryzowanych stron.
Solution - Zawsze sprawdzaj poprawność adresu URL.
Bezpieczne używane protokoły
Tak jest w przypadku, gdy masz plan VPS i wszystkim zarządzasz samodzielnie. Gdy usługi są instalowane, używają portów domyślnych. Ułatwia to pracę hakerowi, ponieważ wie, na co patrzeć.
Niektóre z głównych portów usług, które są używane do hostingu witryn internetowych, podano poniżej -
- SSH - port 22
- FTP - port 21
- MySQL - port 3306
- DNS - port 53
- SMTP - port 25
Zmiana portu tych usług różni się w zależności od systemu operacyjnego i jego różnych wersji. Oprócz tego musisz zainstalować zaporę ogniową. Jeśli jest to system operacyjny Linux, zalecamyIPtablesi zablokuj wszystkie inne niepotrzebne porty. Jeśli Twoim systemem operacyjnym jest Windows, możesz użyć wbudowanej zapory.
Aby zablokować logowanie siłowe w swoich usługach, możesz użyć Fail2ban, który jest oprogramowaniem opartym na systemie Linux i blokuje wszystkie adresy IP, co powoduje wiele nieudanych prób logowania.