Author Topic: exim mta block .exe in .zip file  (Read 8620 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
exim mta block .exe in .zip file
« on: มิถุนายน 12, 2015, 02:58:08 PM »
ปกติใน default configure exim.conf จะอนุญาตให้รับเมลที่มี attach file ที่เป็น .exe ใน .zip file ได้ครับ
แต่เนื่องจากไฟล์แนบประเภทนี้มีความไม่ปลอดภัย หรืออาจจะมีโคดที่เป็นไวรัส หรือ malware แทรกเข้ามาสูง
ทางระบบของ Mail Hosting Packetlove.com จึงเล็งเห็นว่าควรทำการ block .exe file ในไฟล์ .zip ดังกล่าวจะดีกว่า
ซึ่งวิธีการทำก็ไม่ยากครับ แต่จะอาศัย command unzip ในการช่วยแตกไฟล์แล้วพิจารณากับ rule ครับ

Linux unzip : /usr/bin/unzip
FBSD unzip : /usr/local/bin/unzip

#cp /etc/exim.conf /etc/exim.conf_before_change
#vi /etc/exim.conf

acl_smtp_mime = acl_check_mime

เลื่อนไปยังส่วนของ

begin acl
แล้วเพิ่มโคด

###add by golf at 12 june 2015
acl_check_mime:
deny message = A .zip attachment contains a Windows-executable file - \
blocked because we are afraid of new viruses \
not recognized [yet] by antiviruses.
condition = ${if match{$mime_filename}{\N(?i)\.zip$\N}}
condition = ${if def:sender_host_address}
!authenticated = *
decode = default
log_message = forbidden binary in attachment: filename=$mime_filename, \
recipients=$recipients
condition = ${if match{${run{/usr/bin/unzip -l \
$mime_decoded_filename}}}\
{\N(?i)\.(exe|com|vbs|bat|pif|scr|hta|js\
|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys|btm|dat|msi|prf|vb)\n\N}}

deny message = Windows-executable attachments forbidden because we are \
afraid of new viruses not recognized [yet] by antiviruses.
condition = ${if def:sender_host_address}
!authenticated = *
log_message = forbidden attachment: filename=$mime_filename, \
content-type=$mime_content_type, recipients=$recipients
condition = ${if or{\
{match{$mime_content_type}{(?i)executable}}\
{match{$mime_filename}{\N(?i)\.(exe|com|vbs|bat|pif\
|scr|hta|js|cmd|chm|cpl|jsp|reg|vbe|lnk|dll|sys|btm|dat|msi|prf|vb)$\N}}\
}}
  accept

แค่นี้แล้วลอง reload service exim และเทสส่งเมลดูนะครับ
#/etc/init.d/exim  restart

หลังจากส่งเมลจากข้างนอกมาที่ ระบบเมลของ Packetlove.com ทางเราจะตอบกลับไปยัง Mail server ต้นทางว่ามีไฟล์แนบที่ไม่ปลอดภัย กับระบบเรา
แจ้งกลับไปหา sender ครับผม
เท่านี้ ก็จะทำให้ระบบเมลของเราปลอดภัยขึ้นอีกระดับครับผม  :o