আমি কীভাবে পোস্টফিক্সের সাথে স্প্যামট্র্যাপ করব?


5

আমি কীভাবে পোস্টফিক্সের সাথে স্প্যামট্র্যাপ সেটআপ করব যাতে আটকে থাকা ঠিকানায় পাঠানো ক্লায়েন্টগুলি আমাকে আরও স্প্যাম পাঠানো থেকে বিরত রাখে?

উত্তর:


5

এক নজরে

বায়েশিয়ান ফিল্টার এবং প্যাটার্ন ম্যাচিং এবং আরবিএলগুলি স্প্যামের বিরুদ্ধে লড়াইয়ের সমস্ত অংশ। এই সেটআপটি সেগুলি প্রতিস্থাপনের চেয়ে বাড়ানোর উদ্দেশ্যে করা হয়েছে।

মনে রাখবেন যে আমি গ্রিলিস্টিং করছি না। গ্রিলিস্টিং তত্ত্বের ক্ষেত্রে দুর্দান্ত তবে বাস্তবে এটি আপনার ব্যবহারকারীদের জন্য অত্যন্ত বিরক্তিকর। কিছু লোক এটির সাথে দুর্দান্ত সাফল্য অর্জন করে। আমি people লোকদের একজন নই।

আমি যা করেছি তা হ'ল স্প্যামট্র্যাপ হিসাবে কাজ করার জন্য বেশ কয়েকটি ইমেল ঠিকানা সেটআপ করা হয়েছে (আমার প্রায় 10,000 রয়েছে তবে আপনি কয়েক শতাধিক করতে পারেন)। এই ঠিকানাগুলির তালিকাগুলি বিভিন্ন উচ্চ ট্রাফিক সাইটগুলির সাথে বিচ্ছিন্নভাবে লিঙ্কযুক্ত রয়েছে যেখানে বটগুলি সেগুলি খুঁজে পাবে কিন্তু লোকেরা তা পাবে না। এই ঠিকানাগুলি ফসল কাটা হয়, স্প্যামারদের কাছে বিক্রি করা হয় এবং এখন আমি জানি স্প্যাম কোথায় আসতে চলেছে।

আমার স্প্যামট্র্যাপ স্ক্রিপ্টে এই ঠিকানাগুলির যে কোনওটিতে বার্তা পুনঃনির্দেশ করার জন্য পোস্টফিক্সটি কনফিগার করা হয়েছে, যা তাদের পিএফ-তে একটি টেবিলের সাথে যুক্ত করে যাতে সেই ক্লায়েন্টের আরও কোনও বার্তা আমার টারপিতে শেষ হয়।

সুবিধা:

  • জিরো মিথ্যা-ইতিবাচক হার (বা আপনি যতটা কাছে পেতে পারেন তত কাছাকাছি)
  • রিসোর্স-সস্তা
  • ফায়ারওয়াল স্তরটিতে স্প্যামারগুলিকে তাদের প্রথম বিভ্রান্তির পরে ব্লক করে
  • স্ব-নিরাময় (আটকে পড়া ঠিকানাগুলি 24 ঘন্টা পরে শেষ হবে)

অসুবিধাগুলি:

  • প্লাগ-এন্ড-প্লে নয়
  • বেশ কিছু চলমান অংশ

কীভাবে?

আপনার মেল সার্ভারটি অবশ্যই পিএফ এবং স্প্যাম চালাতে সক্ষম হবে। আমি যতদূর জানি, এর অর্থ ওপেনবিএসডি বা ফ্রিবিএসডি। আমি নিশ্চিত যে এই নির্দেশাবলী লিনাক্স এবং তাদের ফায়ারওয়ালের স্বাদে খাপ খাইয়ে নিতে পারে তবে এটি আমার উত্তরের বাইরে নয়।

আমি এটি ফ্রিবিএসডি-র জন্য লিখেছি। ওপেনবিএসডি ব্যবহারকারীদের বেশিরভাগ পাথ পরিবর্তন করে এই পদক্ষেপগুলি মানিয়ে নিতে সক্ষম হওয়া উচিত।

অবশেষে, এটি পোস্টফিক্স 2.5+ এর জন্য

