POSTFIX: उस दर को सीमित करना जिस पर एक विशेष उपयोगकर्ता ईमेल भेज सकता है


13

हमारे पास एक सर्वर CentOS सर्वर सेटअप है जो हमारी वेबसाइटों और ईमेल सर्वर (POSTFIX का उपयोग करके) को होस्ट करता है। हम क्रमशः Virtualmin और Webmin का उपयोग करके सिस्टम का प्रबंधन करते हैं।

सामान्य रूप से प्रत्येक साइट के लिए जो हम सेटअप करते हैं, हम ग्राहक को अपने सिस्टम पर एक ईमेल खाता प्रदान करते हैं। विशेष रूप से एक ग्राहक ने इसे थोक में सचमुच हजारों ईमेल भेजने का एक अच्छा विचार तय किया है। जब ऐसा होता है तो मेल सर्वर अनुत्तरदायी हो जाएगा और अन्य ग्राहकों के लिए मेल नीचे चले जाएंगे जबकि कतार संसाधित हो जाएगी।

क्या कोई तरीका है जिससे हम ईमेल की दर को सिस्टम के एक विशेष उपयोगकर्ता के बजाय सभी के लिए भेज सकते हैं? क्या कोई ऐसी सेटिंग भी है जिसे हमें बदलना चाहिए ताकि कोई भी उपयोगकर्ता ऐसा न कर सके जिससे मेल सर्वर अन्य उपयोगकर्ताओं के लिए विफल हो सके?

धन्यवाद

जवाबों:



23

यह मुझे चौंकाता है कि इस पुराने प्रश्न के अन्य सभी उत्तर लिंक-ओनली हैं। इसलिए मैं कुछ शब्दों में वर्णन करने जा रहा हूं कि इस नौकरी के लिए अपने पसंदीदा समाधान को कैसे लागू किया जाए।

लिंक है कि @ 84104 का सुझाव दिया है, हालांकि बहुत उपयोगी है, ठीक से इस प्रति दर लागू करने के लिए इस्तेमाल नहीं किया जा सकता है। smtpd_clientसीमाएं ट्रैफ़िक नियंत्रण के लिए नहीं हैं, बल्कि क्लाइंट सॉफ़्टवेयर की सहायता के लिए हैं: "क्लाइंट के विरुद्ध उपाय जो बहुत अधिक कनेक्शन बनाते हैं"। एक इस जैसे सुझाव देख सकते हैं हालांकि एक यह है कि यह निश्चित रूप से मदद मिल सकती है। जैसा कि @ ई। यज़ीसी ने सुझाव दिया है, पोस्टफ़िक्स के लिए एक ऐडोन की आवश्यकता है। व्यक्तिगत रूप से मैं पॉलिकैड को वैसा ही समझता हूं, जैसा @Janne Pikkarainen द्वारा अनुशंसित है, हालांकि यह एक मानक माना जाता है।

मेरा पसंदीदा एडऑन पोस्टफ़ीड है क्योंकि यह हल्का और आसान है। यह भी ध्यान देने योग्य है कि यह Plesk या अन्य समान के साथ बहुत आसानी से काम करता है, बिना विन्यास फाइल के Plesk के जटिल सेट को प्रभावित किए बिना। Plesk में ईमेल दर सीमा केवल संस्करण 12 में लागू की गई है, लेकिन अभी भी नीति सुविधाएँ सीमित हैं।

सबसे पहले ऊपर साइट से नवीनतम ऐडऑन डाउनलोड करें। मेरा मानना ​​है कि उबंटू और डेबियन के विपरीत, सेंटोस के लिए कोई आरपीएम नहीं है। फिर भी, यह सलाह दी जाती है कि नवीनतम संस्करण का उपयोग किया जाए। अधिक विशेष रूप से, संस्करण 1.32 (जो उदाहरण में मौजूद है। Ubuntu 14.04LTS रेपो) में एक गंदा बग है जो इसे उचित रूप से कार्य करने से रोकता है। संस्करण 1.35 इसे बाहर छाँटते हैं।

सुनिश्चित करें कि ये PERL मॉड्यूल मौजूद हैं। यदि डेबियन या उबंटू का उपयोग कर रहे हैं, तो आप रिपॉज से स्थापित कर सकते हैं ताकि सभी निर्भरताएं स्वचालित रूप से हल हो जाएं और फिर /usr/sbin/postfwdनवीनतम संस्करण के साथ बदल दें ।

फिर नियम बनाएं। एक फ़ाइल बनाएं जैसे /etc/postfwd.cfया /etc/postfix/postfwd.cfजोड़ें:

id=R001; sender=~/.*/; action=rate(sender/100/86400/REJECT only 100 messages per day for $$sender)
id=R002; sender=~/.*/; action=rate(sender/50/3600/REJECT only 50 messages per hour for $$sender)

उपरोक्त नियमों में स्पष्ट रूप से दो नियम हैं जो सभी प्रेषकों के लिए मूल्यांकन करते हैं। rateक्रिया का वाक्य विन्यास है:

rate (<item>/<max>/<time in sec>/<action>)

