पोस्टफ़िक्स से ग्राहक प्रेषक आईपी निकालें / छिपाएँ?


16

मैं क्लाइंट आईपी को पोस्टफिक्स से भेजे गए ईमेल से छिपाने की कोशिश कर रहा हूं।

यहाँ एक उदाहरण है कि मेरा क्या मतलब है:

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

इस लाइन को नोटिस करें (adsl-75-37-61-254.dsl.frs2ca.sbcglobal.net [75.37.61.254])

मैं उस लाइन को ईमेल से हटाना चाहता हूं।

मैंने यह करने की कोशिश की है:

/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

लेकिन मेरा आईपी पता अभी भी ईमेल के प्राप्त हिस्से के अंदर है। अगर मैं smtp सर्वर से ईमेल भेजता हूं तो स्थानीय रूप से आईपी एड्रेस बन जाता हैlocalhost.localdomain [127.0.0.1]

मैं हेडर से क्लाइंट आईपी कैसे निकाल सकता हूं?

जवाबों:


12

में main.cf:

smtp_header_checks = pcre:/etc/postfix/smtp_header_checks

में dynamicmaps.cf:

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

आपको इसे अपने में रखना चाहिए /etc/postfix/smtp_header_checks:

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

फिर भागो

# /etc/init.d/postfix reload

मेरा आईपी पता अभी भी प्रदर्शित है। मैं प्रयासों की सराहना करता हूं।
काइल

पोस्टफिक्स-पीसीआर होना जरूरी नहीं है। रेगेक्सपी उसी तरह काम करता है।
काइल

ठीक है। मैंने सुनिश्चित किया है कि सिस्टम पर pcre स्थापित किया गया था। मैं बदल गया है regexp:/etc/postfix/smtp_header_checksकरने के लिए pcre:/...। फिर मैंने पोस्टफ़िक्स को फिर से शुरू किया है और किसी भी त्रुटि के लिए मॉइलॉग की निगरानी की है। कोई त्रुटि प्रदर्शित नहीं की गई। ईमेल अभी भी मेरे आईपी को प्रदर्शित करता है। XD प्रयासों के लिए धन्यवाद, माइक।
काइल

हम्म ... मुझे एक त्रुटि मिलती है लेकिन मुझे यह irbs.net/internet/postfix/0404/1097.html मिला। मैंने तर्क के साथ इस पोस्टफिक्स.org / pcre_table.5.html के साथ regex का परीक्षण किया : 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और आउटपुट IGNOREऐसा था काम कर रहे। हालाँकि यह ईमेल में बदलाव नहीं कर रहा है ... क्या फील्ड main.cfगलत है?
काइल

1
शिट यार। मैंने सिर्फ आपका समय बर्बाद किया। यह शुरुआत में मेरी गलती है। smtp_header_checksमाना जाता था header_checks... यह अब काम करता है। मुझे खेद है कि मैंने आपका समय बर्बाद किया। मैं आपके प्रयासों की सराहना करता हूं। धन्यवाद। pcre भी बहुत काम करता है। मैं सेंटो पर हूं। धन्यवाद फिर से, भाई।
काइल

3

/Etc/postfix/master.cf खोलें और खोजें:

cleanup unix n - n - 0 cleanup

उन पंक्ति के नीचे जोड़ें और बनें:

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

संपादित करें / आदि / उपसर्ग / हैडर_चेक करें और नीचे दिए गए कोड जोड़ें:

/^Received:/ IGNORE

अब पोस्टफ़िक्स को पुनः आरंभ करें। CentOS पर कहते हैं:

service postfix restart


1
दुर्भाग्य से, यह Receivedआने वाले मेल पर हेडर को भी छीन लेगा ।

0

नए मेल सबमिशन के लिए प्राप्त हेडर से प्रेषक आईपी को हटाने के लिए, विकल्प के header_checksबजाय कुंजी का उपयोग करें smtp_header_checks:

header_checks = regexp:/etc/postfix/header_checks_submission

