Lemat, strona domowa

postfix i port 587

W związku z wprowadzeniem przez TPSA blokady portu 25 tcp dla użytkowników neostrady (podkreślam - dla użytkowników neostrady) ci użytkownicy będą mieli problemy z wysyłaniem poczty (podkreślam - z wysyłaniem). Wszystkie portale darmowych konta rozsyłają informację jak przestawić czytniki typu Outlook, Thunderbird a ja przedstawię poniżej jak przestawić postfixa:

Na tapetę weźmy master.cf. Są tam wpisy, które mówią postfixowi gdzie i czego ma słuchać. Dla przykładu standardowy port 25 wygląda tak:
smtp      inet  n       -       n       -       -       smtpd
  -o receive_override_options=no_address_mappings
Teoretycznie więc, gdyby skopiować tą linię zamieniając tylko "smtp" na "submission" to by zadziałało, ale rola portu 587 jest inna i powinno być coś takiego:
submission inet n       -       n       -       -       smtpd
#  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_client_restrictions=
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=reject_sender_login_mismatch,permit
  -o receive_override_options=no_header_body_checks,no_address_mappings
  -o smtpd_sender_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

Jak widać dodałem mnóstwo -o, które przesłaniają standardowe opcja z main.cf, zwłaszcza nowe smtpd_*_restrictions. Już tłumaczę:

  • smtpd_sasl_auth_enable=yes
    to na wypadek, jakby ktoś nie miał
  • milter_macro_daemon_name
    to jest standardowa opcja
  • smtpd_client_restrictions i smtpd_helo_restrictions
    tu wyczyściliśmy wszelkie filtry antyspamowe, które nie będą nam potrzebne
  • smtpd_sender_restrictions=reject_sender_login_mismatch,permit
    czyścimy filtry antyspamowe, zostawiając tylko filtr na podszywanie się userów pod siebie
  • receive_override_options=no_header_body_checks,no_address_mappings
    ta opcja występuje u mnie przy zwykłym "smtp" więc rozszerzam ją o no_header_body_checks, ci którzy nie mają przy "smtp" powinni ją dodać przy "submission" z tą jedną opcją.
  • smtpd_sender_restrictions i smtpd_recipient_restrictions
    te łańcuchy dają OK tylko i wyłącznie zalogowanym klientom - i to jest najważniejsze w całej tej szopce.
  • smtpd_tls_security_level
    w powyższym przykładzie zakomentowane - warto wygenerować sobie certyfikaty aby połączenie było szyfrowane - ale nie jest to konieczne. Nie mniej jednak zalecam.
  • jeżeli ktoś nie stosuje no_address_mappings to nadal nie powinien stosować

Milcząco zakładam, że czytający ma odpalonego sasla i w ogóle jego serwer jest podłączony do prądu. Ponadto zakładam, że userzy lokalni nie rozsyłają spamu i nie trzeba ich filtrować.

Update 2009-12-01

I nagle dzisiaj się wszyscy obudzili z ręką w nocniku. A tepsa trąbiła o włączeniu blokady od lipca 2009. Jeżeli jacyś ladmini nadal nie przestawili serwerów pocztowych to sami są sobie winni i świadczy to o ich poziomie zainteresowania stabilnością usługi, którą świadczą przecież za jakieś pieniądze.

Pojawiają się także złote pomysły w stylu redirectu na iptables portu 25 na port 587. Da się, powinno nawet działać, ale pomysł jest moim zdaniem kretyński.

Tak sobie oglądam też różne fora, na których są dyskutowane rozwiązania techniczne tego problemu i stwierdzam, że ... niektórzy admini się nie nadają do tej roboty...

