วิธีกำหนดค่า amavisd-new สำหรับการสแกนเฉพาะผู้ส่ง / เซิร์ฟเวอร์โดยเฉพาะ


10

ฉันต้องการทราบวิธีกำหนดค่า amavisd-new เพื่อสแกนหาสแปมเฉพาะลูกค้า (IP, CIDR หรือชื่อโฮสต์) หรือโดเมนอีเมลของผู้ส่ง

ฉันรู้ว่าเป็นไปได้ที่จะทำในที่อยู่อีเมลของผู้รับ แต่ไม่สามารถทำได้สำหรับที่อยู่อีเมลของผู้ส่ง มันเป็นไปได้ที่จะทำในที่อยู่ IP ของผู้รับกับธนาคารนโยบาย แต่วิธีการของฉันควรจะเป็นอิสระจากผู้รับและถ่ายทอดเฉพาะกับผู้ส่ง

สิ่งที่ฉันต้องการทำให้สำเร็จคือสแกนเฉพาะอีเมลที่มาจาก Yahoo, Google, Hotmail และผู้ส่งรายใหญ่อื่น ๆ ดังนั้นการกำหนดค่าผู้ส่งควรสังเกตได้ง่ายกว่าการตั้งค่าที่ควรทำ

ฉันรู้ว่ามันง่ายกว่าที่จะประสบความสำเร็จในด้าน MTA แต่นั่นไม่ได้เป็นส่วนหนึ่งของคำถามเพราะฉันไปแก้ปัญหาทางด้าน MTA แล้ว ฉันต้องการที่จะทำในสิ่งที่แปลกใหม่ และมันก็ไม่ได้ช่วยให้รู้วิธีวางผู้ส่งไว้ในบัญชีขาวเนื่องจากนี่ยังหมายความว่าอีเมลจะผ่านการสแกนทั้งหมด แต่จะได้รับคะแนนลบสูง ไม่ควรสแกนเมลเลยเว้นแต่จะส่งโดยผู้เล่นใหญ่

ดังนั้นพารามิเตอร์ใดใน amavisd-new จึงเป็นพารามิเตอร์ที่เหมาะสมในการเปิดใช้งานการสแกนสำหรับผู้ส่งเฉพาะและสำหรับพวกเขาเท่านั้น


คุณเคยเห็นตัวอย่างเหล่านี้หรือไม่ ถ้าเป็นเช่นนั้นมีอะไรผิดปกติกับพวกเขา?
the-wabbit

@ syneticon-dj ฉันรู้จักพวกเขา นี่คือทางออกที่ฉันมีอยู่แล้ว (ย่อหน้าที่สี่ด้านบน) แต่พวกเขาอยู่หลังตัวกรองคิวและฉันต้องการให้ amavis ทำงานเหมือนตัวกรองคิวก่อนหน้าและนี่ก็ใช้ไม่ได้ และนี่คือการเลี่ยงผู้ส่งเฉพาะ ฉันต้องการตรงกันข้ามเพื่อสแกนเฉพาะผู้ส่งที่ต้องการและข้ามส่วนที่เหลือ
mailq

ฉันไม่เห็นว่าทำไมจึงไม่ทำงานก่อนคิว และการย้อนกลับตรรกะเพื่อสแกนเฉพาะผู้ส่งที่เฉพาะเจาะจงและไม่สแกนสิ่งอื่นใดก็แค่ย้อนกลับการตั้งค่าการกำหนดค่าสำหรับธนาคารนโยบายของคุณ - ตั้งค่าตัวแปรบายพาส _ * _ checks_maps เป็นการกำหนดค่าเริ่มต้นของคุณและตรวจสอบให้แน่ใจว่าแผนที่นั้นว่างเปล่า
ที่ Wabbit

เหตุใดจึงไม่อนุญาตให้ใช้งานบัญชีขาวในการโทรหา SpamAssassin จาก amavisd.conf-sample: "ถ้าผู้รับทั้งหมดของข้อความไม่ว่าจะเป็นขาวหรือดำบัญชีผู้ส่งการสแกนสแปม (การเรียก SpamAssassin) จะถูกข้ามประหยัดเวลา" ผู้รับ "ALL" ควรได้รับผลกระทบเมื่อใช้ @whitelist_sender_maps ใช่หรือไม่
sebokopter

