Postfix reject_unknown_reverse_client_hostname: varsayılan unknown_client_reject_code (450) yerine 550 yazın. Neden / Ne zaman olmamalı?


9

SPAM'a karşı günlük savaşta, vahşi İnternet'ten bağlanan istemcilerden gelen DNS gereksinimlerini yoğun bir şekilde uygulamak için cazip olduğum birkaç kez oldu.

Ayrıntılı olarak, smtpd_client_restrictions bölümümdeki gibi reject_unknown_reverse_client_hostname ayarını eklerdim :

smtpd_client_restrictions = 
            permit_sasl_authenticated
            check_client_access hash:/etc/postfix/access 
            check_policy_service inet:127.0.0.1:4466
            reject_unknown_reverse_client_hostname
            reject_unauth_pipelining 

Her neyse, böyle bir kısıtlamaya isabet ederken, Postfix davranışının varsayılan değeri unknown_client_reject_code450 olarak oldukça "yumuşak" olduğunu belirttim. Bu nedenle, istemci yeniden denemeye davet edildi.

550 yanıtı araştırırken , resmi Postfix belgelerinde aşağıdaki ifadeyle karşılaştım :

resim açıklamasını buraya girin

Kesinlikle değilim değil bütün hakkında bir uzman RFC 5321 , ama bilmek birinin eski, yeterli uzunlukta olarak RFC 821 , gerçekten (maksimum SMTP düzeyinde benim Postfix örneği etkileyebilir, neden yerine 450 550 tepkisini görmüyorum RFC uyumluluğunu kırma), özellikle geçici hatalar durumunda Postfix'in açık ayara bakılmaksızın 450 ile yapışacağını düşünüyoruz.

Öyleyse, birisi böyle bir değiştirmeyle ilgili sorunun ne olduğunu anlamama yardımcı olabilir mi?


PS: bu arada, ben "rahat" bir kısıtlama ile sona erdi:

smtpd_client_restrictions = 
            permit_sasl_authenticated
            check_client_access hash:/etc/postfix/access 
            check_policy_service inet:127.0.0.1:4466
            warn_if_reject reject_unknown_reverse_client_hostname
            reject_non_fqdn_helo_hostname
            reject_unauth_pipelining 
            reject_invalid_helo_hostname 

Yanıtlar:


12

İki pratik cevapla başlayacağım

  1. İlk ve en bariz cevap, geçici bir DNS hatasının olduğu bir durumda, geçici bir geri dönmenin gönderenin posta sunucusunun DNS hatası düzeltilene kadar tekrar denemesine izin vermesidir. Bu durumda, kalıcı bir geri dönme gerçek ham postanın size ulaşmasını engelleyecektir.

  2. İkinci cevap, postayı göndermek için herhangi bir gerçek fonksiyonel programa sahip olmayan botnet kutuları aracılığıyla büyük miktarda spam gönderilmesidir. Önemsizlerini yalnızca bir kez püskürtecekler ve söz konusu iletinin geçici veya kalıcı bir hata alıp almadığı mesajlarını tekrar göndermeye çalışmazlar. Geçici bir hata kullanarak, spam'ın büyük bir yüzdesini iyice engelliyorsunuz, ancak yine de jambonun tekrar denemesine izin veriyorsunuz. (Bu arada, gri listeleme neden hala çalışıyor ve hala çok fazla spam alıyor.)

Bunlara ek olarak, teori ve RFC'ye daha fazla dayanan bir cevap da vardır.

RFC bölüm 4.2.1'de diyor. o:

Bir yanıtın 4yz veya 5yz kategorisine (aşağıya bakın) uyup uymadığını belirlemek için bir kural, komut formunda veya gönderenin veya alıcının (yani , komut aynı şekilde tekrarlanır ve alıcı yeni bir uygulama oluşturmaz).

Geriye doğru arama hatası durumunda, yalnızca DNS hatasının düzeltilmesi şartıyla, iletinin kendisinde herhangi bir değişiklik yapılmadan iletinin kabul edilebilir olması mümkündür. Bu nedenle, bu geçici bir hata olmalıdır.

İletinin spam olmadığı bir durumda , gönderen posta sunucusu sysadmin hata iletisini fark edebilir ve DNS sorununu düzeltebilir, böylece ileti kullanıcının müdahale etmesi ve yeniden göndermesi gerekmeden iletilebilir. Ayrıca, e-postayı gönderen kullanıcı posta sunucusundan ve / veya DNS girişlerinden de sorumlu değilse, doğrudan kalıcı bir geri dönme olsa bile, onunla hiçbir şey yapamazlar - örneğin yanlış yazılmış bir durumun aksine adres.

Tabii ki, herhangi bir nedenle herhangi bir e-postayı reddetme haklarınız her zaman içindedir.


DNS geçici sorunları hakkında düşündüm ama .... onlar gibi bir sorun olmamalı gibi görünüyor ... " SMTP sunucusu her zaman geçici bir hata durumu nedeniyle eşleme başarısız olduğunda 450 ile cevap verir ". Bunlar geçici DNS arama sorunlarını içermelidir. Değil mi? İkinci noktaya gelince (BotNet, greylisting vb.) Makul görünmektedir: istemciler uygun bir kuyruk mekanizması uygulamadığında, 4XX yanıtı 5XX ile aynı efektleri üretir. Her neyse, bunun neden RFC düzeyinde etkileri olduğunu hala özlüyorum.
Damiano Verzulli

2
@DamianoVerzulli Eşlemenin bir hata ile başarısız olması durumunda uygulanır, DNS yanlış adı döndürmek için yanlış yapılandırıldığında ve daha sonra düzeltildiğinde değil. Her durumda, RFC ile ilgili konularda biraz genişledim.
Jenny D

1
Uygun RFC bölümüne işaret ettiğiniz için teşekkür ederiz. Bu odaklanarak ediyorum: "yanıt tekrarlanan eğer başarılı olabilir eğer 4yz olan herhangi bir değişiklik olmadan komut formda veya ÖZELLİKLERİ ait SENDER veya alıcı". Benim ilk tahminim istemci DNS ana bilgisayar adı, yanı sıra ters DNS haritalama, yani olan gönderenin özellikleri. Değil mi? Aksi takdirde gönderen bir özellik ne göremiyorum. (BTW: Lütfen yorumlarımı kişisel olarak almayın. Bu tartışmayla gerçekten ilgileniyorum ve puanlarınızı gerçekten takdir ediyorum! Yorumunuz için teşekkürler!).
Damiano Verzulli

1
@DamianoVerzulli DNS ana bilgisayar adı, gönderen posta sunucusunun bir özelliği değildir ve posta sunucusu yapılandırmasında değiştirilemez. Genellikle aynı sunucu olmayan, e-posta sunucusunun çok daha az bir parçası olan yetkili DNS sunucusu tarafından kontrol edilir. Bazen aynı organizasyonda bile kontrol edilmez. (Ben şahsen almıyorum - bu herhangi bir ad hominem argümanı olmadan bir gerçekler tartışması, kişisel olarak almam gereken bir şey yok! Çok ilginç olduğunu ve net olduğunu düşünmüyorum, olması gereken bir durum var diğer taraf için de yapılmış.)
Jenny D
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.