Powrót do bloga

Poradnik konfiguracji serwera pocztowego: Jak używać Postfix, Dovecot, MySQL i SpamAssassin

Poradnik konfiguracji serwera pocztowego: Jak używać Postfix, Dovecot, MySQL i SpamAssassin

Wprowadzenie

W systemie Ubuntu 20.04, możesz użyć narzędzi takich jak Postfix, Dovecot, MySQL, oraz SpamAssassin do skonfigurowania serwera pocztowego. Proces ten może być mylący dla kogoś, kto próbuje tego po raz pierwszy. Ten poradnik ma na celu uproszczenie procesu konfiguracji serwera pocztowego dzięki szczegółowym krokom. Na końcu tego poradnika dowiesz się, jak dodawać wirtualne domeny, użytkowników i aliasy. Ostatecznie sprawisz, że Twój serwer wirtualny będzie bezpieczniejszy przed centrami spamu.

Wymagania wstępne

Zanim zaczniesz konfigurację serwera pocztowego, musisz zadbać o kilka wymagań wstępnych. Po pierwsze, upewnij się, że Twój wirtualny serwer prywatny posiada domenę, która przekierowuje na Twój serwer. Musisz również zainstalować i skonfigurować MySQL. Ponadto musisz posiadać użytkownika z przyznanymi uprawnieniami roota oraz zainstalować certyfikat SSL. Na koniec upewnij się, że Twój FQDN  jest skonfigurowany i zidentyfikowany.

Jeśli instalujesz pakiety jako użytkownik root, będziesz mieć wszystkie uprawnienia. Dlatego to zalecamy:

Wprowadź hasło użytkownika. W tym momencie zobaczysz, że symbol $ zmienia się na #. Następnie przyjrzyjmy się po kolei różnym aspektom konfiguracji.

Krok 1: Instalacja pakietów

Zaczniemy od nauki instalacji pakietów:

Gdy pojawi się okno konfiguracji Postfix, wybierz Internet Site:

Mail Server postfix config

Zostaniesz zapytany o poczty systemowej (System mail name). Tutaj możesz użyć FQDN lub domeny głównej:

postfix configuration 2

Krok 2: Tworzenie bazy danych MySQL, wirtualnych domen, użytkowników i aliasów

Następnie, po zainstalowaniu wszystkich pakietów, przejdziemy do konfiguracji. Naszym celem jest skonfigurowanie trzech tabel. Jedna będzie przeznaczona dla domen, jedna dla użytkowników i jedna dla aliasów. Będą one umieszczone w bazie danych MySQL, którą utworzymy.

Załóżmy, że chcemy nazwać naszą bazę danych servermail. Możesz użyć dowolnej wybranej nazwy. Oto jak ją utworzymy:

Musisz zalogować się jako użytkownik root MySQL:

Następnie wprowadź hasło. Pomyślna próba pokaże następujący wynik:

Następnie utworzymy nowego użytkownika specjalnie do uwierzytelniania poczty. Nadaj uprawnienie SELECT w następujący sposób:

Następnie przeładuj uprawnienia MySQL, aby pomyślnie zastosować zmiany:

Następnie użyjemy naszej bazy danych do utworzenia tabel i wprowadzenia danych:

Utworzymy poszczególne tabele dla konkretnych domen, które są rozpoznawane jako autoryzowane domeny:

Celem jest wprowadzenie użytkowników do tabeli. W związku z tym będziemy dodawać odpowiedni adres e-mail i hasło. Pamiętaj, że musisz powiązać każdego użytkownika z domeną:

Następnie utworzymy tabelę dla wszystkich naszych wirtualnych aliasów, aby określić wszystkie adresy e-mail, które będziemy przekazywać na inny adres e-mail:

Po zakończeniu tego procesu pomyślnie utworzysz trzy tabele. Następnie musimy wprowadzić dane.

  • Wirtualne domeny

W tej sekcji dowiemy się, jak wprowadzić domeny w tabeli virtual_domains . W szczególności skupimy się na tym, jak wprowadzić domenę główną (example.com) oraz FQDN (hostname.example.com):

  • Wirtualne e-maile

Następnie wprowadź adres e-mail i powiązane hasła dla każdej z domen. Upewnij się, że wszystkie informacje zostały zastąpione Twoimi własnymi danymi:

  • Wirtualne aliasy

Teraz możesz wprowadzić adres e-mail, na który będziesz przekazywać wiadomości z innego adresu e-mail. Pierwszy to źródło, podczas gdy drugi to cel:

Następnie możesz wyjść z MySQL:

Krok 3: Konfiguracja Postfix

Ważne jest, aby skonfigurować Postfix tak, aby mógł zarządzać połączeniami SMTP. Musi on również być w stanie wysyłać wiadomości do wszystkich użytkowników wprowadzonych do bazy danych MySQL. Zacznijmy od utworzenia kopii domyślnego pliku. Dzięki temu w razie potrzeby będzie można łatwo przywrócić domyślną konfigurację:

