N1 Nex1on

Bezpieczeństwo strony w jeden wieczór: 10 kroków, które sprawdzisz sam

Hasła, logowanie dwuetapowe, HTTPS, nagłówki, adres panelu, uprawnienia, kopie zapasowe i spam: każdy krok to trzy linijki: co zrobić, jak samemu to sprawdzić i co się stanie, jeśli go pominiesz. Bez straszenia.

Małe strony rzadko włamuje ktoś, kto poluje właśnie na Ciebie. Robią to boty, które całymi dniami sprawdzają te same słabe punkty: krótkie hasła, stare wersje, panel administracyjny pod domyślnym adresem, otwartą rejestrację. Zamknij te punkty, a Twoja strona przestanie być łatwym celem. Poniżej dziesięć kroków na jeden wieczór. Każdy ma trzy linijki: co zrobić, jak samemu to sprawdzić (ekran lub polecenie) i co się stanie, jeśli go pominiesz.

To nie jest lista „kliknij wszystko”: kroki są od siebie niezależne, rób je po kolei. Część pracy silnik wykonuje sam: na przykład wysyła przeglądarce nagłówki bezpieczeństwa (krok 5), więc wystarczy się upewnić, że docierają.

Twój panel kontrolny: „Ochrona witryny” #

Otwórz „System → Bezpieczeństwo → Ochrona witryny”. To jeden ekran, który pokazuje, co jest w porządku, co warto zaostrzyć, a co jest źle. Każdy wiersz sam się objaśnia i prowadzi do miejsca, w którym się go poprawia. Prawie każdy z poniższych kroków sprawdza wiersz na tym ekranie.
Ekran „Ochrona witryny” na nowej stronie: wiersze dobre, dyskusyjne i złe. HTTPS jest czerwony, bo strona jest otwarta na stanowisku testowym bez szyfrowania; na stronie z certyfikatem będzie zielony
Ekran „Ochrona witryny” na nowej stronie: wiersze dobre, dyskusyjne i złe. HTTPS jest czerwony, bo strona jest otwarta na stanowisku testowym bez szyfrowania; na stronie z certyfikatem będzie zielony

To podpowiedź, a nie wyrok: liczby są liczone na bieżąco z danych Twojej strony.

Krok 1. Aktualizacje #

Co zrobić. Otwórz „System → Aktualizacje” (stronę widzą osoby z uprawnieniem do ustawień serwisu: właściciel i administratorzy) i zaktualizuj, jeśli jest nowa wersja. Przed aktualizacją zrób kopię zapasową bazy danych (krok 8): silnik robi ją sam, ale ręczna kopia nic nie kosztuje. Jak sprawdzić. Ta sama strona pokazuje, jaką masz wersję i czy jest nowsza. Zaglądaj tam raz w tygodniu, tak jak sprawdzasz zamówienia czy pocztę. Jeśli pominiesz. Luki, które w nowej wersji są już zamknięte, na Twojej stronie pozostają otwarte, a wszyscy o nich wiedzą: poprawka jest publikowana razem z opisem błędu.

Krok 2. Hasło i odgadywanie haseł #

Co zrobić. W „Ustawienia serwisu → Logowanie i użytkownicy → Rejestracja i użytkownicy” ustaw „Minimalna długość hasła” na 10 znaków lub więcej (to wartość domyślna). Sama długość nie ratuje, ale silnik osobno odrzuca oczywiste hasła. Następnie w „Bezpieczeństwo → Logowanie i sesje” upewnij się, że „Próby logowania” to nie więcej niż dziesięć. Domyślnie jest to pięć nieudanych prób, po których logowanie na to konto zostaje zamknięte na 15 minut (czas ustawia się w „Czas blokady, minuty”), a bot uderza w limit. Jak sprawdzić. Na ekranie „Ochrona witryny” wiersze „Długość hasła” i „Blokada po nieudanych logowaniach” powinny pokazywać „Dobrze”. Jeśli pominiesz. Krótkie hasła i nieograniczona liczba prób sprawiają, że odgadnięcie hasła to tylko kwestia czasu. To najprostszy sposób włamania, a zamykają go dwie liczby.

Krok 3. Logowanie dwuetapowe #

