Aktualizacja BSNM – Szyfrowanie poczty i start prac nad Panelem Hostingowym (22.09.2026)

Kolejne dni wytężonej pracy nad systemem BSNM przyniosły realizację zapowiadanych celów oraz otwarcie zupełnie nowego, najważniejszego rozdziału w historii projektu. Po ustabilizowaniu usług sieciowych, główny nacisk został przeniesiony na bezpieczeństwo transmisji oraz budowę fundamentów pod dedykowany system zarządzania serwerem.

Poniżej techniczne podsumowanie najnowszych wdrożeń.

Szyfrowanie poczty – Pełna integracja Let’s Encrypt

Zgodnie z zapowiedzią z poprzedniego wpisu, faza testowa serwera pocztowego została pomyślnie zakończona. Kolejnym krokiem było wdrożenie zautomatyzowanego mechanizmu pozyskującego i odnawiającego certyfikaty SSL od Let’s Encrypt.
Proces ten został zintegrowany z instalatorem BSNM. Wdrożona konfiguracja zapewnia teraz najwyższy standard szyfrowania ruchu dla usług pocztowych. Protokoły IMAPS, POP3S, SMTPS oraz STARTTLS działają w oparciu o silne klucze kryptograficzne, a proces ich odnawiania odbywa się całkowicie w tle, bez konieczności jakiejkolwiek ręcznej ingerencji administratora.

Start budowy Panelu Hostingowego BSNM – Założenia i Architektura

Rynek pełen jest ociężałych paneli hostingowych, które instalują w systemie setki niepotrzebnych zależności. BSNM idzie w zupełnie innym kierunku – ma być ekstremalnie lekki, bezpieczny z założenia i w pełni zintegrowany z natywnymi mechanizmami FreeBSD. Rozpocząłem właśnie pisanie jego kodu.

Architektura panelu została zaprojektowana w modelu asynchronicznym, z twardym podziałem na interfejs (Frontend) i system wykonawczy (Backend):

  • Frontend (Lekkość i szybkość): Zrezygnowałem z ciężkich frameworków JavaScript. Interfejs użytkownika (napisany w PHP) opiera się na technologii HTMX, która pozwala na asynchroniczne odświeżanie fragmentów strony z prędkością aplikacji SPA (Single Page Application), ale bez obciążania przeglądarki. Za warstwę wizualną odpowiada minimalistyczny framework Pico.css – lekki, semantyczny grid, idealnie pasujący do surowego, technicznego charakteru projektu.
  • Baza danych (SQLite + nullfs): Konfiguracja panelu i zlecenia zadań nie trafiają do ciężkich baz SQL. Są zapisywane w lekkim pliku SQLite, który spoczywa bezpiecznie na głównym hoście, a do klatek z panelem podmontowany jest bezpośrednio w trybie read/write przez nullfs.
  • Backend (Bezpieczeństwo asynchroniczne): To najważniejsze założenie bezpieczeństwa BSNM. Klatka WWW z panelem PHP nie posiada żadnych uprawnień root, nie wykonuje skryptów powłoki ani nie modyfikuje systemu. Jej jedynym zadaniem jest zapisywanie zleceń użytkownika do bazy SQLite.

Właściwą pracę wykona natywny demon napisany w C++, działający bezpośrednio na hoście. To on będzie pełnił rolę „watchera” (obserwatora). Zauważy zmianę w bazie SQLite i dopiero wtedy, korzystając z uprawnień systemowych, wykona odpowiednie akcje: założy limity przestrzeni ZFS (ZFS quotas), wygeneruje nowe klatki, czy skonfiguruje środowiska chroot dla SFTP i użytkowników bez dostępu do powłoki (non-root users).

Co dalej?

Obecnie zaimplementowałem już strukturę logowania do panelu oraz mechanizm wymuszania zmiany domyślnych danych autoryzacyjnych. W najbliższych dniach skupię się na zaprogramowaniu logiki wspomnianego demona C++. Kiedy system wykonawczy będzie gotowy i zacznie poprawnie komunikować się z bazą SQLite, przejdę do wdrażania pierwszych modułów zarządzania usługami bezpośrednio w interfejsie HTMX.

Bsnm admin home
Bsnm admin monitor
Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.