smtp_header_checksविकल्प केवल मेल बाहरी सर्वर से पोस्टफिक्स से भेजा गया है कि जबकि पर लागू होता है header_checksविकल्प पोस्टफिक्स के लिए अपने ग्राहक से भेजे आने वाली मेल पर लागू होता है।

यह भी देखें कि घटकों के अवलोकन के लिए http://www.postfix.org/OVERVIEW.html पर मेल पोस्टफ़िक्स कैसे प्राप्त करता है , मेल smtpd -> क्लीनअप -> इनकमिंग कतार से जाता है। प्रक्रिया मेल प्राप्त करता है और injects इस आईपी पते के साथ शीर्ष लेख। विकल्प द्वारा संसाधित किया जाता है घटक है जो ईमेल हेडर sanitizes।smtpdReceivedheader_checks(5)cleanup(8)

यह आपके main.cf में विश्व स्तर पर इस तरह के एक विकल्प को स्थापित करने के लिए अनुशंसित नहीं हैheader_checks क्योंकि यह सभी ईमेलों में प्राप्त हेडर को संशोधित करेगा , यहां तक ​​कि बाहरी सर्वर से प्राप्त होने वाले। इसके बजाय, आपको पोर्ट 587 पर एक समर्पित सबमिशन सेवा के माध्यम से ईमेल भेजने के लिए अपने क्लाइंट को कॉन्फ़िगर करना चाहिए, और पोस्टफ़िक्स को इन प्रमाणित सबमिशन के लिए हेडर को फिर से लिखने के लिए कॉन्फ़िगर करना चाहिए।

में /etc/postfix/master.cf, निम्नलिखित जोड़ें -oके बाद लाइनों 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

समय कॉन्फ़िगर करने के लिए सफाई के लिए सेवा एक uthenticated रों ubmissions। मैं ascleanupइसे छोटा और संरेखित रखने के लिए नाम चुनता हूं , लेकिन कोई भी नाम काम करता है। ऐसा करने के लिए, उसी फ़ाइल में क्लीनअप सेवा लाइन को डुप्लिकेट करें master.cf, लेकिन पहले फ़ील्ड का नाम बदलें और फ़िल्टर फ़ाइल का चयन करने के लिए एक नया विकल्प जोड़ें:

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

( pcreटेबल के उपयोग postfix-pcreको डेबियन पर स्थापित करने की आवश्यकता होती है , जो डायनामिकैप्स.एफएफ फ़ाइल को अपडेट करने का स्वचालित रूप से ध्यान रखेगा। इसके लिए और परिवर्तनों की आवश्यकता नहीं है।)

अंतिम टुकड़ा वास्तविक फ़िल्टर कॉन्फ़िगरेशन है /etc/postfix/header_checks_submission। आप संभावित रूप से कुछ का उपयोग कर सकते हैं जैसे:

/^Received: .*/ IGNORE

जो पूर्ण प्राप्त हेडर लाइन को हटा देगा, लेकिन इसके बजाय आप from helo.host (reverse.host.name [192.0.2.1])अन्य जानकारी को संरक्षित करते हुए सिर्फ भाग को छोड़ सकते हैं :

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

यदि आपने mail_nameविकल्प बदला है , तो Postfixअपने कॉन्फ़िगरेशन से मिलान करने के लिए शब्द बदलें । (यह पैटर्न पोस्टफ़िक्स सोर्स कोड, smtpd / smtpd.c के आधार पर सटीक है ।)

मैंने डेबियन बस्टर पर 3.4.7-0 + deb10u1 पोस्टफिक्स के साथ इसका परीक्षण किया। एक ही दृष्टिकोण के साथ एक और महान विवरण के लिए, पोस्टफिक्स के साथ ईमेल भेजते समय देखें कि मैं प्राप्त हेडर में प्रेषक का आईपी और उपयोगकर्ता नाम कैसे छिपा सकता हूं?

उपरोक्त संशोधन के साथ, निम्नलिखित को निम्न में बदल दिया गया है 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

इसे इस्तेमाल करो:

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

केवल *दोनों सिरों में एकल का उपयोग करें


या अधिक पसंद है? / ^ प्राप्त: से। * 127 \ _ \ _ \ _ .1। * / IGNORE
जैक बी।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.