Próbuję ukryć adres IP klienta przed wiadomościami e-mail wysłanymi z Postfix.
oto przykład tego, co mam na myśli:
Received: from mail.[removed].com (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by mail.[removed].com (Postfix) with ESMTP id D50C7BF185DD
for <[removed]@gmail.com>; Thu, 2 Aug 2012 16:14:21 +0900 (JST)
Date: Thu, 02 Aug 2012 07:14:08 +0000
Zwróć uwagę na tę linię (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])
Chcę usunąć tę linię z wiadomości e-mail.
Próbowałem to zrobić:
/etc/postfix/main.cf:
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
smtp_header_checks:
/^((.*) [(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])])/ IGNORE
Ale mój adres IP nadal znajduje się w otrzymanej części wiadomości e-mail. Jeśli lokalnie wyślę wiadomość e-mail z serwera smtp, adres IP stanie sięlocalhost.localdomain [127.0.0.1]
Jak mogę usunąć adresy IP klientów z nagłówka?
regexp:/etc/postfix/smtp_header_checks
napcre:/...
. Następnie zrestartowałem Postfix i monitorowałem Maillog pod kątem błędów. Brak błędów. E-mail nadal wyświetla mój adres IP. XD Dzięki za wysiłki, Mike.postmap -q "Received: from mail.[removed].com (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])" pcre:/etc/postfix/smtp_header_checks
a wynik byłIGNORE
taki, że jest pracujący. Jednak nie wprowadza zmian w wiadomości e-mail ... Czy pole wewnątrz jestmain.cf
nieprawidłowe?smtp_header_checks
miał byćheader_checks
... To działa teraz. Przepraszam, że zmarnowałem twój czas. Doceniam twoje wysiłki. Dziękuję Ci. pcre też działa. Jestem na centos. Jeszcze raz dziękuję, stary.Otwórz /etc/postfix/master.cf i znajdź:
cleanup unix n - n - 0 cleanup
Dodaj poniżej tych linii i stań się:
cleanup unix n - n - 0 cleanup -o header_checks=pcre:/etc/postfix/header_checks
Edytuj / etc / postfix / header_checks i dodaj poniższe kody:
/^Received:/ IGNORE
Teraz uruchom ponownie postfiks. Powiedzmy na CentOS:
service postfix restart
źródło
Received
nagłówka z przychodzącej poczty.Aby usunąć adres IP nadawcy z nagłówka Odebrane w celu przesłania nowej wiadomości, użyj
header_checks
klucza zamiastsmtp_header_checks
opcji:smtp_header_checks
Opcja ma zastosowanie tylko do poczty, która jest wysyłana z Postfix do zewnętrznych serwerów natomiastheader_checks
opcja dotyczy przychodzącej poczty wysyłanej z klientem, aby Postfix.Zobacz także, w jaki sposób Postfix odbiera pocztę na stronie http://www.postfix.org/OVERVIEW.html, aby uzyskać przegląd składników, poczta jest wysyłana z smtpd -> czyszczenie -> kolejka przychodząca.
smtpd
Proces odbiera pocztę i wstrzykujeReceived
nagłówek z adresem IP nadawcy.header_checks(5)
Opcja jest przetwarzane przezcleanup(8)
komponent, który dezynfekuje nagłówków e-mail.To jest nie zaleca się ustawić taką
header_checks
opcję globalnie w main.cf jak byłoby to zmodyfikować nagłówek Received wszystkie e-maile, nawet te otrzymane z serwerów zewnętrznych. Zamiast tego należy skonfigurować klienta do wysyłania wiadomości e-mail za pośrednictwem dedykowanej usługi przesyłania na porcie 587 i skonfigurować Postfix, aby przepisał nagłówki tylko dla tych uwierzytelnionych przesyłek.W
/etc/postfix/master.cf
dodaj następujące-o
wiersze posubmission
wierszu:Czas, aby skonfigurować oczyszczania usługi dla ciągu uthenticated s ubmissions. Wybieram nazwę,
ascleanup
aby była krótka i wyrównana, ale każda nazwa działa. Aby to zrobić, zduplikuj wiersz usługi czyszczenia w tym samymmaster.cf
pliku, ale zmień nazwę pierwszego pola i dodaj nową opcję, aby wybrać plik filtru:(Korzystanie z
pcre
tabeli wymaga instalacjipostfix-pcre
na Debianie, który automatycznie zajmie się aktualizacją pliku dynamicmaps.cf. W tym celu nie są potrzebne dalsze zmiany).Ostatnim elementem jest rzeczywista konfiguracja filtra w
/etc/postfix/header_checks_submission
. Możesz potencjalnie użyć czegoś takiego:co spowoduje usunięcie pełnej linii nagłówka Received, ale zamiast tego możesz po prostu upuścić
from helo.host (reverse.host.name [192.0.2.1])
część zachowując inne informacje:Jeśli zmieniłeś
mail_name
opcję, zmieńPostfix
słowo tak, aby pasowało do konfiguracji. (Ten wzorzec jest dokładny w oparciu o kod źródłowy Postfix, smtpd / smtpd.c .)Testowałem to z postfiksem 3.4.7-0 + deb10u1 na buster Debiana. Aby uzyskać kolejny świetny opis z tym samym podejściem, zobacz Wysyłając wiadomość e-mail za pomocą Postfix, w jaki sposób mogę ukryć adres IP i nazwę użytkownika nadawcy w otrzymanym nagłówku?
Dzięki powyższej modyfikacji następuje
Received: by ...
:źródło
Użyj tego:
używaj tylko jednego
*
na obu końcachźródło