Co zrobić. We własnym profilu włącz drugi krok („Włącz 2FA”): kod z aplikacji w telefonie potwierdza logowanie. Zapisz „Kody zapasowe”: każdy działa raz i przydadzą się, jeśli zgubisz telefon. Potem poproś o to samo każdego administratora. Gdy wszyscy się przyzwyczają, w „Ustawienia serwisu → Logowanie i użytkownicy → Bezpieczeństwo → Dostęp do panelu” przełącz „Ochrona dwuskładnikowa” z „Zalecaj” na „Wymagaj od administratorów”. To Cię nie zablokuje: silnik odsyła każdego, kto nie ma jeszcze drugiego kroku, do jego profilu, aby go włączył, a profil jest zawsze dostępny. Nie ma się więc czego bać. Jak sprawdzić. Wiersz „Logowanie dwuetapowe administratorów” na ekranie „Ochrona witryny”; lista „Użytkownicy” ma filtr „Logowanie dwuetapowe”, który pokazuje, kto wciąż ma je wyłączone. Jeśli pominiesz. Hasło może zostać skradzione nie Tobie, ale z jakiegoś innego serwisu, w którym użyłeś tego samego. Wtedy bez drugiego kroku droga do panelu stoi otworem.

Krok 4. Szyfrowane połączenie (HTTPS) #

Co zrobić. Upewnij się, że strona ma certyfikat i otwiera się przez https://. Dopiero wtedy w „Ustawienia serwisu → Logowanie i użytkownicy → Bezpieczeństwo → Połączenie” włącz „Tylko bezpieczne połączenie (https)”. Nie włączaj tego bez certyfikatu: przekierowanie wysłałoby odwiedzających donikąd. Jak sprawdzić. Otwórz stronę pod adresem zaczynającym się od http://: przeglądarka powinna przejść na https://. To samo w wierszu poleceń:
Bash
curl -I http://example.com
Oczekuj kodu 301 lub 302 i linii Location: https://example.com/. Wiersz „Szyfrowane połączenie (HTTPS)” na ekranie „Ochrona witryny” powinien pokazywać „Dobrze”. Jeśli pominiesz. Hasła i sesje przesyłane są otwartym tekstem: w cudzej publicznej sieci obca osoba może je odczytać.

Krok 5. Nagłówki bezpieczeństwa #

Co zrobić. Prawie nic: silnik wysyła je sam. Twoje zadanie to upewnić się, że serwer pośredniczący lub hosting przed stroną ich nie usuwa. Jak sprawdzić.
Bash
curl -I https://example.com
Odpowiedź powinna zawierać takie linie:
  • X-Content-Type-Options: nosniff: przeglądarka nie zgaduje typu pliku;
  • X-Frame-Options: SAMEORIGIN (na niektórych stronach DENY) oraz, w Content-Security-Policy, frame-ancestors 'self': inna strona nie może umieścić Twojej strony w ramce;
  • Referrer-Policy: strict-origin-when-cross-origin: zbędne części adresu nie wychodzą poza stronę;
  • Permissions-Policy: kamera, mikrofon i geolokalizacja są wyłączone, dopóki nie są potrzebne;
  • Strict-Transport-Security: max-age=31536000 przez https: przeglądarka zapamiętuje, by korzystać wyłącznie z bezpiecznego połączenia.
Ocenę możesz też zobaczyć w publicznym teście Mozilla Observatory (developer.mozilla.org/en-US/observatory). Nie goń za najwyższą oceną: test nie widzi ani przestarzałego oprogramowania, ani słabych haseł i nie zastępuje sprawdzenia. Jeśli pominiesz. Nic nie zepsuje się od razu: te nagłówki tylko mówią przeglądarce, czego zabronić. Ale im jest ich więcej, tym rzadziej błędy w innych miejscach zamieniają się w problem.

Krok 6. Adres panelu i dostęp według adresów #

Co zrobić. W „Ustawienia serwisu → Logowanie i użytkownicy → Bezpieczeństwo → Dostęp do panelu” wpisz „Własny adres panelu” (litery łacińskie, cyfry, łącznik); wymyśl własny, nie kopiuj przykładu z obrazka poniżej. Zapisz go obok hasła. Pole „Dopuszczaj do panelu tylko z tych adresów” jest tylko dla tych, którzy mają stały adres (na przykład biuro z własnym adresem): z innych adresów panel odpowiada „nie ma takiej strony”. Adres domowy lub komórkowy zwykle się zmienia i wtedy sam zostajesz za drzwiami: listy bez Twojego obecnego adresu nie da się zapisać, ale jutro adres może być już inny. Bez panelu ograniczenie można zdjąć tylko poleceniem php nex1on admin:access na serwerze. Bez dostępu do konsoli serwera i bez stałego adresu lepiej tego pola nie włączać.
Ustawienia „Bezpieczeństwo → Dostęp do panelu”: własny adres panelu, lista adresów i ochrona dwuskładnikowa
Ustawienia „Bezpieczeństwo → Dostęp do panelu”: własny adres panelu, lista adresów i ochrona dwuskładnikowa

