วิธีการตั้งค่าการปิดกั้นสแปม milter-greylist ใน Sendmail
การแจกแจงแบบลินุกซ์ทั้งหมดรวม sendmail เป็นค่าเริ่มต้น MTA ซึ่งก็โอเค - มันเป็นเวลานานมีความเสถียรและใช้งานได้ดี (แม้ว่า afficionados postfix อาจไม่เห็นด้วย!) แต่มันไม่มีอะไรในตัวควบคุมสแปมที่ดี มันไม่ได้ถูกออกแบบมาสำหรับสิ่งนั้น ดังนั้นคุณได้ติดตั้ง spamassassin และใช้งานได้ดี แต่คุณยังคงได้รับอีเมลสแปมที่ไม่มีการเผยแพร่ บางทีคุณอาจต้องลองทำ greylisting.
Greylisting เป็นกระบวนการที่อีเมลทั้งหมด (ยกเว้นในรายการที่อนุญาตพิเศษ) ได้รับการปฏิเสธในขั้นต้น แต่ยังทำงานภายในพารามิเตอร์ของ RFC ต่างๆเพื่อให้แน่ใจว่าได้รับอีเมลในที่สุด แนวคิดคือผู้ส่งอีเมลขยะจะไม่พยายามเชื่อมต่อกับเซิร์ฟเวอร์อีเมลที่ปฏิเสธข้อเสนอของตนอีกครั้ง มันไม่ผิดพลาดนักสแปมเมอร์สามารถปรับตัวได้อย่างรวดเร็วและ greylisting ใช้เวลานาน แต่มันก็ช่วยได้.
บทความนี้เกี่ยวกับวิธีการติดตั้ง milter-greylist ซึ่งเขียนโดย Emmanuel Dreyfus ฉันจะมุ่งเน้นไปที่ sendmail ที่นี่ แต่ milter-greylist นั้นรองรับ postfix ด้วย.
ก่อนอื่นให้ตรวจสอบการพึ่งพาของคุณ จาก README:
สร้างการอ้างอิง:
- flex (AT&T lex ไม่สามารถสร้างแหล่ง milter-greylist)
- yacc หรือ bison (yacc ที่เก่ากว่าบางตัวจะล้มเหลวใช้ bison แทน)
- libmilter (มาพร้อมกับ Sendmail หรือกับ sendmail-devel
แพ็คเกจบน RedHat, Fedora และ SuSE Debian และ Ubuntu มีแล้ว
ใน libmilter-dev)
- ไลบรารีเธรด POSIX ใด ๆ (จัดทำโดย libc ในบางระบบ)ตัวเลือกการพึ่งพา:
- libspf2, libspf_alt หรือ libspf สำหรับการสนับสนุน SPF
- libcurl สำหรับการตรวจสอบ URL สนับสนุน
- libGeoIP สำหรับการสนับสนุน GeoIP
- libbind จาก BIND 9 สำหรับการสนับสนุน DNSRBL ยกเว้นว่าระบบของคุณมีตัวแก้ไข DNS แบบเธรดที่ปลอดภัย.
แต่กระบวนการกำหนดค่าจะพบสิ่งใดก็ตามที่คุณไม่ได้ติดตั้งและบ่นจนกว่าการพึ่งพาจะได้รับการแก้ไข.
ถัดไปดาวน์โหลด greylist-milter จาก http://hcpnet.free.fr/milter-greylist และแกะ tarball ออก จากนั้นอ่านไฟล์ README! มันมีข้อมูลมากมายที่ไม่ได้กล่าวถึงในบทความนี้โดยเฉพาะอย่างยิ่งสำหรับการติดตั้งที่ต้องการ / จำเป็นต้องมีคุณสมบัติพิเศษเช่นการสนับสนุน SPF.
และทำตามปกติ
./ กำหนดค่า
./ ทำให้
./ ทำการติดตั้ง
การติดตั้งมาตรฐานจะทำให้ไบนารีใน / usr / local / bin ฐานข้อมูลและไฟล์ pid ใน / var / milter-greylist และไฟล์การกำหนดค่าจะเป็น /etc/mail/greylist.conf สคริปต์เริ่มต้นบางตัวจะรวมอยู่ใน tarball แต่ไม่ได้ติดตั้งโดยอัตโนมัติ คุณจะต้องตั้งค่าใน / etc / init.d ของคุณเองหากคุณต้องการใช้.
จากนั้นคุณจะต้องกำหนดค่า sendmail เพื่อใช้งาน milter ในไฟล์ sendmail.mc ของคุณเพิ่มสิ่งต่อไปนี้ (แต่ให้ความสนใจกับคำเตือนในไฟล์ README ถ้าคุณใช้ milters อื่นในการติดตั้ง!):
INPUT_MAIL_FILTER ( 'อนุโลม', 'S = ท้องถิ่น: /var/milter-greylist/milter-greylist.sock') dnl
define ('confMILTER_MACROS_CONNECT', 'j, if_addr') dnl
define ('confMILTER_MACROS_HELO', 'ยืนยัน, cert_subject') dnl
define ('confMILTER_MACROS_ENVFROM', 'i, auth_authen') dnl
define ('confMILTER_MACROS_ENVRCPT', 'greylist') dnl
และกำหนดค่าไฟล์ sendmail.cf ของคุณใหม่:
# m4 sendmail.mc> sendmail.cf
อย่างไรก็ตามอย่าเพิ่งเริ่ม sendmail daemon ของคุณอีกครั้ง - เรายังต้องแก้ไขการกำหนดค่าเพื่อให้สามารถทำงานได้อย่างถูกต้อง.
เปิด /etc/mail/greylist.conf ในเครื่องมือแก้ไขรายการโปรดของคุณ (ซึ่งแน่นอนคือ vi ใช่ไหม?).
ไม่ใส่ข้อคิดเห็นหรือเพิ่มสิ่งต่อไปนี้:
เงียบ
greylist 7m
dumpfreq 1d
autowhite 10d
ในการกำหนดค่าข้างต้น 'เงียบ' จะไม่รวมกรอบเวลาในการลองส่งอีกครั้ง วิธีนี้เป็นวิธีที่ดีที่ผู้ส่งสแปมจะไม่สามารถทราบได้ว่าจะถูกบล็อกนานแค่ไหน Greylisting จะใช้เวลา 7 นาทีหลังจากนั้นจะยอมรับอีเมลจากแหล่งที่มาเนื้อหาของฐานข้อมูลจะถูกทิ้งไปยัง /var/milter-greylist/greylist.db วันละครั้งและเมื่ออีเมลได้รับการยอมรับจากแหล่งที่มานั้น จะได้รับอนุญาตพิเศษเป็นเวลา 10 วันก่อนที่จะได้รับ greylisted อีกครั้ง.
สร้างรายการเพื่ออนุญาตรายการเครือข่ายของคุณเองไปยังไฟล์กำหนดค่าด้วย:
รายการ "เครือข่ายของฉัน" addr 127.0.0.1/8 10.230.1.0/24 192.168.1.0/24
ซึ่งจะอนุญาตรายการภายในเครือข่าย DMZ และภายใน (เป็นตัวอย่าง - คุณอาจแตกต่างออกไป) สังเกตเห็นช่องว่างระหว่างที่อยู่เครือข่าย, ไม่ จุลภาค.
พร้อมกับเครือข่ายภายนอกอื่น ๆ ที่เชื่อถือได้เสมอ:
# เครือข่ายที่เชื่อถือได้เพื่อไม่ใช่นักออกแบบหน้าต่อ:
รายการ "ที่เชื่อถือได้" addr
207.46.0.0/16 # Microsoft
72.33.0.0/16 # UW Madison
มีรายการที่ครอบคลุมอย่างเป็นธรรมของเซิร์ฟเวอร์เมลที่ 'เสีย' ในไฟล์การกำหนดค่าที่มักจะได้รับการยกเว้นเพราะ greylisting พวกเขาส่วนใหญ่จะส่งผลให้ไม่เคยได้รับอีเมลจากพวกเขา คุณสามารถเพิ่มลงในรายการที่ต้องการได้เช่นกันหากต้องการ.
คุณมักจะตั้งค่า greylisting เป็นค่าเริ่มต้นดังนั้นคุณอาจต้องการอนุญาตให้ผู้ใช้บางรายที่ไม่ต้องการให้อีเมลล่าช้า (รองประธานที่ขี้โอ่หลายคนที่อยู่แจ้งเตือนของระบบและอื่น ๆ ):
# รายชื่อผู้ใช้ที่ต้องการบัญชีขาว (ถ้า greylisting เป็นค่าเริ่มต้น):
รายการ "ผู้ใช้สีขาว" rcpt
[email protected]
[email protected]
[email protected]
สังเกตชื่อรายการของ“ เครือข่ายของฉัน”,“ เชื่อถือได้” และ“ ผู้ใช้สีขาว” - คุณต้องเพิ่มชื่อเหล่านี้ลงในบรรทัดการกำหนดค่าที่อนุญาตพิเศษ:
# และนี่คือรายการเข้าถึง
รายการบัญชีขาว racl "เครือข่ายของฉัน"
รายการที่อนุญาตในรายการ racl "broken mta"
รายการที่อนุญาตในรายการ racl "ที่เชื่อถือได้"
รายการบัญชีขาว racl "ผู้ใช้สีขาว"
หมายเหตุ: คุณสามารถตั้งค่ารายการนี้เป็นรายการที่อนุญาตเป็นค่าเริ่มต้นซึ่งในกรณีนี้คุณจะสร้างรายการ“ ผู้ใช้สีเทา” ของกลุ่มที่คุณต้องการให้เป็นสีเทา ซึ่งรวมถึงผู้ใช้ที่หลงทางที่โพสต์ที่อยู่อีเมลที่ทำงานทั่วเว็บไซต์เครือข่ายสังคมเว็บไซต์ขายและการสมัครรับจดหมายข่าวแน่นอน.
จากนั้นกำหนดค่าการทำงานเริ่มต้นของ milter-greylist:
นักกรีฑาเริ่มต้น
(ใช้การกำหนดค่าเริ่มต้นรายการที่อนุญาตถ้าคุณต้องการให้รายการที่อนุญาตเป็นค่าเริ่มต้น).
จากนั้นเปิดไบนารีของ milter-greylist ของคุณโดยใช้ /etc/init.d/milter-greylist สคริปต์เริ่มต้นหรือ
# milter-greylist -f /etc/mail/greylist.config
ที่บรรทัดคำสั่ง มีตัวเลือกบรรทัดคำสั่งอื่น ๆ มากมาย (หลายพารามิเตอร์ที่ซ้ำกันตั้งอยู่ในไฟล์ conf) ดู
มนุษย์ milter-greylist
สำหรับรายละเอียดเพิ่มเติม.
จากนั้นรีสตาร์ท sendmail daemon ของคุณและเพลิดเพลินไปกับสแปมน้อยลงที่เข้าสู่เซิร์ฟเวอร์เมล.