Rspamd สร้างขึ้นโดยใช้สถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์ และในตอนแรกได้รับการออกแบบมาเพื่อใช้ในระบบที่มีการโหลดสูง ทำให้สามารถประมวลผลข้อความได้หลายร้อยข้อความต่อวินาที กฎในการระบุสัญญาณของสแปมมีความยืดหยุ่นสูงและในรูปแบบที่ง่ายที่สุดสามารถประกอบด้วยนิพจน์ทั่วไป และในสถานการณ์ที่ซับซ้อนมากขึ้นก็สามารถเขียนเป็นภาษา Lua ได้ การขยายฟังก์ชันการทำงานและการเพิ่มเช็คประเภทใหม่ถูกนำมาใช้ผ่านโมดูลที่สามารถสร้างได้ในภาษา C และ Lua ตัวอย่างเช่น มีโมดูลสำหรับการตรวจสอบผู้ส่งโดยใช้ SPF การยืนยันโดเมนของผู้ส่งผ่าน DKIM และสร้างคำขอไปยังรายการ DNSBL เพื่อให้การกำหนดค่าง่ายขึ้น สร้างกฎและติดตามสถิติ จึงจัดให้มีเว็บอินเตอร์เฟสสำหรับผู้ดูแลระบบ
นวัตกรรมหลัก:
- มีการเปลี่ยนไปใช้รูปแบบการกำหนดหมายเลขประเด็นใหม่ เนื่องจากตัวเลขแรกในหมายเลขเวอร์ชันไม่มีการเปลี่ยนแปลงมาหลายปีแล้วและตัวบ่งชี้เวอร์ชันจริงคือหมายเลขที่สอง จึงตัดสินใจเปลี่ยนไปใช้รูปแบบ "yz" แทนรูปแบบ "xyz"
- สำหรับเหตุการณ์วนรอบแทน
ลิเบเวนต์ ห้องสมุดที่เกี่ยวข้องibev ซึ่งจะลบข้อจำกัดบางประการของ libevent และช่วยให้มีประสิทธิภาพดีขึ้น การใช้งาน
libev ทำให้เป็นไปได้ที่จะลดความซับซ้อนของโค้ด ปรับปรุงการจัดการสัญญาณและการหมดเวลา และรวมการติดตามการเปลี่ยนแปลงไฟล์โดยใช้กลไก inotify (การเผยแพร่ libevent บางอันที่จัดส่งสำหรับแพลตฟอร์มที่รองรับไม่สามารถทำงานร่วมกับ inotify ได้) - การสนับสนุนโมดูลการจัดหมวดหมู่ข้อความที่ใช้ไลบรารีการเรียนรู้ของเครื่อง Torch deep ถูกยกเลิกแล้ว เหตุผลที่อ้างถึงคือความซับซ้อนที่มากเกินไปของ Torch และความซับซ้อนสูงในการอัปเดตให้ทันสมัยอยู่เสมอ มีการเสนอโมดูลที่เขียนใหม่ทั้งหมดเพื่อทดแทนการจำแนกประเภทโดยใช้วิธีการเรียนรู้ของเครื่อง
ประสาท ซึ่งใช้ไลบรารีเพื่อรับรองการทำงานของโครงข่ายประสาทเทียมkann ซึ่งมีโค้ด C เพียง 4000 บรรทัด การใช้งานใหม่นี้ช่วยแก้ปัญหาหลายอย่างเกี่ยวกับการหยุดชะงักระหว่างการฝึกอบรม - โมดึล
RBL แทนที่โมดูล SURBL และอีเมล ซึ่งทำให้สามารถรวมการประมวลผลการตรวจสอบบัญชีดำทั้งหมดเข้าด้วยกัน ความสามารถของ RBL ได้รับการขยายเพื่อรวมการรองรับประเภทเพิ่มเติม เช่น ตัวเลือก และเครื่องมือสำหรับการขยายกฎที่มีอยู่ได้อย่างง่ายดาย ไม่รองรับกฎการบล็อกอีเมลที่อิงตามรายการแผนที่แทน DNS RBL อีกต่อไป ขอแนะนำให้ใช้มัลติแมปกับตัวเลือกแทน - ในการกำหนดประเภทไฟล์ตามเนื้อหา ไลบรารี Lua Magic ใหม่จะถูกนำมาใช้ โดยใช้ Lua และ Hyperscan แทน libmagic
เหตุผลในการสร้างไลบรารี่ของคุณเอง ได้แก่ ความปรารถนาที่จะบรรลุประสิทธิภาพที่สูงขึ้น กำจัดความล้มเหลวในการระบุไฟล์ docx รับ API ที่เหมาะสมยิ่งขึ้น และเพิ่มการวิเคราะห์พฤติกรรมประเภทใหม่ที่ไม่ จำกัด ด้วยกฎที่เข้มงวด - ปรับปรุงโมดูลสำหรับการจัดเก็บข้อมูลใน DBMS
คลิกเฮาส์ . เพิ่มฟิลด์ LowCardinality และการใช้หน่วยความจำที่ปรับให้เหมาะสมที่สุด - ขยายขีดความสามารถของโมดูล
Multimap ซึ่งมีการสนับสนุนปรากฏขึ้นรวมกัน иขึ้นอยู่กับ การเปรียบเทียบ; - โมดูล Maillist ได้ปรับปรุงคำจำกัดความของรายชื่อผู้รับจดหมาย
- ขณะนี้กระบวนการของผู้ปฏิบัติงานมีความสามารถในการส่งข้อความฮาร์ทบีทไปยังกระบวนการหลัก ซึ่งยืนยันการทำงานปกติ หากไม่มีข้อความดังกล่าวในช่วงเวลาหนึ่ง กระบวนการหลักสามารถบังคับยุติกระบวนการของผู้ปฏิบัติงานได้ ตามค่าเริ่มต้น โหมดนี้จะถูกปิดใช้งานในตอนนี้
- มีการเพิ่มชุดสแกนเนอร์ใหม่ในภาษา Lua ตัวอย่างเช่น มีการเพิ่มโมดูลสำหรับการสแกนข้อความใน Kaspersky ScanEngine, Trend Micro IWSVA (ผ่าน icap) และ
F-Secure Internet Gatekeeper (ผ่าน icap) และยังมีเครื่องสแกนภายนอกสำหรับ Razor, oletools และ P0F; - เพิ่มความสามารถในการเปลี่ยนข้อความผ่าน Lua API มีการเสนอโมดูลเพื่อทำการเปลี่ยนแปลงบล็อก MIME
lib_mime ; - ตัวอย่างเช่น มีการประมวลผลการตั้งค่าแยกต่างหากที่ตั้งค่าผ่าน "Settings-Id:" ตอนนี้คุณสามารถผูกกฎกับตัวระบุการตั้งค่าบางอย่างเท่านั้น
- มีการเพิ่มประสิทธิภาพการทำงานของกลไก Lua การถอดรหัส base64 และการตรวจจับภาษาสำหรับข้อความ เพิ่มการรองรับการแคชแผนที่ที่ซับซ้อน ดำเนินการสนับสนุนแล้ว
HTTP คงอยู่
ที่มา: opennet.ru