คำตอบ:


1

รายการที่อนุญาตทั้งหมดยกเว้นบางโดเมน

สิ่งที่คุณต้องการคือ whitelist_sender_map ( ที่นี่ ) พร้อม regar lookaround ( ที่นี่ )

รายการที่อนุญาตทั้งหมดยกเว้น Domain.X

@whitelist_sender_maps = (new_RE (
    qr'@(?!(gmail\.com$|hotmail\.com$|aol\.com$))'i
));

รายการที่อนุญาตทั้งหมดยกเว้นโดเมนและโดเมนย่อยของ X

@whitelist_sender_maps = (new_RE (
    QR '[@.] ((Gmail \ .com $ |! Hotmail \ .com $ | AOL \ .com $))' i
));

แก้ไข

ตัวอย่างเช่นการเพิ่ม msn.com ไปยังข้อยกเว้นที่อนุญาตพิเศษ

@whitelist_sender_maps = (new_RE (
    QR '[@.] ((Gmail \ .com $ |! Hotmail \ .com $ | AOL \ .com $ | MSN \ .com $))' i
));

อย่าหักล้างกฎข้อนี้หลาย ๆ อย่างมันไม่ใช่สิ่งที่คุณต้องการ

ทำลายกฎใน 2 บรรทัดหรือมากกว่านั้นจะเป็น WHITELIST ทุกอย่าง !!

(ฉันจะใส่หัวข้อนี้เป็นสีแดงถ้าเป็นไปได้)

กล่าวง่ายๆคือบัญชีขาวคือการตรวจสอบตามลำดับทีละบรรทัด / กฎ

ลองดูตัวอย่างที่ผิดพลาดต่อไปนี้

# อย่าคัดลอกสิ่งนี้
@whitelist_sender_maps = (new_RE (
    qr'@(?!(gmail\.com$|hotmail\.com$))'i,
    qr'@(?!(aol\.com$|msn\.com$))'i
));
# อย่าคัดลอกสิ่งนี้
  1. ทุกอย่างจาก msn.com จะผ่านเพราะบรรทัดที่ 1 ส่งคืนTRUEและเครื่องหมายหยุด
  2. อะไรจาก gamil.com จะผ่านเพราะหลังจากล้มเหลวในบรรทัดที่ 1 ย้าย amavisd ไปยังบรรทัดที่ 2 ซึ่งจะกลับTRUE
  3. สิ่งที่เกี่ยวกับโดเมนไม่อยู่ในรายการ? พวกเขาจะผ่าน นี่คือความตั้งใจของกฎ!

คุณจบรายการที่อนุญาตทั้งหมดผู้ส่ง !!

โปรแกรมการทดสอบ Perl

#! / usr / bin / Perl

ใช้อย่างเข้มงวด

# ปฏิเสธโดเมนและโดเมนย่อย
#my $ REGinfo = '== ปฏิเสธโดเมน & โดเมนย่อย =='
#my $ REG = qr '[@.] (?! (gmail \ .com $ | hotmail \ .com $ | aol \ .com $))' i;

# โดเมนที่แน่นอนเท่านั้น
$ REGinfo = '== โดเมนที่แน่นอนเท่านั้น ==';
$REG=qr'@(?!(gmail\.com$.shotmail\.com$://aol\.com$)))'i ของฉัน

พิมพ์ $ REGinfo "\ n";
พิมพ์ '$ REG ='. $ REG. "\ n \ n";

my @strTest = (
    'test@hotmail.com'
    'test@gmail.com'
    'test@aol.com'
    'test@msn.com'
    'test@yahoo.com'
    'test@yahoo.aol.com'
    'aol.com@somethingelse.com'
);

สำหรับ $ i ของฉัน (0 .. $ # strTest) {
    if ($ strTest [$ i] = ~ $ REG) {
        พิมพ์ ("ผ่าน $ strTest [$ i] \ n");
    }
    อื่น {
        พิมพ์ ("Fail $ strTest [$ i] \ n");
    }
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.