Teraz otwórz plik main.cf, aby go zmodyfikować:

Zacznij od zakomentowania parametrów TLS, a następnie dołącz pozostałe parametry. W naszym przykładzie używamy darmowych certyfikatów SSL. Oczywiście możesz zmienić konfigurację zgodnie ze swoimi wymaganiami:

Następnie dodasz te parametry poniżej ustawień TLS:

Następnie musimy zakomentować mydestination domyślne ustawienia. Następnie zastąpimy je localhost. Dzięki tej zmianie serwer VPS będzie mógł korzystać z wirtualnych domen w tabeli MySQL:

Teraz użyj tego polecenia, aby zweryfikować, czy myhostname parametr jest ustawiony w Twoim FQDN:

Dodatkowo dołącz tę linię, aby aktywować lokalne dostarczanie poczty do wszystkich wirtualnych domen wymienionych w tabeli:

Na koniec dodamy następujące parametry, aby poinstruować Postfix o konieczności skonfigurowania wirtualnych domen, użytkowników i aliasów:

Aby upewnić się, że nie ma błędów, porównaj te zmiany z następującym plikiem:

https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt

Po sprawdzeniu tego wszystkiego utworzysz trzy pliki, które zostaną dołączone do pliku main.cf . Celem jest przekazanie Postfixowi instrukcji, jak połączyć się z MySQL. Aby to zrobić, zaczniemy od utworzenia pliku mysql-virtual-mailbox-domains.cf pliku. Oczywiście w swoim pliku wprowadzisz zmiany zgodnie z własną konfiguracją:

Następnie zrestartuj Postfix:

Musisz upewnić się, że Postfix jest w stanie znaleźć Twoją domenę. Aby to przetestować, użyj tego polecenia:

Polecenie zwróci 1, jeśli zakończy się sukcesem. W takim przypadku możesz przejść do utworzenia pliku mysql-virtual-mailbox-maps.cf pliku:

Ponownie zrestartuj Postfix:

Ponownie upewnimy się, że Postfix jest w stanie znaleźć pierwszy adres e-mail. Aby to przetestować, użyj następującego polecenia:

Jeśli operacja się powiedzie, w odpowiedzi otrzymasz wynik 1. W związku z tym przejdziemy do utworzenia ostatniego pliku:

To kończy konfigurację między Postfix a MySQL. Uruchom ponownie Postfix, aby zastosować:

Aby potwierdzić, że Postfix rzeczywiście znajduje Twoje aliasy, użyj tego polecenia:

W idealnym przypadku powinieneś otrzymać jako wynik wiadomość e-mail przekierowaną na alias. Możesz również zmodyfikować plik /etc/postfix/master.cf w ten sposób, jeśli chcesz bezpiecznie połączyć port 587 z klientami poczty e-mail:

Oto jak odkomentować niektóre linie i dołączyć parametry:

Czasami może być konieczne ponowne uruchomienie Postfix, aby potwierdzić, że port jest otwarty:

To narzędzie może być również użyte do skanowania portów domeny. Możesz go użyć do zweryfikowania, czy porty 25 i 587 są otwarte.

Krok 4: Konfiguracja Dovecot

Teraz nadszedł czas na konfigurację Dovecot. W tej sekcji będziemy musieli skopiować 7 plików, które chcesz zmodyfikować. Ma to na celu zapewnienie możliwości przywrócenia zmian w razie potrzeby. Wprowadź te polecenia jedno po drugim:

Musisz edytować plik konfiguracyjny Dovecot:

Upewnij się, że opcja jest odkomentowana:

