Yalnızca Postfix kullanarak gelen postalardaki ekler nasıl engellenir?


9

Postfix ve Dovecot çalıştıran bir posta sunucum (CentOS 6.5) var

Postfix gelen posta için 25 numaralı bağlantı noktasını ve giden posta için 587 numaralı bağlantı noktasını dinliyor

Sorun pdf ekleri ile giden posta sadece bloke pdf ekleri ile gelen posta istiyorum nerede engelleniyor.

Bu yapılandırma satırında main.cf var

 mime_header_checks = regexp:/etc/postfix/blocked_attachments

Blocked_attachments dosyası şunları içerir:

/name=[^>]*\.(pdf|zip)/ REJECT

Böylece pdf ekli gelen postalar doğru şekilde engellenir, ancak PDF ile bir e-posta oluşturduğumda da göndermeye çalıştığımda da engellenir.

Postfix'e yalnızca gelen eklerin filtrelenmesini istediğimi nasıl söyleyebilirim? Yoksa bir şey mi kaçırdım?

Yanıtlar:


7

Sorunuzu yeniden yazacağım:

Smtpd (bağlantı noktası 25) ve gönderme (bağlantı noktası 587) için farklı _header_checks'i nasıl kullanabilirim?

Bu kanonik problem birkaç koşulla ayrılabilir

  1. Ben smtpd veya gönderme biri için header_checks kapatmak istiyorum.
  2. Smtpd ve gönderme için farklı header_checks çalıştırmak istiyorum.

1. smtpd veya gönderme biri için header_checks kapatmak istiyorum.

Örnek için gönderimi (giden e-posta) için header_check kapatmak istediğinizi varsayalım .

Çözüm 1: Receive_override_options Yöntemi

Take_override_options adlı postfix parametresini kullanabilirsiniz . Parametre ile global header_check anahtarını geçersiz kılabilirsiniz, böylece filtre çalışmaz. # main.cf header_checks = pcre: / yol / / / header_checks

#master.cf
submission inet n       -       n       -       -       smtpd
    -o receive_override_options=no_header_body_checks

Uyarılar: bu, adam 5 header_checks içinde tanımlanan ALL _header_checks ve body_checks komutlarını kapatır . Tamamlanacak kontrol hangi parametrenin kapatılacağını görmek için bkz. Çözüm 2.

Çözüm 2: Birden çok temizleme hizmeti yöntemi

Biz can çoklu temizleme hizmeti tekniği olarak sorun için *_header_checkstarafından gerçekleştirildi temizleme hizmeti. Bu kurulumun örneğini amavisd-new tutorial'da görebilirsiniz .

Bu yapılandırma için sihirli parametre cleanup_service_name şeklindedir . Bu parametre ile, her smtpd işlemi için farklı temizleme hizmeti kullanabiliriz. İlk olarak master.cf dosyasında ek bir temizleme hizmeti (başlıksız denetim adı verilir) tanımlarız

no-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=

Bu temizlemede, filtrelemeyi devre dışı bırakmak için boş mime_header_checks tanımlarız. Son adım, gönderim hizmetine başlıksız denetimlerimizi kullanmasını bildirmektir

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=no-headerchecks 

2. smtpd ve gönderim için farklı header_checks çalıştırmak istiyorum.

Bu sorun için yukarıda açıklandığı gibi birden çok temizleme hizmeti yöntemi kullanabilirsiniz.

İlk olarak master.cf dosyasında bir ek temizleme hizmeti (ikinci başlık denetimi denir) tanımlarız

second-headerchecks unix    n       -       n       -       0       cleanup
    -o mime_header_checks=pcre:/path/to/2ndheaderchecks

Bu temizleme işleminde, diğer PCRE tablosuna ikinci mime_header_checks tanımlarız. Son adım, gönderim hizmetine ikinci başlık kontrollerimizi kullanmasını söylemektir

submission inet n       -       n       -       -       smtpd
    -o cleanup_service_name=second-headerchecks

Not:

  • Vakanız bu soruya benzer . Ne yazık ki Laurentiu Roescu'nun yanıtı yalnızca , taşıma olarak smtp kullanan giden postalar için header_checks özelliğini etkinleştirmek istiyorsanız çalışır . İyi haber şu ki, cleanupdaemon hakkındaki ilk cümlesi bize ikinci çözüm için biraz fikir veriyor.

  • Farklı header_checks, body_checks ve içinde tanımlanan diğer parametreleri istiyorsanız çoklu temizleme servisi yöntemi uygulanabilir man 5 header_checks.

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.