Qmail ile dosya tipine gore attachment filitreleme |
Serhat
Selahattin Umar <[email protected]> |
Bu mini-howto dosya tipine
gore mail attachment filtrelemeyi ayrica zip ile compress edilmis dosyalar icindeki
attachment lari da kontrol etmeyi icermektedir.
Renattach stdin den mail dosyasini okur uzantisi ne olursa olsun header larindan
kontrol edip dosyanin tipini belirleyip config de belirtilen rule lari maile
uygular, maili sildirebilir, attachment i sildirebilir veya maile istediginiz
bir header ekleyebilir daha sonra kendi filter programiniz ile kesebilirsiniz.
Ayrica Renattach zip ile compress edilmis dosyalari da (extra bir zip programina
ihtiyac duymadan) acip icinde attachment kontrolü yapabilir.
renattach programini indirin
ve kurun
http://www.pc-tools.net/files/unix/renattach-1.2.2.tar.gz
FreeBSD kullanicilari
port dan kurabilirler, ben porttan kurdum
# cd /usr/ports/mail/renattach
# make install
qmail i durdurun
# qmailctl stop
mail filtrelemek icin daha
önceden bir program kullaniyorsaniz (ben qsheff kullaniyorum) ve qmail-queue
filtre programiniza link verilmis ise
# ls -l /var/qmail/bin/qmail-queue
lrwxr-xr-x 1 root qmail 27 Jul 21 12:50 qmail-queue -> /var/qmail/bin/qmail-qsheff
link i kaldirin ve /var/qmail/bin/qmail-queue olarak bir dosya olusturun icine;
# unlink /var/qmail/bin/qmail-queue
# vi /var/qmail/bin/qmail-queue
#!/bin/sh
/usr/local/bin/renattach | /var/qmail/bin/qmail-qsheff |
kaydedin ve execute yetkisi
verin;
# chmod +x /var/qmail/bin/qmail-queue
baska bir filtreleme programi kullanmiyorsaniz asagidaki adimi gerceklestirin.
once qmail-queue yu baska bir isimle tasiyin;
mv /var/qmail/bin/qmail-queue /var/qmail/qmail-queue.orig
daha sonra /var/qmail/bin/qmail-queue olarak bir dosya olusturun ve icinde asagidaki
gibi qmail-queue.orig e yonlendirin;
#!/bin/sh /usr/local/bin/renattach | /var/qmail/bin/qmail-queue.orig |
Renattach portlardan kuruldugunda
ornek config dosyasini /usr/local/etc/renattach.conf.ex olarak yaziyor. Bunu
kendinize duzenleyip uzantisini conf olarak degistirebilirsiniz.
Bu dosyayi kendinize göre ayarlayin. Benim test asamasinda kullandigim
dosyamin icerigi asagidaki gibi. /usr/local/etc/renattach.conf
delete_exe
= no kill_exe = yes # Search for filenames inside ZIP files search_zip = yes # Log filtered mail (delete, kill) to syslog mail facility use_syslog = yes # Delete winmail (MS proprietary) attachments without modifying Subject, # also drop emails containing annoying scanner-generated warning bounces banned_files = /winmail/d, /warn.txt/k, DELETED0.TXT/k subj_banned = # subj_deleted = [deleted attachment] subj_renamed = [renamed attachment] # When these file types are encountered, rename the attachment (assuming # filter is invoked with default action=rename). However, kill mail containing # any BAT, COM, etc. attachments even if they are inside ZIP files. There is # risk of collateral damage. EML//d means delete ZIPs that contain EML. badlist = ADE, ADP, BAS, BAT/k, CHM, CMD/k, COM/k, CPL/k, CRT, EML//d, EXE/k badlist = HLP, HTA/k, INF, INS, ISP, JS, JSE, LNK, MDB badlist = MDE, MSC, MSH, MSI, MSP, MST, NWS, OCX, PCD, PIF/k, REG/k badlist = SCR/k, SCT, SHB, SHS, URL, VB, VBE, VBS/k, WSC, WSF, WSH |
config dosyanizi ayarladiktan sonra
qmail i baslatip test edebilirsiniz. Config dosyanizda maile extra bir header
ekleyerek kendi mail filtre programiniz ile de konrtol edebilirsiniz. Uzun sure
test imkanim olmadi, fakat herhangi bir yavasliga veya cpu yüküne
test asamasinda rastlamadim.
Serhat Selahattin Umar
[email protected]