W minionym tygodniu prace nad projektem BSNM skupiły się na trzech kluczowych filarach: podniesieniu poziomu cyberbezpieczeństwa serwera webowego, modularyzacji procesu instalacji oraz wdrożeniu kompletnego środowiska NAS. Poniżej znajduje się szczegółowe podsumowanie wdrożonych rozwiązań.
Zaawansowana ochrona warstwy aplikacyjnej (L7) dzięki CrowdSec
Zakończyłem integrację logów serwera Nginx z silnikiem CrowdSec. Oznacza to, że system nie tylko chroni warstwę sieciową, ale aktywnie analizuje ruch na stronach WWW (hosting). Serwer potrafi teraz w czasie rzeczywistym identyfikować i blokować złośliwy ruch HTTP/HTTPS.
Aby optymalnie zarządzać blokadami (banami), wdrożyłem niestandardową politykę czasową. Zamiast uniwersalnego czasu blokady, system kategoryzuje rodzaj ataku i przydziela odpowiednią karę, co pozwala skutecznie chronić serwer bez ryzyka trwałego blokowania rotujących adresów IP (np. z sieci komórkowych).
Nowa polityka retencji blokad:
720 godzin (30 dni) – Skanery podatności i luki bezpieczeństwa: Najsurowsza kara nakładana za próby wstrzyknięcia złośliwego kodu, szukanie ukrytych interfejsów administracyjnych czy wykorzystywanie znanych podatności (np. ataki na luki typu CVE, wtyczki WordPress, luki w urządzeniach sieciowych).
168 godzin (7 dni) – Ataki typu Brute-Force (SSH): Blokada nakładana za natarczywe oraz powolne (slow brute-force) próby odgadnięcia haseł do konsoli serwera.
48 godzin (2 dni) – Szum internetowy i niechciane boty: Krótsza blokada dla agresywnych skanerów szukających nieistniejących plików (HTTP probing) oraz zapytań z podejrzanymi nagłówkami (Bad User-Agent).
Optymalizacja zasobów – skrypt firewall dla Nginx (HTTP 444)
Oprócz analizy logów przez zewnętrzny silnik, warstwa samego serwera WWW została wzbogacona o natywny skrypt filtrujący agresywne boty (tzw. crawlery). Zamiast przetwarzać ich zapytania i zwracać błędy typu 403 (Forbidden) lub 404 (Not Found), Nginx został skonfigurowany do zwracania specyficznego kodu 444 (No Response).
W praktyce oznacza to natychmiastowe zerwanie połączenia TCP bez wysyłania jakichkolwiek nagłówków zwrotnych. Rozwiązanie to drastycznie zmniejsza zużycie procesora, pamięci RAM oraz transferu podczas zmasowanego skanowania serwera. (Funkcja opcjonalna).
Modularyzacja instalatora – Ty wybierasz, czego potrzebujesz
Architektura BSNM została przebudowana pod kątem elastyczności. Skrypt instalacyjny przed rozpoczęciem wdrożenia pyta o pożądany profil serwera. Obecnie wspierane są trzy tryby:
- Środowisko Hostingowe: Instaluje i konfiguruje pełen stack pod strony WWW (Nginx, baza danych MySQL, Redis Cache).
- Serwer NAS (Magazyn danych): Koncentruje się wyłącznie na udostępnianiu przestrzeni dyskowej.
- Hybryda: Instaluje połączone funkcjonalności hostingu i serwera NAS.
Dzięki temu serwery o ograniczonych zasobach sprzętowych nie muszą utrzymywać procesów, z których użytkownik nie zamierza korzystać.
Bezpieczny serwer NAS ukryty w tunelu WireGuard
Dla użytkowników wybierających profil NAS, przygotowałem w pełni zautomatyzowany skrypt wdrażający usługi udostępniania plików z wykorzystaniem protokołów:
- SMB – oferuje bardzo szybki transfer, zalecany w sieciach lokalnych oraz w sieciach zewnętrznych, gdy połączenie zestawiane jest w niewielkiej odległości od serwera.
- SFTP – zapewnia stabilny i bezpieczny transfer plików, zalecany głównie w sieciach zewnętrznych, gdy łączenie następuje z większej odległości i przy wyższych opóźnieniach.
Kluczowym elementem w architekturze jest całkowita izolacja tych usług od publicznego internetu. Serwer NAS nie wystawia żadnych portów na zewnątrz. Aby uzyskać dostęp do swoich plików, użytkownik musi najpierw zestawić zaszyfrowane połączenie przez tunel WireGuard. Zastosowanie takiego modelu sieciowego (Zero-Trust) całkowicie eliminuje ryzyko ataków ransomware oraz podsłuchu transferowanych danych z zewnątrz.
Opcjonalne szyfrowanie zasobów dyskowych (Data-at-Rest)
Uzupełnieniem funkcjonalności modułu NAS jest wprowadzona możliwość całkowitego zaszyfrowania katalogu z danymi w spoczynku. Opcja ta została stworzona z myślą o podmiotach operujących na danych szczególnie wrażliwych – takich jak kancelarie prawnicze, biura rachunkowe czy placówki medyczne.
Zastosowanie szyfrowania daje gwarancję, że w przypadku fizycznej kradzieży nośnika (dysku), pliki pozostaną absolutnie niemożliwe do odczytania dla osób niepowołanych. Ponieważ system wykorzystuje nowoczesne algorytmy kryptograficzne wspomagane sprzętowo, dodatkowy narzut na procesor podczas operacji zapisu i odczytu jest marginalny – wynosi zaledwie około 2-3% i nie wpływa odczuwalnie na płynność działania serwera.