To ja może w punktach:
  • nie "zmienić" a "dodać" obsługę portu 587. Jak "zmienicie" to wam normalna poczta przestanie działać.
  • TLS nie jest wymagany - patrz powyższy opis smtpd_tls_security_level
  • jak czytnik krzyczy, że certyfikat nie jest zaufany to albo jest problem z samym certyfikatem - np. jego czas minął albo certyfikat nie jest podpisany przez zaufany urząd certyfikacji i trzeba wtedy dodać certyfikat na stałe do czytnika - i nie ma to nic wspólnego z 587.
  • oprócz portu 587 istnieje coś takiego jak smtps - 465tcp, 587 jest opisany w RFC 2476 od 11 lat i powtórzony w RFC 4409 3 lata temu.
  • wyłączenie SASLa powinno być nominowane do nagrody Darwina

Update 2010-05-05

Powyższy tekst jest przepisem umożliwiającym użytkownikom na neostradzie połączenie do serwera. Jeżeli ktoś ma serwer na neostradzie - co jest głupie ale technicznie możliwe - to powinien skorzystać ze smarthosta.
Powyższy tekst oczywiście nie obejmuje problemu przestawienia czytnika (typu Outlook, Thunderbird) z portu 25 na port 587. Nie uwzględnia też istnienia firewalli i innych wynalazków po drodze.
Data utworzenia : 2009-11-20, data aktualizacji :2010-07-06
Skomentuj ten tekst
2010-06-10 13:11:19jbw
z mojej praktyki
Wykorzystałem "szum medialny" wokół blokady portu 25 aby przepędzić wszystkich swoich userów na port 587, z obowiązkowym SASL+TLS, bez względu na to, za pośrednictwem czego się łączą.

Pragnę podkreślić, co nie było tu wystarczająco mocno zaakcentowane, że wprowadzenie tylko uwierzytelnienia bez ochrony szyfrowaniem oddaje hasło na pastwę snifferów. A ponieważ powszechną praktyką jest używanie jednego hasła do wysyłania i odbierania poczty, skutki tego mogą być opłakane.

Napisałem skrypt analizujący logi pocztowe w połączeniu z prostym interfejsem www, gdzie widzę jaką metodą userzy się ostatnio łączyli. Dzięki temu mogłem pogonić pojedynczych maruderów do zmiany - i przed "godziną zero" wszyscy byli gotowi.

Wysyp pytań w komentarzach, czemu przekierowanie portu jest niedobre, potwierdza złą opinię o poziomie wiedzy adminów. Dla mnie rozdzielenie poczty od użytkowników i od serwerów stało się okazją do drastycznej radykalizacji reguł filtrowania na porcie 25, np. całkowicie odrzucam teraz non-fqdn HELO.

Skutek jest taki, że praktycznie zapomniałem co to jest spam. W ciągu minionego kwartału dostałem 2 lub 3 takie listy. Inni użytkownicy (jest ich około setki) też nie narzekają. Tymczasem zatrzymanych zostało, chwileczkę, zerknę... 17244 prób dostarczenia poczty, z samych tylko względów formalnych. Do tego trzeba doliczyć 876 odrzuconych nadawców z czarnych list oraz nieokreśloną ich liczbę, którzy nie przeszli szarolistnej procedury.

Z drugiej strony, zwiększył się komfort użytkowników, którzy teraz ślą pocztę skąd chcą, bez żadnych obstrukcji.

Warto też zauważyć dodatkową, uboczną korzyść z uwierzytelnienia, jaką jest pewność autorstwa. Opcja postfix-a

smtpd_sasl_authenticated_header = yes

umieszcza w liście wzmiankę, kto odpowiada za nadanie go.

Jedyny problem jaki pojawił się w całym tym przedsięwzięciu, to certyfikat serwera. Do tej pory używałem, jak większość linuksowców-amatorów, "samopodpisanego" certyfikatu i wymuszałem na użytkownikach zaakceptowanie go u siebie. Choć jest to nieprofesjonalna praktyka, trudno ode mnie wymagać zakupu "prawdziwego" certyfikatu na potrzeby usługi świadczonej nieodpłatnie. Nieoczekiwanie i ku wielkiej mej radości, odkryłem firmę StartCOM, która wydaje nieodpłatnie proste certyfikaty, w zupełności wystarczające dla amatorskiego serwera. Od niedawna aktualizacje certyfikatów głównych dla Windows zawierają ten urząd na liście zaufanych wystawców. Nie podaję adresu, szukajcie a znajdziecie.

