Chciałbym pozbyć się Google jako dostawcy poczty e-mail i skonfigurować kompletne rozwiązanie poczty e-mail na moim serwerze dedykowanym. Problem: Chciałbym, aby konfiguracja była tak prosta, jak to możliwe, aby nie było problemu z ponownym skonfigurowaniem wszystkiego, jeśli wystąpi problem.
Wymagania wstępne
- Tylko jedno konto użytkownika na komputerze.
- (name
diti
; główny e-mail[email protected]
; przekierowywane są inne aliasy, ale klient e-mail może zarządzać różnymi aliasami i odpowiednio reagować)
- (name
- Najlepiej nie używa MySQL.
- (w przypadku tworzenia kopii zapasowych i przywracania danych oraz dla uproszczenia lepiej jest, jeśli nie trzeba instalować i zabezpieczyć MySQL przed uzyskaniem funkcjonalnego serwera e-mail)
- Dostęp do poczty e-mail (IMAP i SMTP) można uzyskać z zewnątrz.
- Szyfrowanie SSL / TLS do uwierzytelniania IMAP i SMTP (używam certyfikatów CAcert , czy to ma znaczenie?).
Uważam, że prostota, dostęp IMAP / SMTP i bezpieczne uwierzytelnianie to „podstawowe” funkcje, które każdy chciałby opuścić Google / cokolwiek innego, chciałby. Jeśli się mylę i istnieje prostsze rozwiązanie (na przykład rozwiązanie typu ownCloud, ze wszystkim zawartym), chętnie to usłyszę.
Myślę, że połączenie Postfix i Dovecot byłoby dobrym rozwiązaniem. Nawiasem mówiąc, używam Debiana.
Informacje, które znalazłem do tej pory
- Artykuł francuski opisuje bardzo długo detale jak skonfigurować kompletne, bezpieczne rozwiązanie e-mail. Jest długi, trudniejszy w utrzymaniu, trudniejszy do tworzenia kopii zapasowych i przywracania itp. Poza tym, czy potrzebna jest pamięć podręczna DNS?
- Wiki Gentoo (
Complete_Virtual_Mail_Server/SSL_Certificates
strona) wspomina o użyciu certyfikatów CAcert, ale nie jest do końca jasne (czy wszystkie teSubjectAltName
subdomeny są potrzebne?), Ani nie używa Postfix (czytałem, że Kurier jest trudniejszy). - Różne samouczki na temat samodzielnego hostingu, wszystkie inne, rzadko opisujące, co robią i dlaczego (samodzielna poczta e-mail ze zdalnym dostępem wydaje się skomplikowana w konfiguracji, więc po co podawać listę poleceń bez wyjaśnienia dla „manekinów”) .
Mam nadzieję, że zapytałem o właściwe rzeczy i że nie są one zbyt głupie.
Odpowiedzi:
Nie, konfiguracja pamięci podręcznej DNS na serwerze nie jest wymagana. Serwer powinien korzystać z buforującego mechanizmu rozpoznawania nazw DNS, który jest gdzieś w pobliżu, ale większość firm hostingowych już uruchomiła własne programy tłumaczące dla całego centrum danych i skonfigurowała serwery, aby domyślnie z nich korzystały.
Domyślnie zarówno Postfix, jak i Dovecot używają do wszystkich kont lokalnych. Jeśli masz konto Linux o nazwie
diti
, możesz zalogować się do niego za pomocą Dovecot i możesz skonfigurować Postfix do sprawdzania poprawności logowania SMTP do Dovecot .Jeśli nie chcesz, aby cała poczta trafiała na to samo konto, możesz skonfigurować zwykłe aliasy (jak w,
/etc/aliases
), aby przekierowywać pocztę na kontokra@
lubpostmaster@
do niegoditi
.Wszystkie te nazwy podmiotowe nie są konieczne. Jedyne, czego potrzebujesz, to nazwy domen, których faktycznie będziesz używać , np .
mail.diti.me
Lubglaux.diti.me
. Nie jestem pewien, czy musisz dołączyć samą domenę (tjditi.me
.).Poniżej założono, że domena ma już rekordy MX skonfigurowane do wskazywania tego serwera. Zasadniczo staram się utrzymywać moją konfigurację dość wyraźnie, ponieważ zawsze kończę się zastanawiając „po co to, do diabła”, kilka miesięcy później.
1. Najpierw zainstaluj pakiety
postfix
idovecot-imapd
. Po wyświetleniu monitu o konfigurację Postfix wybierz opcję „Witryna internetowa” i wprowadźditi.me
nazwę poczty. W tym momencie możesz już wysyłać i odbierać pocztę jako[email protected]
, a prawdopodobnie nawet łączyć się z IMAP.Jednak nie ma jeszcze protokołu SSL, ani nie pozwala na wysyłanie poczty przez SMTP z zewnątrz, ani rozsądnego miejsca do przechowywania poczty (domyślnie jest to plik mbox
/var/mail
, który jest niewiarygodny i daje złą wydajność, szczególnie w przypadku IMAP).2. Jeśli masz już certyfikat SSL, włóż go
/etc/ssl/private/diti.me.pem
i wprowadź klucz prywatny/etc/ssl/private/diti.me.key
. Dokładna lokalizacja w rzeczywistości nie ma znaczenia, ale/etc/ssl/private
jest to miejsce, w którym Debian je przechowuje.Upewnij się, że oba pliki są własnością grupy i można ją odczytać
ssl-cert
, aby Postfix i Dovecot miały do nich dostęp. Dodaj również konta obu demonów do tej grupy, używającgpasswd -a
.3. Automatycznie generowany Postfix Debiana również
main.cf
jest trochę bałaganem, więc zamierzam po prostu opublikować oczyszczoną minimalną wersję:W przypadku Dovecot Debian korzysta tylko z domyślnych przykładowych konfiguracji i są one wystarczająco dobre, z każdą opcją opisaną.
Ilekroć zmienisz konfigurację, przeładuj demony za pomocą
postfix reload
i / lubdoveadm reload
.4. Domyślnie Postfix dostarcza pocztę
/var/mail/$USER
w formacie mbox , który jest dość prosty (można go łatwo wyświetlić za pomocą edytora tekstu), ale ma wiele problemów, szczególnie z IMAP, ponieważ cały plik musi zostać przepisany za każdym razem, gdy przenosisz wiadomość, a nawet oznacz jedną jako „przeczytaną” lub „nieprzeczytaną”.Zmień oba demony, aby korzystały z Maildir. (Istnieją inne formaty, ale zazwyczaj są one specyficzne dla serwera MTA, MDA lub IMAP, lub cokolwiek innego; Maildir jest szeroko obsługiwany).
W
/etc/postfix/main.cf
dodaj następujące polecenie do sekcji „Dostawa”:Skonfiguruj Dovecot, aby używał tej samej ścieżki w
/etc/dovecot/conf.d/10-mail.conf
:5. W pewnym momencie musisz powiedzieć Dovecot, aby również używał protokołu SSL. Odpowiednie ustawienia są w
/etc/dovecot/conf.d/10-ssl.conf
. W rzeczywistości pakiet Debian dla Dovecot używa już protokołu SSL, chociaż z samopodpisanym certyfikatem, który jest w większości bezużyteczny. Skonfiguruj go, aby używał własnego certyfikatu:6. Teraz możesz wysyłać pocztę na zewnątrz i odbierać ją. Nadal konieczne jest skonfigurowanie Postfix, aby umożliwić wysyłanie z zewnątrz, łącząc się z klientem poczty za pośrednictwem SMTP.
Najpierw powiedz Postfixowi, aby używał Dovecot do weryfikacji logowania. Poniższe instrukcje pochodzą głównie z wiki Dovecot .
Dovecot
/etc/dovecot/conf.d/10-master.conf
musi nasłuchiwać na gnieździe, do którego Postfix mógłby uzyskać dostęp; domyślna konfiguracja ma już skomentowany przykład:I Postfix musi go użyć -
/etc/postfix/main.cf
ponownie:7. Zauważ, że powyższe
smtpd_sasl_auth_enable
nigdzie nie ustalono . Obecna konwencja nie włącza globalnego uwierzytelniania SMTP, ale utrzymuje tcp / 25 wyłącznie jako port SMTP typu „serwer-serwer”. Tymczasem nowe wiadomości od użytkowników są akceptowane przez SMTP na tcp / 587, porcie „wysyłania poczty”, który wymaga uwierzytelnienia. Niektórzy dostawcy usług internetowych nawet blokują tcp / 25 z powodu spamu, ale tcp / 587 pozostają otwarte, ponieważ zazwyczaj są lepiej zabezpieczone.Włącz port „Submission”
/etc/postfix/master.cf
z uwierzytelnianiem SASL. Domyślnemaster.cf
ma już niezbędne wiersze, które po prostu muszą zostać skomentowane, chociaż niektóre z nich nadal powinny zostać pominięte.Jeśli masz klienta pocztowego, który wymaga starego typu „niejawnego portu SSL” (tcp / 465), możesz cofnąć komentarz do
smtps
liniimaster.cf
- jeśli tak, zachowaj ustawienia podobne do tych wsubmission
porcie.8. Na koniec skonfiguruj aliasy dla swojego konta, edytując
/etc/aliases
.postmaster
Alias jest w zasadzie konieczne; jest to punkt kontaktowy, jeśli występują problemy z serwerem pocztowym. Wskazanieroot
i inne podobne aliasy też są dobre.Podstawowy format jest udokumentowany w aliasach (5):
Użyj
postalias
lub,newaliases
aby zaktualizować zaszyfrowaną bazę danych przy/etc/aliases.db
każdej edycji tego pliku.Teraz nadal masz jedno konto o nazwie
diti
Postfix i Dovecot, ale poczta wysyłana nakra@...
ten adres również jest tam przekazywana. Niektóre klienty poczty (np. Thunderbird) obsługują wiele „tożsamości” lub „osobowości” dla jednego serwera pocztowego, więc możesz wybierać między różnymi adresami „Od:”.O to chodzi. Mogę później wrócić z instrukcjami dla procmaila, domen wirtualnych, SPF i / lub DKIM.
źródło
mail.diti.me
(= adres IP mojego serwera) zarówno dla IMAP, jak i SMTP, moja domena ma już rekordy MX. Czy zrobiłem coś złego podczas konfiguracji mojego serwera, czy po prostu mam problemy z Thunderbirdem?ps auxw | grep "dovecot"
? Porównałem ze złożoną konfiguracją jednego z moich przyjaciół, a on madovecot-auth
iimap-login
tego nie mam. Czy to możliwe, że porty są rzeczywiście otwarte (nie przypominam sobie, że korzystam z zapory ogniowej), ale bez demona ustawionego na nasłuchiwanie tych portów z zewnątrz, czy coś w tym rodzaju? Kiedy uruchamiamopenssl s_client -connect mail.diti.me:993
na serwerze, działa (i mówi „Gotowy Dovecot”), ale nic z zewnątrz. Może powinienem spróbować zainstalować zaporę ogniową i wyraźnie zezwolić na te porty?dovecot
,dovecot/anvil
,dovecot/log
, i inne. Ponadto niektóre procesy są uruchamiane tylko wtedy, gdy ktoś się łączy lub tylko podczas sprawdzania szczegółów uwierzytelnienia.iptables -n -v -L
aby sprawdzić, czy istnieją jakieś reguły do odrzucania pakietów.