টেবিল <স্প্যামড> অবিচ্ছিন্ন
টেবিল <local-Witelist> "/usr/local/etc/spamd/local- whitelist.txt" ফাইলটি অবিরত রাখুন
  • বন্দর থেকে স্প্যাম ইনস্টল করুন
  • /Usr/local/etc/spamd/local- whitelist.txt তৈরি করুন। <লোকাল-শ্বেত তালিকা> টেবিলটি তৈরি করতে পিএফ এই ফাইলটি পড়বে। আমি যে ঠিকানাগুলিকে কখনই ফাঁকি দেওয়া উচিত নয় তার জন্য http://www.greylisting.org/ whitelisting.shtml উল্লেখ করার পরামর্শ দিই। একটি উদাহরণ ফাইল:
127.0.0.1
10.0.0.0/8

# আমাজন
207.171.168.0/24
207.171.180.0/24
207.171.187.0/24
207.171.188.0/24
207.171.190.0/24

# এওএল
64.12.137.0/24
64.12.138.0/24
152.163.225.0/24
205.188.139.0/24
205.188.144.0/24
205.188.156.66
205.188.157.0/24
205.188.159.7

# আপেল
17.254.6.0/24

# ইবে
66.135.197.0/24
66.135.209.0/24

# জিমেইল
64.68.80.0/21
64.233.160.0/19
64.233.162.192/28
64.233.170.192/28
64.233.182.192/28
64.233.184.192/28
66.249.82.192/28
66.249.92.192/28
66.249.64.0/19
66.102.0.0/20
70.89.39.152/29
70.90.219.48/29
70.90.219.72/29
72.14.192.0/18
74.125.0.0/16
209.85.128.0/17
216.239.32.0/19
216.239.56.240/28

# পোস্টিনি
63.146.199.13/32
63.146.199.14/32
63.71.11.123/32
63.71.11.124/32
64.18.0.0/20
67.114.133.222/32
68.123.185.46/32
74.125.148.0/22
204.14.232.0/22
207.126.144.0/20
208.111.151.5/32
208.74.204.5/32

# skynet.be
195.238.2.0/24
195.238.3.0/24

# ইয়াহু
64.94.237.0/24
66.163.160.0/19
66.196.64.0/18
66.218.64.0/19
66.218.66.0/24 
66.218.67.0/24
66.218.69.0/24
69.147.92.0/24
73.30.0.0/16
74.6.0.0/16
206.190.32.0/19
216.34.77.0/25
216.136.226.0/24
  • পুনরায় লোড করুন পিএফ

  • / Usr / স্থানীয় / স্ক্রিপ্টগুলি / স্প্যাম-ট্র্যাপ তৈরি করুন:

#!/bin/sh
/usr/local/sbin/spamdb | grep TRAPPED | cut -d '|' -f 2
  • /Usr/local/etc/spamd/spamd.conf তৈরি করুন। আমি পাশাপাশি Nixspam এবং ualbert.ca তালিকা ব্যবহার করার পরামর্শ দিচ্ছি, তবে কমপক্ষে আপনার স্প্যামট্র্যাপড এবং ওভাররাইড তালিকাগুলি দরকার। (দ্রষ্টব্য: আমি জানি পিএফ এর আরডিআর বিধিগুলির সাথে ওভাররাইড অপ্রয়োজনীয় - আমি এমন জিনিসগুলিকে যথেষ্ট পরিমাণে সরিয়ে ফেলি যা আমি এই দ্বিগুণ সুরক্ষা চাই):
সব: uatraps: ওভাররাইড: nixspam: ওভাররাইড: spamtrapped: ওভাররাইড:

# আলবার্টা গ্রেইট্র্যাপ বিশ্ববিদ্যালয় হিট।
# ঠিকানাগুলি তারা দুর্ব্যবহার করার সময় থেকে এটি 24 ঘন্টা থাকে।
uatraps: \
        : কালো: \
        : msg = "আপনার ঠিকানা% A একটি ualberta.ca স্প্যামট্র্যাপে মেল প্রেরণ করেছে \ n \
        গত 24 ঘন্টা মধ্যে ": \
        : পদ্ধতি = HTTP: \
        : ফাইল = www.openbsd.org / spamd / traplist.gz:

# নিক্সস্প্যাম সাম্প্রতিক উত্স তালিকা।
# Http://www.heise.de/ix/nixspam থেকে মিরর করা
nixspam: \
        : কালো: \
        : msg = "আপনার ঠিকানা% A হল নিক্সস্প্যামের তালিকায় \ n \
        বিস্তারিত জানার জন্য http://www.heise.de/ix/nixspam/dnsbl_en/ দেখুন ": \
        : পদ্ধতি = HTTP: \
        : ফাইল = www.openbsd.org / spamd / nixspam.gz:

# আটকে থাকা আইপি - যাতে গ্রিলিস্টিং ব্যবহার না করে আমরা সেগুলি ব্লক করতে পারি
spamtrapped: \
        : কালো: \
        : msg = "আপনার ঠিকানা% A এই সার্ভারে স্প্যামট্র্যাপে মেল প্রেরণ করেছে \ n \
        গত 24 ঘন্টা মধ্যে ": \
        : পদ্ধতি = Exec: \
        : ফাইল =, / usr / স্থানীয় / স্ক্রিপ্ট / পেতে-spamtrapped:

অগ্রাহ্য করা:\
        : সাদা: \
        : পদ্ধতি = ফাইল: \
        : ফাইল =, / usr / স্থানীয়, / etc / spamd / স্থানীয় whitelist.txt:
  • বুটআপ চালানোর জন্য স্প্যামড সেট করুন। মনে রাখবেন যে আপনি কেবলমাত্র কালোতালিকা-মোডে চলছেন না এবং যখন কেউ ব্ল্যাকলিস্টে প্রেরণ করার চেষ্টা করছেন আপনি 5 xxx ত্রুটি নিক্ষেপ করছেন। পূর্ববর্তীটি তাই স্প্যামডিবি আটকা পড়া ঠিকানাগুলি সঞ্চয় / মেয়াদোত্তীর্ণ পরিচালনা করবে। পরেরটি ভাল আচরণ। /Etc/rc.conf এ যুক্ত করুন:
obspamd_enable = "হ্যাঁ"
obspamd_flags = "- 5"
  • স্প্যামড শুরু করুন: /usr/local/etc/rc.d/obspamd শুরু

  • ক্রোনজব্ব এক ঘন্টার মধ্যে কেবল ব্ল্যাকলিস্ট-মোডে স্প্যামড-সেটআপ চালাবে। ব্ল্যাকলিস্ট মোড এটিকে স্প্যামডের অভ্যন্তরীণ সারণীর চেয়ে <spamd> পিএফ টেবিলটি আপডেট করতে বাধ্য করে। স্প্যামড যেহেতু কেবল ডেপিকেটেটিং এবং ডেটা সংরক্ষণ করছে, তাই সমস্ত কিছু পিএফের মধ্যে থাকা দরকার। (আপনি যে সময়টি চালাতে চান তার মিনিটের সাথে এক্সএক্সএক্স প্রতিস্থাপন করুন)

# স্প্যামড-সেটআপ
XX * * * * রুট / ইউএসআর / লোকাল / এসবিন / স্প্যামড-সেটআপ-বি
  • আপনার মেশিনে একটি স্প্যামট্র্যাপ ব্যবহারকারী তৈরি করুন। আমি তাকে ভবিষ্যতের এক্সটেনশনের জন্য একটি হোম ডিরেক্টরি দিচ্ছি:
do সুডো পিডব্লিউ স্প্যামট্র্যাপ-এস / এসবিন / লোলজিন-ডি / হোম / স্প্যামট্র্যাপ-এম-সি "স্প্যাম সংগ্রাহক"
  • / Usr / স্থানীয় / স্ক্রিপ্ট / স্প্যামট্র্যাপ তৈরি করুন:
#!/usr/local/bin/bash