अन्य दर के उदाहरण यहां देखे जा सकते हैं । सिंटैक्स का संदर्भ प्रलेखन पर पाया जा सकता है । इसी तरह की चर्चा यहाँ मिल सकती है । SASL कार्यान्वित किया जाता है तो (जैसे Dovecot) आप सुरक्षित रूप से जगह ले सकता है senderके साथ sasl_username। आप -Cविकल्प के साथ नियमों की वैधता का परीक्षण कर सकते हैं :

postfwd -f /etc/postfwd.cf -C

बाद में, आप वैकल्पिक रूप से एक समर्पित उपयोगकर्ता और समूह बना सकते हैं, postfwdजिसके तहत पोस्टफ़ीड चलाएगा और उसे लॉन्च करेगा:

postfwd --daemon -f /etc/postfwd.cf -u postfwd -g postfwd 

उपयुक्त (डेबियन, उबंटू आदि) से स्थापित होने के मामले में, इसके तहत एक कॉन्फ़िगरेशन फ़ाइल भी होनी चाहिए /etc/default/postfwdऔर आप सेवा को ठीक से शुरू कर सकते हैं, जैसे sudo service postfwd start

फिर लॉग को देखने के लिए सत्यापित करें कि पोस्टफीड सुन रहा है। Postfwd पोस्टफिक्स (जैसे /var/log/mailया /usr/local/psa/var/log/maillogआदि) के रूप में एक ही लॉग का उपयोग करता है और एक पंक्ति के रूप postfwd 1.35 ready for inputमें जगह में होना चाहिए।

फिर, पोस्टफ़िक्स को पोस्टफ़ीड का उपयोग करने के लिए बताएं। पोस्टफ़िक्स कॉन्फ़ फ़ाइल (आमतौर पर /etc/postfix/main.cf) और लाइन में संपादित करें :

smtpd_recipient_restrictions = permit_mynetworks,...

जोड़ते हैं check_policy_service inet:127.0.0.1:10040। कृपया विचार करें कि आपने इसे जिस क्रम में रखा है, smtpd_recipient_restrictionsउसका बहुत महत्व है और आप समय का एक बड़ा सौदा खर्च कर सकते हैं जो कि गलत हो सकता है। जैसा कि इस सवाल में बताया गया है , यदि कोई चेक ठीक है या ठीक है तो पोस्टफिक्स अगले एक पर जारी नहीं रहता है, इसलिए आपको संभवतः इसे उच्च स्थान पर रखना चाहिए।

अंतिम, यह जांचने के लिए कि यह काम करता है या तो आप एक बहुत छोटी सीमा को निर्दिष्ट कर सकते हैं जैसे 1 या यहां तक ​​कि एक नियम भी जोड़ सकते हैं id=DEFAULT; action=dunno। कोई भी नियम हिट वैसे भी लॉग इन हो जाता है। कृपया यह भी ध्यान रखें कि प्रति प्रेषक की दर सीमा एक एकल प्राप्तकर्ता या एकाधिक प्राप्तकर्ताओं के साथ एक एकल ईमेल के साथ mulitple ईमेल के बीच अंतर नहीं करती है।

फिर एक खाते से एक ईमेल भेजें (उस सर्वर में) और लॉग देखें:

grep "RULES" /var/log/mail

अन्य लिंक: पोस्टफीड क्विकस्टार्ट


1
अतीत से एक विस्फोट यह सवाल! इस तरह के एक अच्छी तरह से सोचा जवाब देने के लिए समय निकालने के लिए धन्यवाद। मैं प्रभावित हु!
वॉर्पकिड

1
इसमें किसी भी smtpd_recipient_restrictionsजगह के साथ किसी भी प्रविष्टि पर पोस्टफ़िक्स बारफ़्स का मेरा संस्करण , इसलिए मुझे postfwd_ratelimit = check_policy_service inet:127.0.0.1:10040/etc/postfix/main.cf में परिभाषित करना था और फिर /etc/postfix/master.cf में इसे संदर्भ देंsmtpd_recipient_restrictions=...,$postfwd_ratelimit,...
टॉम

उबंटू में पोस्टफिक्स को फिर से शुरू करने के लिए:sudo postfwd -f /etc/postfix/postfwd.cf --pidfile=/var/run/postfwd.pid --reload
Wtower

Ubuntu 16.04 का कम से कम उपयोग करते हुए, मैंने पाया कि मुझे .+(कम से कम 1) के बजाय .*(कम से कम 0) का उपयोग करने के लिए नियमों में वाइल्डकार्ड को बदलने की आवश्यकता थी ताकि नियम अनुपस्थित क्षेत्रों से मेल न खाएं।
टॉमीपीनट्स जुआन

4

पोस्टफिक्स के लिए आपको पॉलिसी एडऑन की जरूरत है। पोस्टफिक्स के लिए एक दर्जन से अधिक पॉलिसी एडऑन हैं, उनमें से कुछ में रेट लिमिटिंग फीचर है। आप यहां पोस्टफ़िक्स नीति एडऑन की सूची पा सकते हैं ।



-1

Mysql http://www.simonecaruso.com/limit-sender-rate-in-postfix/ से कॉन्फ़िगर करने योग्य इस पॉलिसी डेमन की जाँच करें


2
सर्वर दोष में आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो यहां उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
मसलोगेह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.