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)

Michael Kropat
źródło

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 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ę.)

Michael Kropat
źródło
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.

Markus
źródło
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,