RSS Feed

SMTP AUTH w zależności od adresu nadawcy

Styczeń 29, 2012 by 0verlord

Autoryzacja smtp, czyli SMTP AUTH to wymóg dzisiejszych czasów. Każdy szanujący się operator pozwala wysyłać wiadomości tylko po odpowiednim przedstawieniu się przez szyfrowany kanał – SSL lub TLS.

Niektórzy dostawcy są mniej upierdl^Wrestrykcyjni (wystarczy się zautoryzować poprawnym loginem w ramach konta, i już można wysyłać jako dowolny użytkownik).
Niektórzy są bardziej restrykcyjni – patrz ogicom.pl. Autoryzacja pozwala ustawić adres wychodzący (mail from:) tylko dla tego konta, do którego się zautoryzowaliśmy (lub dodanego do tego konta aliasa). Sprawdzałem – pomoc techniczna mówi, że się nie da. Źle. Da się, tylko nie chcą. Różnica jest subtelna 😉 Nie zadziałał nawet tekst o tym, że skoro u innych się da, a u nich nie, to może sobie pójdę tam, gdzie się da. Na szczęście na takich upierdliw^mocno zatroskanych bezpieczeństwem maili ludzi Postfix zna sposób.

Interesują nas kilka opcji konfiguracyjnych w main.conf:

smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/hash-sender-relay
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/hash-sasl-passwd

Co to robi? opcja smtp_sender_dependent_authentication mówi Postfixowi, że chcemy się autoryzować na podstawie mail from: Opcja sender_dependent_relayhost_maps mówi, na który serwer się łączyć, jeżeli chcemy coś wysłać już jako konkretny email. Plik wygląda od środka np. tak:
user1@gdziestam.pl [smtp.gdziestam.pl]:587
user2@gdziestam.pl [smtp.gdziestam.pl]:587
user3@gdziestam.pl [smtp.gdziestam.pl]:587
user4@gdziestam.pl [smtp.gdziestam.pl]:587

Oczywiście nie przeszkadza, żeby dać tam inne serwery i maile z innych domen – trzeba tylko zadbać o odpowiedni mechanizm autoryzacji . Temat autoryzacji smtp jest trochę bardziej skomplikowany, ale na sieci jest pierdyliard HOWTO’ów i innych JTZów, więc nie będę się tutaj rozwodzić.

Opcja smtp_sasl_auth_enable każe używać smtp autha do wysyłania maili.
I na koniec smtp_sasl_password_maps mówi, gdzie szukać usera i hasła dla konkretnego maila.

Plik wygląda w środku tak:
user1@gdziestam.pl nazwa_uzytkownika1:haslo1
user2@gdziestam.pl nazwa_uzytkownika2:haslo2
user3@gdziestam.pl nazwa_uzytkownika3:haslo2

Na koniec tylko postmap na plikach hash-sender-relay i hash-sasl-passwd. No i reload Postfixa.


Brak komentarzy »

No comments yet.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

trzydzieści trzy + = czterdzieści jeden