ze-filter is a filter for messaging servers. It runs on Unix systems. At the moment (2008), it's used in conjunction with sendmail or postfix MTAs.
Its operating mode is based on the libmilter library which came first with sendmail then with postfix.
What's is the purpose of libimilter ? It's like plugins. Instead of building sendmail with everything in it, you can plug software to do antispam or antivirus protection. The Mail Transfer Agent (MTA eg:sendmail, postfix) should be kept easy to maintain. The MTA should only deliver mails.
Milter operates before mail is queued, so we can reject a mail in the TCP connexion without looking at the destination and managing bounces.
ze-filter is one of those filters. What is great, is that a lot of functions are included in it. It's written in C language using threads
- internal scanner to look for executable files (xfiles)
- external scanners (ClamAV)
- Rate limiting within class of service (friend domain local or unknown)
- Statistical content filter
- URL filtering
- Pattern Matching
- Real Time Black/White Lists
- load survey to be able to whithstand an attack
We recommend the reading of that French tutorial (outdated - welcome back to 2005). English readers should understand most of it.