W jaki sposób mogę ukryć adres IP i nazwę użytkownika wysyłanego e-maila za pomocą Postfix w nagłówku Otrzymane?


13

Podczas wysyłania poczty Postfix wstawia adres IP i nazwę użytkownika uwierzytelnionego użytkownika do nagłówka Odebrane wiadomości e-mail. Jest to przydatne do śledzenia, kto wysłał określoną wiadomość e-mail wysłaną z serwera pocztowego, ale ma również wpływ na prywatność. W małej skali, w której mogę ufać wszystkim użytkownikom, że ich konta nie zostaną narażone na szwank i zamieniły się w spamujące zombie, wolałbym nie rozgłaszać adresów IP i nazw kont dla wszystkich do przeczytania. Krótko mówiąc, jak skonfigurować Postfix, aby nie wysyłać tego:

Odebrano: od [xxxx] (pc1.przyklad.com [xxxx]) (za pomocą TLSv1 z szyfrem DHE-RSA-AES256-SHA (256/256 bitów)) (Nie wymaga certyfikatu klienta) (Uwierzytelniony nadawca: użytkownik) pocztą. example.com (Postfix) z identyfikatorem ESMTPSA CC77010C148 dla; Pt, 11 listopada 2011 04:55:18 +0000 (UTC)

Odpowiedzi:


20

Standardowym rozwiązaniem jest użycie opcji header_checks . Działa to jednak, jeśli odfiltrujemy otrzymane linie na całej poczcie zarówno przychodzącej, jak i wychodzącej (ponieważ tak się stanie), możemy potencjalnie stracić odebrane nagłówki na przesyłanej do nas wiadomości, co może być ważne przy rozwiązywaniu problemów. Aby obejść ten problem, będziemy stosować header_checkstylko do poczty, które mogą ewentualnie nie zostały wysłane do nas-mail, który został wysłany do składania portu (Ci są za pomocą portu składania , prawda? ).

W tym poście wyjaśniono, jak złożyć wniosek header_checkswyłącznie do portu przesyłania. Musimy przekazać opcję cleanup_service_name do usługi przesyłania , abyśmy mogli skonfigurować nową usługę czyszczenia „subcleanup”. Odpowiednia sekcja /etc/postfix/master.cfmoże wyglądać następująco:

submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o cleanup_service_name=subcleanup

Teraz możemy przekazać tę header_checksopcję nowej usłudze czyszczenia. Ta część /etc/postfix/master.cfmoże wyglądać następująco:

cleanup   unix  n       -       -       -       0       cleanup
subcleanup unix n       -       -       -       0       cleanup
  -o header_checks=regexp:/etc/postfix/submission_header_checks

Na koniec musimy utworzyć plik /etc/postfix/submission_header_checks, który będzie zawierał wyrażenie regularne, które odfiltrowuje obrażające odebrane linie nagłówka. To, jakie wyrażenie regularne umieścisz w pliku, zależy od tego, czy masz smtpd_sasl_authenticated_headerustawione.

Jeśli smtpd_sasl_authenticated_headertak yes, użyj:

/^Received:.*\(Authenticated sender:/ IGNORE

W przeciwnym razie użyj:

/^Received:.*\(Postfix/ IGNORE

(Podziękowania dla Dominica P i Bryana Drewery'ego za pokazanie, jak załatwić drugą sprawę.)


Czy musisz zadzwonić postmap submission_header_checks?
— Mitar

@Mitar nie ma pojęcia, ale jeśli się dowiesz, możesz edytować odpowiedź. To są stare instrukcje dla 10.04, ale prawdopodobnie będę je aktualizować, kiedy pojawi się 14.04.
— Michael Kropat

Wygląda na to, że działało bez. :-)
— Mitar

1
+1, dziękuję za bardzo pomocną odpowiedź. To jest kilka lat później i musiałem dokonać drobnej poprawki. Korzystam z Postfix 2.9.6. Zmieniłem wyrażenie regularne na: /^Received:.*\(Postfix/ IGNOREponieważ nie otrzymałem części „Uwierzytelniony nadawca” w moich nagłówkach. Czy widzisz jakieś ryzyko związane z moim nowym wyrażeniem regularnym?
— Dominic P

1
Ta odpowiedź zakłada, że ​​smtpd_sasl_authenticated_header = ustawione jest tak. Bez tego potrzebny jest zmodyfikowany regex Dominika.
— Bryan Drewery

-1

Możesz użyć

smtpd_sasl_authenticated_header = no

w postfix/main.cfcelu wyeliminowania informacji nagłówka w wychodzących wiadomościach e-mail.


dlaczego ta odpowiedź jest znacznie prostsza niż @ Michael? czy to usuwa adres IP ze wszystkich nagłówków, a nie tylko z wiadomości otrzymanych przez port przesyłania?
— knocte

2
W każdym razie @knocte smtpd_sasl_authenticated_headerjest domyślnie ustawione na „nie”. Po włączeniu Postfix dodaje nazwę użytkownika, która była używana do uwierzytelnienia SASL, do początkowego nagłówka „Otrzymano” - to dodaje część „Uwierzytelniony nadawca: użytkownik” pokazaną w pytaniu. @ Odpowiedź Michaela usuwa nie tylko część użytkownika, ale cały nagłówek „Otrzymano”, w tym adres IP klienta.
— n.

@ n.st: czy mówisz, że odpowiedź Markusa nie usuwa adresu IP, a zatem czy to pytanie SO?
— knocte 30.03.16

@knocte Dokładnie.
— n.st.

1
Potrzebuję 125+, aby zagłosować. Przetestowałem to i usuwa tylko nazwę użytkownika, a nie adres IP.
— John,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.