Serwer poczty na FreeBSD 13 (cz. 8): Roundcube, Fail2Ban, uruchomienie i testy
Ochronę poczty mamy gotową (część 7). W finale serii stawiamy webmail Roundcube, dokładamy Fail2Ban, uruchamiamy wszystkie usługi i testujemy cały system — lokalnie i zdalnie.
📅 Wersje z epoki (2021). Testy i narzędzia (mail‑tester, SSLLabs, mxtoolbox itd.) pochodzą z projektu z 2021 r.
Roundcube (webmail)
Roundcube kompilujemy z opcjami MySQL i Pspell (sprawdzanie pisowni):


Importujemy schemat bazy i kopiujemy pliki konfiguracyjne:
# import schematu do bazy roundcube
mysql roundcube < /usr/local/www/roundcube/SQL/mysql.initial.sql

Konfigurujemy połączenie z bazą i ustawienia w config/config.inc.php, a także wtyczki managesieve (filtry) i password (zmiana hasła przez webmail):




Uruchomienie usług i testy lokalne
Uruchamiamy Dovecota i Postfixa:
service dovecot start
service postfix start

Testujemy lokalnie połączenia do poszczególnych portów:





Sprawdzamy panele webowe — w PostfixAdmin dodajemy domenę projekt.brylka.net i konto brylka@projekt.brylka.net:



Fail2Ban
Instalujemy Fail2Ban z pakietów:

⚠️ Przy konfiguracji firewalla na zdalnej maszynie (bez fizycznego dostępu) trzeba być ostrożnym — jedna nieprzemyślana komenda może odciąć dostęp. Dlatego reguły wykonuję „z palca”, bez dodawania firewalla do startu — ewentualną pomyłkę naprawi zdalny „hard reset”.
service fail2ban onestart # uruchomienie i sprawdzenie statusu
Dodajemy reguły firewalla w /etc/ipfw.conf, ładujemy je i weryfikujemy:
sh /etc/ipfw.conf
ipfw list
Konfigurujemy jaila dla SMTP (analogicznie pilnujemy pozostałych usług):


Po weryfikacji włączamy firewall i Fail2Ban przy starcie systemu (/etc/rc.conf):
firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
fail2ban_enable="YES"Testy usług (zdalnie)
SSH
Połączenie realizuję programem PuTTY (przez cały czas konfiguracji):

MySQL





HTTP i HTTPS
Wejście na http://projekt.brylka.net przekierowuje na https://:



SMTP
Najpierw test Open Relay — serwer przeszedł pozytywnie (nie jest otwartym przekaźnikiem):


Konfiguruję klienta Mailbird i wysyłam testową wiadomość do mail-tester.com:




Kilka punktów odjęto za zbyt skąpą treść (reguły SpamAssassina) oraz brak DKIM/DMARC. Konfiguracja DMARC jest uciążliwa (wymaga osobnej skrzynki na raporty i wysyłania statystyk co 24 h), a brak tych mechanizmów nie wpływa znacząco na dostarczalność — dlatego nie zostały tu wdrożone.
POP3 i IMAP


Konfiguruję Mailbird do obsługi konta przez IMAP:



Fail2Ban
Generuję trzy nieudane próby wysyłki (smtper.net) — po trzeciej Fail2Ban blokuje adres IP, a kolejna próba kończy się przekroczeniem czasu:




Podsumowanie
System pocztowy oparty o Postfix i Dovecot został skonfigurowany poprawnie, co potwierdziły testy. Konfiguracja jest dość pracochłonna — szczególnie przez współdzielenie danych autoryzacyjnych przez oba serwery oraz liczne zadania MTA (przekazywanie poczty, autoryzacja, detekcja spamu, sprawdzanie baz RBL).
Oba serwery współpracują z bazą MySQL — to ułatwia administrację użytkownikami (edycja wpisów w bazie zamiast plików konfiguracyjnych). Do zarządzania kontami użyłem PostfixAdmin, a dla wygody użytkowników — webmaila Roundcube.
Aby w pełni dopiąć system, warto jeszcze dodać: DKIM i DMARC, greylisting oraz limitowanie poczty wychodzącej.
To koniec serii odtwarzającej mój projekt z 2021 r. Nową wersję — z aktualnym stackiem i wersjami — przygotowuję osobno. Pełny PDF źródłowy pobierzesz z wpisu: Instalacja i konfiguracja serwera pocztowego. Cała seria zaczyna się od części 1: architektura i komponenty.