I jeszcze drobne wyjaśnienie: mówiąc "amatorski" mam na myśli sposób finansowania, a nie poziom świadczonych usług ;-)
2010-05-27 11:04:02thomsonik
odbieranie maili
witam, udało się z dialogiem załatwić, że odblokowali mi port 25, maile wychodzą już w świat mam jednak problem, gdyż nie mogę odbierać maili, na moim routerze za którym stoi maszyna z postfixem widać logi, że coś z serwera czy to wp czy onetu łączy się i dobija na ip postfixa na port 25, ale w mail.log na postfixie nie ma nic o tym zdarzeniu, ale raz na kilka godzin maile nagle wydaje się, że wszystkie nagle dochodzą na serwer do tego w kolejności innej niż zostały wysłane i nie mam pojęcia jak zdiagnozować problem, jeżeli widać na routerze że coś dobija się na serwer pocztowy eliminuje to dialog i blokadę portu 25, router też przekazuje, serwer jednak jak nie ma nic w mail.log to nic nie dochodzi, czyli jakby blokowane było przez np. firewall na linuxie(ale wyłączyłem) i raz na jakis czas dochodzą maile, mam zainstalowanego postfixa, docvecota, spamassasina+razor i clamav + amavis'ta na debianie stable, czy mogę prosić o jakieś sugestie jak taki problem zdiagnozować ?
Odp.: sugestia: przetłumacz na polski od piątego do ósmego przecinka.
2010-05-25 15:03:56thomsonik
dialog -blokada portu 25, a wysyłanie maili
witam,
mam pytanie czy jeżeli mam serwer postfix na łączu dialogu, gdzie zablokowali port 25 to wystarczy zastosować powyższą procedurę i serwer będzie w stanie wysyłać maile ? czy jest to tylko umożliwienie klientom którzy mają zablokowany port 25 połączenia do serwera ? skonfigurowałem postfixa jak powyżej, ale dalej ani przez klienta, ani przez www nie mam możliwości wysyłania poczty w świat(lokalnie działa), z tego co widzę postfix próbuje wysyłać dalej po porcie 25, który jest zablokowany, mogę prosić o jakiś komentarz w czym się mylę ? lub jak można to rozwiązać ?
wiem że to nie forum, ale będę wdzięczny za odpowiedź.
Odp.: potrzebny ci smarthost czyli serwer na statycznym IP na którym będziesz miał konto (login i hasło lub inną metodę uwierzytelnienia), który będzie pośredniczył dla ciebie w wysyłaniu poczty. Stosunkowo mało serwerów SMTP ma w ogóle otwarty port 587 a z tych naprawdę niewiele przyjmie pocztę na porcie 587 bez loginu i hasła.
2010-03-26 12:10:44witek
zminana na port 587 i Connection refused
dadałem do master.cf i i przy wysyłaniu mam blad
Connection refused
111 Can't open SMTP stream
a telnet pokazuje mi cos takiego
telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

Odp.: właściwe zadawania takich pytań miejsce to pl.comp.mail.mta
być może masz firewalla, być może zrobiłeś literówkę w master.cf
być może nie zrestartowałeś postfixa
2010-03-19 10:09:26Gregor
Redirect
A co jest złego w przekierowaniu, które dziala w 100%???

Sprawe rozwiązuje jedna regułka
iptables -t nat -I PREREOUTING -p tcp --dport 587 -j DNAT adres_serwera:25

Albo z opcja REDIRECT jak kto woli.
Unika się wtedy ustawiania kolejnych restrykcji dla wysyłających odbierających itp. Nic wiecej sie nie zmienia.
Odp.: regułki na porcie 587 mają być inne niż te na porcie 25
wszystkie opinie »
Protected by spf
UWAGA lisy roznoszą wściekliznę!
[Nospam-PL.NET]
© Lemat 2004 - ∞ engine:Lemat
info@seminar.pl.ua przedstawicielstwo@tiscali.it