# rudimentary checking - more complex checking will be done by 
# the pfctl and spamdb commands
ADDRESS=${1%%[!0-9.]*}
if [[ ! ${#ADDRESS} = ${#1} ]]
then
        echo "Invalid characters in IP address"
        exit 1
fi
if [ ! ${ADDRESS} ]
then
        echo "Usage: $0 <address>"
        exit 1
fi



/usr/local/sbin/spamdb -t -a ${ADDRESS}
if [ "$?" -ne 0 ]
then
        echo "Failed to add ${ADDRESS} to spamdb"
        exit 1
fi
/sbin/pfctl -qt spamd -T add ${ADDRESS}
if [ "$?" -ne 0 ]
then
        echo "Failed to add ${ADDRESS} to pf"
        exit 1
fi
/usr/bin/logger -t spamtrap "Spamtrap caught ${ADDRESS}"
  • পোস্টফিক্সের /usr/local/etc/postfix/master.cf এ একটি নতুন পরিবহন পরিষেবা কনফিগার করুন। এক্স পতাকা পোস্টফিক্সকে বার্তাটির এই চূড়ান্ত বিতরণটি বিবেচনা করতে বলে যাতে স্প্যামার একটি সাফল্যের বার্তা পায়। ব্যবহারকারী নোট করুন - এটি স্ক্রিপ্টে sudo অ্যাক্সেস প্রয়োজন।
# স্প্যামট্র্যাপ
স্প্যামট্রেপার ইউনিক্স - এনএন - - পাইপ
  পতাকাগুলি = এক্স ব্যবহারকারী = কেউ আরগভি = / ইউএসআর / স্থানীয় / বিন / সুডো / ইউএসআর / স্থানীয় / স্ক্রিপ্ট / স্প্যামট্র্যাপ {{ক্লায়েন্ট_ড্রেস}
  • Sudoers যোগ করুন:
সমস্তই নয় = NOPASSWD: / usr / স্থানীয় / স্ক্রিপ্ট / স্প্যামট্র্যাপ
  • ট্রান্সপোর্ট রুল তৈরি করুন যা স্প্যামট্র্যাপ @ লোকালহোস্টে প্রেরিত সমস্ত বার্তা স্প্যামট্রেপার পরিষেবাতে প্রেরণ করে। কোন ফাইল সম্পাদনা করতে হবে তার জন্য 'পোস্টকনফ ট্রান্সপোর্ট_ম্যাপস' দেখুন। ডিফল্টটি হ'ল / ইউএসআর / স্থানীয় / ইত্যাদি / পোস্টফিক্স / পরিবহন:
স্প্যামট্র্যাপ @ লোকালহোস্ট স্প্যামট্রেপার
  • পোস্টফিক্স পুনরায় আরম্ভ করুন। স্প্যামট্র্যাপ @ লোকালহোস্টে কয়েকটি বার্তা প্রেরণ করুন এবং প্রেরণকারী ক্লায়েন্টটি স্প্যামডবিতে এবং <spamd> পিএফ সারণিতে লোড হয়েছে কিনা তা যাচাই করুন।
$ প্রতিধ্বনি "পরীক্ষা" | মেল স্প্যামট্র্যাপ @ লোকালহোস্ট
$ স্প্যামডবি | গ্রেপ 127.0.0.1
আটকা পড়ে | 127.0.0.1 | 1253655172
do sudo pfctl -qt স্প্যামড -T শো
   127.0.0.1
$

আপনার প্রতিটি স্প্রেট্র্যাপড ইমেল ঠিকানাগুলির জন্য দুটি জিনিস হওয়া দরকার। প্রথমত, এটি অবশ্যই একটি আসল মেলবক্সে সমাধান করা উচিত যাতে এসএমটিপি সংলাপের সময় এটি প্রত্যাখ্যান হয় না। আমি স্প্যাচট্র্যাপ @ লোকালহোস্ট-এ অভিযুক্ত ভার্চুয়াল ব্যবহারকারীদের ব্যবহার করেছি। দ্বিতীয়ত, এটি পোস্টফিক্সের একটি চেক_আরসিপিয়েন্ট_অ্যাক্সেস নিয়মের সাথে মেলে এবং স্প্যামট্র্যাপ @ লোকালহোস্টে পুনর্নির্দেশ করা দরকার যাতে প্রাপক তালিকার অন্তর্ভুক্ত বৈধ ব্যবহারকারীরা কখনই এটি দেখতে না পান। আমি এই অংশটি কীভাবে করেছি:

  • /Usr/local/etc/postfix/main.cf এ যুক্ত করুন:
ভার্চুয়াল_ম্যাপস = হ্যাশ: / ইউএসআর / স্থানীয় / ইত্যাদি / পোস্টফিক্স / স্প্যামট্র্যাপ_ম্যাপস
smtpd_recipient_restrictions = চেক_আরসিপিয়েন্ট_অ্যাক্সেস হ্যাশ: / ইউএসআর / লোকাল / ইত্যাদি / পোস্টফিক্স / স্প্যামট্র্যাপ_রসিপিয়েন্টস
  • স্প্যামট্র্যাপ_ম্যাপসের ফর্ম্যাট:
spamtrapedaddress@domain.tld স্প্যামট্র্যাপ
  • স্প্যামট্র্যাপ_সামগ্রহকারীদের ফর্ম্যাট:
স্প্যামট্রেডএডড্রেস@ডোমেন.টल्ड রিডিরেক্ট স্প্যামট্র্যাপ @ লোকালহোস্ট
  • এই ফাইলগুলি আপনার মেকফিল এবং পরীক্ষায় যুক্ত করুন।

এই মুহুর্তে, আপনার স্প্যামট্র্যাপ ঠিকানায় মেল প্রেরণকারী সমস্ত ক্লায়েন্ট স্প্যামডবি এবং <স্প্যামডি> এ যুক্ত করা উচিত। স্প্যামডে এখনও কিছুই পাঠানো হচ্ছে না। সম্পূর্ণ ব্লকিং প্রক্রিয়াটিকে লাইভ করতে, /etc/pf.conf এ যুক্ত করুন এবং পিএফ পুনরায় লোড করুন:

<লোকাল-শ্বেত তালিকা থেকে পোর্ট 25 পর্যন্ত কোনও আরডিআর প্রোটো টিসিপি নেই
<spamd> থেকে পোর্ট 25 -> 127.0.0.1 পোর্ট 8025 এ rdr পাস প্রোটো টিসিপি

এবং এটাই.

সম্ভাব্য এক্সটেনশনগুলি

  • বায়েশিয়ান স্প্যাম কর্পাসে বার্তাটির অনুলিপি সঞ্চয় করতে স্প্যামট্র্যাপ স্ক্রিপ্টটি সংশোধন করা তুচ্ছ হবে।

  • আপনি যদি কোনও আরবিএল আরসিএনসি সার্ভিস সাবস্ক্রাইব করেন তবে সেই বার্তাটি স্প্যামে বাউন্ডিং অফলোড করা তুচ্ছ।


2

ঠিক আছে, দেখে মনে হচ্ছে আপনি নিজের উত্তর দিয়ে শেষ করেছেন। কেবল পোস্টফিক্স-পলিসিডকে দোষ দিবেন না, এটি স্প্যামের বিরুদ্ধে আপনার লড়াইয়ের জন্য বেশ কয়েকটি প্রক্রিয়া সরবরাহ করার কারণে আপনি যা ভাবেন তার চেয়ে অনেক বেশি নমনীয়:

পলিসিড হ'ল পোস্টফিক্স (মাইএসকিউএল ভিত্তিক) এর জন্য একটি স্প্যাম বিরোধী প্লাগইন যা গ্রিলিস্টিং, প্রেরক- (খাম বা এসএএসএল) ভিত্তিক থ্রোটলিং (বার্তা এবং / অথবা প্রতি সংজ্ঞায়িত সময় ইউনিটের উপর), স্প্যামট্র্যাপ মনিটরিং / ব্ল্যাকলিস্টিং এবং হেলো অটো ব্ল্যাকলিস্টিং করে।

আপনাকে সেই সমস্ত ওয়েপন ব্যবহার করার দরকার নেই এবং আপনার সম্ভবত আপনার আরও কিছু বিধি সেটআপ করা উচিত smtpd_recipient_restrictions

যাইহোক, এটি চেষ্টা করে দেখুন (এবং ডক্সগুলি পড়ুন) বা আপনার নিজের সমাধান তৈরি করুন - এটি আপনার উপর নির্ভর করে।


এমনকি আমার নীতিগত ধারণা ছিল না had আমি এটি পরীক্ষা করে দেখুন - ধন্যবাদ!
sh-beta

1

কেবলমাত্র একটি দ্রুত ইঙ্গিত: পোস্টফিক্স-পলিসিড ব্যবহার করুন, উদাহরণগুলি কনফিগারেশনে অন্তর্ভুক্ত করা হয়েছে ...

smtpd_recipient_restrictionsআপনার মেইন.সি.এফ এ এটি একটি নীতি পরিষেবা হিসাবে সেট আপ করুন , অর্থাত:

## call policyd
check_policy_service inet:127.0.0.1:10031,

গ্রিলিস্টিং সক্ষম করার সাথে একত্রে কবজ স্প্যামট্র্যাপিংয়ের মতো কাজ করে। শুভকামনা!


1

ওপি দ্বারা উপস্থাপিত সমাধান বরং জটিল। আমি একটি সহজ পদ্ধতির ব্যবহার করেছি:

পদক্ষেপ 1: একটি ফিল্টার ফাইল সেটআপ করুন /etc/postfix/spamtraps

এটি কেবল একটি সহজ "মিলের তালিকা": যখন দেখা হয় তখন একটি ক্রিয়া সহ একটি নিয়মিত প্রকাশ (স্প্যামট্র্যাপের জন্য):

/spam(masterLivetrap)?\@.*/i ডিস্কার্ড স্প্যামট্র্যাপ ট্রিগার করে
/funkyspammer\@.*/i ডিস্কার্ড স্প্যামট্র্যাপ ট্রিগার করে

আপনার ঠিকানাগুলি সমন্বয় করুন।

পদক্ষেপ 2: নিয়মগুলি সেটআপ করুন /etc/postfix/main.cf

দেখুন smtpd_recipient_restrictionsব্লক, এবং সংশ্লিষ্ট নিয়ম করা আগে আপনার নেটওয়ার্ক চেক (কম লোড), কিন্তু পরে প্রামাণ ব্যবহারকারীদের। উদাহরণ:

smtpd_recipient_restrictions = পারমিট_স্যাসেল_অথিতিকৃত
        permit_mynetworks
        চেক_সেসিপিয়েন্ট_অ্যাক্সেস রিজেক্সেপ: / ইত্যাদি / পোস্টফিক্স / স্প্যামট্র্যাপস
        ...

পদক্ষেপ 3: ডেমনটি পুনরায় লোড করুন

অবশ্যই আপনাকে এখনই পোস্টফিক্সটি পুনরায় লোড করা দরকার, সুতরাং আপনার পরিবর্তনগুলি কার্যকর হয়। আপনার বিতরণ উপর নির্ভর করে, এই হয় এর সম্পন্ন করা হয় service postfix reload, /etc/init.d/postfix reloadঅথবা একটি অনুরূপ কমান্ড।

পদক্ষেপ 4: এখন সেই স্প্যামারদের বাইরে রাখুন

এটি একটি considerচ্ছিক পদক্ষেপ যা আপনি বিবেচনা করতে চাইতে পারেন: Fail2ban ব্যবহার করুন এবং এটি আপনার মেল লগ ফাইলটি দেখে have যত তাড়াতাড়ি কেউ স্প্যামট্র্যাপকে সম্বোধন করবে, সেই আইপি নিষিদ্ধ করুন (উদাহরণস্বরূপ 30 মিনিটের জন্য, বা সম্ভবত 1 ঘন্টা - এটিকে বেশি দীর্ঘ করবেন না, কারণ স্প্যামার একটি গতিশীল আইপি ব্যবহার করতে পারে যা শীঘ্রই "নির্দোষ" হয়ে যায়)।


0

কারও যদি চতুর্থ ধাপে স্যাম্পল স্ক্রিপ্টের প্রয়োজন হয় তবে আমরা এখানে যাই ...

grep 'your_spamtrapaddress1@domain.com' /var/log/maillog >/tmp/badips_raw
grep 'your_spamtrapaddress2@domain.com' /var/log/maillog >>/tmp/badips_raw

egrep -o -e "[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}" /tmp/badips_raw >> /tmp/badips_nu

sort -u /tmp/badips_nu > /tmp/badips

rm -rf /tmp/badips_raw
rm -rf /tmp/badips_nu


while read ip
do
fail2ban-client set postfix-sasl banip $ip
done < /tmp/badips


rm -rf /tmp/badips

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.