โฮมเพจ » ทำอย่างไร » วิธีการตั้งค่าการปิดกั้นสแปม milter-greylist ใน Sendmail

    วิธีการตั้งค่าการปิดกั้นสแปม 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 ของคุณและเพลิดเพลินไปกับสแปมน้อยลงที่เข้าสู่เซิร์ฟเวอร์เมล.