Postfix'den istemci gönderen ipi kaldırılsın mı?


16

Postfix'ten gönderilen e-postalardan istemci IP'sini gizlemeye çalışıyorum.

İşte ne demek istediğimin bir örneği:

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

Bu satıra dikkat edin (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])

Bu satırı e-postadan kaldırmak istiyorum.

Bunu yapmayı denedim:

/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

Ancak IP adresim hala e-postanın alınan kısmının içinde. Smtp sunucusundan yerel olarak e-posta gönderirsem IP adresi olurlocalhost.localdomain [127.0.0.1]

İstemci IP'lerini başlıktan nasıl kaldırabilirim?

Yanıtlar:


12

İçinde main.cf:

smtp_header_checks = pcre:/etc/postfix/smtp_header_checks

İçinde dynamicmaps.cf:

# Use your real path to dict_pcre.so, below
pcre    /usr/lib/postfix/dict_pcre.so           dict_pcre_open

Bunu aşağıdakilere eklemelisiniz /etc/postfix/smtp_header_checks:

/^Received: .*/     IGNORE
/^X-Originating-IP:/    IGNORE

O zaman koş

# /etc/init.d/postfix reload

IP adresim hala görüntüleniyor. Çabaları takdir ediyorum.
Kyle

Postfix-pcre olması gerekmez. Regexp de aynı şekilde çalışır.
Kyle

Peki. PCRE'nin sisteme yüklendiğinden emin oldum. Değiştim regexp:/etc/postfix/smtp_header_checksiçin pcre:/.... Sonra postfix yeniden başlattım ve herhangi bir hata için maillog izledim. Hata görüntülenmedi. E-posta hala ipimi gösteriyor. XD Çabalar için teşekkürler, Mike.
Kyle

Hmm ... Ben bir hata alıyorum ama bunu buldum irbs.net/internet/postfix/0404/1097.html Bununla regex test postfix.org/pcre_table.5.html argümanı kullanarak: 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_checksve çıkış oldu IGNOREo yüzden Çalışma. Ancak e-postada değişiklik yapmıyor ... İçindeki alan main.cfyanlış mı?
Kyle

1
Kahretsin adamım. Sadece zamanını boşa harcadım. En başta benim hatam. smtp_header_checksolması gerekiyordu header_checks... Şimdi çalışıyor. Zamanını harcadığım için üzgünüm. Çabalarınızı takdir ediyorum. Teşekkür ederim. pcre de çalışır. Ben centostayım. Tekrar teşekkürler kardeşim.
Kyle

3

/Etc/postfix/master.cf dosyasını açın ve şunu bulun:

cleanup unix n - n - 0 cleanup

Bu satırın altına ekleyin ve olun:

cleanup unix n - n - 0 cleanup -o header_checks=pcre:/etc/postfix/header_checks

/ Etc / postfix / header_checks öğesini düzenleyin ve aşağıdaki kodları ekleyin:

/^Received:/ IGNORE

Şimdi postfix'i yeniden başlatın. Diyelim ki CentOS:

service postfix restart


1
Maalesef bu Received, gelen postadaki başlığı da keser .

0

Yeni posta gönderimleri için gönderen IP'sini Alınan başlığından kaldırmak için header_checks, smtp_header_checksseçenek yerine anahtarı kullanın :

header_checks = regexp:/etc/postfix/header_checks_submission

Bu smtp_header_checksseçenek yalnızca Postfix'ten harici sunuculara header_checksgönderilen postalar için geçerliyken, istemcinizden Postfix'e gönderilen gelen postalar için geçerlidir.

Ayrıca bkz Nasıl Postfix posta aldığı en http://www.postfix.org/OVERVIEW.html bileşenlerin bir bakış için, posta smtpd gider -> temizleme -> gelen sıra. smtpdSüreç posta alan ve enjekte Receivedgönderen IP adresi ile başlık. header_checks(5)Seçeneği tarafından işlenir cleanup(8)e-posta başlıklarını sterilize eder bileşeni.

O olduğu değil , böyle bir set tavsiye header_checksbunda Alınan başlığı değişiklik yapacağı gibi main.cf dünya çapında seçeneği tüm e-postalar, dış sunucularından alınan hatta. Bunun yerine, istemcinizi 587 numaralı bağlantı noktasında özel bir gönderme hizmeti aracılığıyla e-posta gönderecek şekilde yapılandırmalı ve Postfix'i yalnızca bu kimliği doğrulanmış gönderimlerin üstbilgilerini yeniden yazacak şekilde yapılandırmalısınız.

Alanında /etc/postfix/master.cf, -osatırdan sonra aşağıdaki satırları ekleyin submission:

submission inet n       -       y       -       -       smtpd
  # Require SASL authentication
  -o smtpd_sasl_auth_enable=yes
  # Require TLS transport security, do not leak your credentials in plaintext.
  -o smtpd_tls_security_level=encrypt`
  # Disallow unauthenticated users from sending mail through this port.
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  # Use a different cleanup service (see below)
  -o cleanup_service_name=ascleanup

Zaman yapılandırmak için temizleme hizmet bir uthenticated ler ubmissions. ascleanupKısa ve hizalı tutmak için adı seçiyorum , ancak herhangi bir ad işe yarıyor. Bunu yapmak için, temizleme hizmet satırını aynı master.cfdosyada çoğaltın , ancak ilk alanı yeniden adlandırın ve filtre dosyasını seçmek için yeni bir seçenek ekleyin:

cleanup   unix  n       -       y       -       0       cleanup
ascleanup unix  n       -       y       -       0       cleanup
  -o header_checks=pcre:/etc/postfix/header_checks_submission

( pcreTablonun kullanımı postfix-pcre, Dynamicmaps.cf dosyasının güncellenmesini otomatik olarak gerçekleştirecek Debian'a yüklenmeyi gerektirir . Bunun için başka değişiklik gerekmez.)

Son parça, içindeki gerçek filtre yapılandırmasıdır /etc/postfix/header_checks_submission. Potansiyel olarak aşağıdakileri kullanabilirsiniz:

/^Received: .*/ IGNORE

Tam Alınan başlık satırını kaldıracaktır, ancak bunun yerine from helo.host (reverse.host.name [192.0.2.1])diğer bilgileri korurken parçayı düşürebilirsiniz :

/^Received: from [^ ]+ \([^ ]+ \[[IPv0-9a-f:.]+\]\)\s+(.* \(Postfix\) with .+)$/ REPLACE Received: $1

Değiştirmek yaptıysak mail_nameseçeneği, değiştiririm Postfixyapılandırmanızı maç için sözcüğü. (Bu model, Postfix kaynak kodu smtpd / smtpd.c'ye göre doğrudur .)

Ben Debian buster postfix 3.4.7-0 + deb10u1 ile test ettim. Aynı yaklaşıma sahip başka bir harika açıklama için Postfix ile e-posta gönderirken, Gönderenin başlığını ve kullanıcı adını Alınan başlığında nasıl gizleyebilirim? Konusuna bakın.

Yukarıdaki değişiklikle aşağıdakiler dönüştürülür Received: by ...:

Received: from debian (unknown [IPv6:fe80::b036:2ff:fe6e:73f4])
        by mail.example.nl (Postfix) with ESMTPSA id 1571B910B
        for <some@example.com>; Sun, 12 Jan 2020 02:23:15 +0000 (UTC)

-1

bunu kullan:

/^Received: from .*127.0.0.1**/ IGNORE

*her iki uçta sadece tek kullanın


Yoksa daha çok mu? / ^ Alınan:. * 127 \ .0 \ .0 \ .1. * / IGNORE
Jack B.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.