Następnie włączymy protokoły poniżej linii !include_try /usr/share/dovecot/protocols.d/*.protocol . Jeśli chcesz, możesz również dodać pop3:

Aby upewnić się, że nie ma błędów, porównaj go z tym plikiem:

https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt

Następnie edytuj plik konfiguracji poczty:

Zlokalizuj linię mail_location . Musisz ją odkomentować i dodać ten parametr:

Następnie zlokalizuj linię mail_privileged_group . Ponownie odkomentuj ją i dodaj parametr mail:

Aby wyeliminować jakąkolwiek możliwość błędów, porównaj go z tym plikiem:

https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt

  • Weryfikacja uprawnień

Aby zweryfikować uprawnienia, użyj tego polecenia:

Upewnij się, że Twoje uprawnienia wyglądają następująco:

Możesz utworzyć folder dla każdej domeny. Wszystkie te foldery zostaną zarejestrowane w tabeli MySQL:

Utwórz użytkownika i grupę vmail, używając identyfikatora 5000:

Następnie musisz zmienić właściciela /var/mail folderu na użytkownika vmail:

Teraz edytuj plik /etc/dovecot/conf.d/10-auth.conf :

Dodaj następującą linię po odkomentowaniu uwierzytelniania otwartym tekstem:

Użyj tego, aby zmodyfikować auth_mechanisms parametr:

Teraz zakomentuj tę linię:

Aby włączyć autoryzację MySQL, musisz odkomentować następującą linię:

Aby wykryć i edytować błędy, użyj następującego pliku:

https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt

Utworzenie pliku /etc/dovecot/dovecot-sql.conf.ext z Twoimi informacjami pozwoli Ci na uwierzytelnienie:

Wprowadź ten kod w pliku:

Użyjemy naszych niestandardowych informacji MySQL, aby zmodyfikować plik /etc/dovecot/dovecot-sql.conf.ext :

Usetaw MySQL jako parametr po odkomentowaniu parametru driver w ten sposób:

Możesz wprowadzić swoje specyficzne informacje MySQL, odkomentowując linię connect :

Teraz musisz odkomentować linię default_pass_scheme i zmienić ją na SHA-512:

Dodaj następujące informacje po odkomentowaniu password_query:

Aby wykryć błędy, użyj tego pliku do porównania:

https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt

Następnie możesz zmienić właściciela i grupę folderu dovecot na użytkownika vmail:

Kolejnym krokiem jest modyfikacja pliku /etc/dovecot/conf.d/10-master.conf . Musisz tutaj zachować szczególną ostrożność, ponieważ zmienione zostaną różne parametry:

Użyj poniższego kodu, aby zmienić parametr unix_listener na service_auth:

Następnie musisz edytować service auth-worker w następujący sposób:

Wykryj błędy, porównując z tym plikiem:

https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt

Kolejnym krokiem jest modyfikacja pliku konfiguracyjnego SSL z Dovecot. Jeśli planujesz użyć domyślnej konfiguracji, możesz pominąć ten krok i przejść do następnej sekcji:

Następnie zmień parametr ssl na required w ten sposób:

Zmodyfikujemy również ścieżkę zarówno dla ssl_cert jak i ssl_key:

Zrestartuj Dovecot:

Upewnij się, że port 993 jest otwarty. Jeśli włączyłeś pop3, sprawdź również port 995:

Jeśli wykonałeś kroki do tego momentu, gratulacje! Pomyślnie skonfigurowałeś swój serwer pocztowy. Aby upewnić się, że wszystkie kroki zostały wykonane poprawnie, możesz przetestować swoje konto za pomocą klienta pocztowego w ten sposób:

Port 993 jest używany do bezpiecznego IMAP, a port 587/port 25 dla SMTP.

Step 5: Configuring SpamAssassin

Dotarliśmy wreszcie do ostatniej sekcji samouczka, w której skonfigurujemy SpamAssassin. Zaczniemy od instalacji SpamAssassin:

Utwórz użytkownika dla SpamAssassin w ten sposób:

Musisz otworzyć i zmodyfikować ustawienia konfiguracyjne, aby móc skonfigurować SpamAssassin:

Skoro już tu jesteś, musisz zmienić ENABLED parametr, aby włączyć demona SpamAssassin:

Zmodyfikuj parametry home i options za pomocą tego kodu:

Użyj tej linii, aby określić parametr PID_File :

Następnie użyj tego polecenia, aby wskazać, że reguły SpamAssassin będą aktualizowane automatycznie:

Sprawdź, czy nie ma błędów, porównując z poniższym dokumentem:

https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt

Jeśli chcesz skonfigurować reguły antyspamowe, musisz otworzyć plik /etc/spamassassin/local.cf ponownie:

Działanie SpamAssassin polega na ocenianiu każdej wiadomości e-mail otrzymanej przez użytkownika. Ocenia on punkty dla wiadomości e-mail i jeśli wynik testu antyspamowego jest wyższy niż 5.0, wiadomość jest oznaczana jako spam. Oto parametry, których możesz użyć do skonfigurowania tych reguł antyspamowych:

Po skonfigurowaniu reguł antyspamowych należy poinformować serwer Postfix, że każda wiadomość e-mail ma być sprawdzana za pomocą programu SpamAssassin. W tym celu musimy zmodyfikować /etc/postfix/master.cf plik:

Znajdź następujący wiersz i dodaj spamassassin filtr:

Teraz możesz dołączyć następujące parametry:

Na koniec uruchom SpamAssassin i zrestartuj Postfix, aby zastosować zmiany. Po ponownym uruchomieniu Postfix zacznie weryfikować spam w wiadomościach e-mail:

I to wszystko! Pomyślnie skonfigurowałeś swój serwer pocztowy za pomocą Postfix i Dovecot. Przeprowadziłeś również uwierzytelnianie MySQL i skonfigurowałeś filtrowanie spamu za pomocą SpamAssassin.

Podsumowanie

Ten poradnik opisuje kroki, które należy wykonać, aby skonfigurować serwer pocztowy za pomocą wyżej wymienionych narzędzi. Może on posłużyć jako kompleksowy przewodnik do samodzielnego skonfigurowania serwera pocztowego. Jeśli interesuje Cię korzystanie z funkcji serwera SMTP Google, postępuj zgodnie z tym poradnikiem.

Miłego korzystania!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.