Jak sprawdzić. Otwórz nowy adres: powinno pojawić się logowanie. Stary /admin powinien odpowiadać „nie ma takiej strony” (404). Odzwierciedlą to wiersze „Adres panelu administracyjnego” i „Dostęp do panelu według adresów” na ekranie „Ochrona witryny”.
Jeśli pominiesz. Nic strasznego się nie stanie, ale boty najpierw znajdują panel pod domyślnym adresem, a szumu w dzienniku przybywa. Własny adres nie zastępuje hasła ani logowania dwuetapowego, tylko zdejmuje Cię z listy łatwych celów.

Krok 7. Kto co może i kto się rejestruje #

Co zrobić. Otwórz „Użytkownicy i dostęp → Użytkownicy” i zobacz, kto ma jaką rolę. Administratorem powinien być ten, kto potrzebuje tego na co dzień; redaktorowi wystarczy rola redaktora. Jeśli nie potrzebujesz rejestracji odwiedzających, wyłącz „Zezwalaj na rejestrację” w „Ustawienia serwisu → Logowanie i użytkownicy → Rejestracja i użytkownicy”; jeśli potrzebujesz, zostaw włączone „Wymagaj potwierdzenia adresu e-mail”. Jak sprawdzić. Lista „Użytkownicy” i rola każdej osoby; wiersz „Rejestracja odwiedzających” na ekranie „Ochrona witryny”. Jeśli pominiesz. Zbędne uprawnienia zamieniają czyjś błąd lub skradzione hasło w duży problem. Otwarta rejestracja bez potwierdzenia e-mail pozwala każdemu zakładać konta na cudze adresy.

Krok 8. Kopie: baza danych i poza stroną #

Co zrobić. Zrób kopię bazy danych w „System → Kopie i przenoszenie → Kopie zapasowe bazy danych” i ustaw automatyczną. Skonfiguruj „Kopie w innym miejscu” (zaszyfrowaną kopię poza serwerem): jeśli hosting zniknie, kopia leżąca obok strony zniknie razem z nim. Więcej o kopiach zapasowych i przenoszeniu: „Kopie zapasowe i przenoszenie strony Nex1on”. Folder z przesłanymi plikami kopiuje się osobno (przez FTP): nie wchodzi w skład kopii bazy danych. Jak sprawdzić. Na liście „Istniejące kopie zapasowe” powinna być świeża kopia. Dla kopii w innym miejscu kliknij „Sprawdź połączenie”, a gdy dotrze pierwsza kopia, otwórz ją na swoim komputerze i zaznacz „Otworzyłem kopię u siebie, klucz działa”. Jeśli pominiesz. To jedyny krok, w którym błędu nie da się później naprawić: utraconych wpisów i zamówień nic już nie przywróci.

Krok 9. Spam i klucze API #

Co zrobić. W „Bezpieczeństwo → Strażnik spamu” zostaw tryb ścisły (domyślny). W „Integracje → Klucze dostępu (API)” unieważnij klucze, których nikt nie używa: potrzebny klucz można wydać ponownie, a zapomniany pozostaje otwartymi drzwiami. Jak sprawdzić. Wiersze „Strażnik spamu” i „Klucze API” na ekranie „Ochrona witryny”: drugi przypomina o kluczach nieużywanych od ponad 90 dni. Jeśli pominiesz. Spam zapełnia Twoje formularze, a zapomniany klucz może latami pozostawać dostępem, o którym wszyscy zapomnieli.

Krok 10. Dwie minuty w tygodniu #

Co zrobić. Raz w tygodniu otwórz „Ochrona witryny” i „Bezpieczeństwo → Zdarzenia bezpieczeństwa”. To zajmuje dwie minuty: nie musisz czytać dziennika, wystarczy zobaczyć, że wiersze są zielone, a nieudanych logowań nie przybyło wyraźnie. Jak sprawdzić. Wiersz „Nieudane logowania w dobę”: „Dobrze”, dopóki jest ich mniej niż trzydzieści. Wiele logowań z jednego adresu można zablokować w „Bezpieczeństwo → Blokowanie adresów”. Jeśli pominiesz. O problemie dowiesz się od odwiedzających, a nie od strony.

Czego ta lista nie robi #

Zmniejsza ryzyko, ale nie usuwa go całkowicie. Nie ochroni przed błędem w zewnętrznym module ani w oprogramowaniu hostingu i nie zastępuje kopii zapasowej. W razie wątpliwości skonsultuj się ze specjalistą, zwłaszcza gdy strona przechowuje płatności lub cudze dane osobowe.
Udostępnij: Telegram WhatsApp

Przeczytaj też

Dyskusja

Komentarze

Dyskusja jeszcze się nie zaczęła

Nikt jeszcze nie skomentował. Bądź pierwszy.

Zgłoś ten wpis