메일필터링을통한 보안 CERTCC-KR 이현우, 백원민, 하도윤, 김상철, [ 목차 ] 1. 개요 2. 를이용한공격방법

Similar documents
메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

*2008년1월호진짜

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

Windows 8에서 BioStar 1 설치하기

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

메일서버등록제(SPF) 인증기능적용안내서 (SunOS - Sendmail) OS Mail Server SPF 적용모듈 (C 언어기반) 작성기준 SunOS bit sendmail spfmilter

PowerPoint 프레젠테이션

ActFax 4.31 Local Privilege Escalation Exploit

작성자 : 기술지원부 김 삼 수

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

file://\\......\paper\tr2001\tr \spam_relay_test.html

취약점분석보고서 [Photodex ProShow Producer v ] RedAlert Team 안상환

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Install stm32cubemx and st-link utility

메일서버등록제(SPF) 인증기능적용안내서 (SunOS - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 SunOS bit Postfix postfix-policydspf-perl 년 6

BEA_WebLogic.hwp

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

< FBBE7B0EDB3EBC6AE5FB5F0C6FAC6AEC6D0BDBABFF6B5E5C3EBBEE0C1A128BCF6C1A4292E687770>

목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. postfix, SPF 인증모듈설치 2 1. postfix 설치여부확인 2 2. libmail-spf-perl 설치 2 3. postfix-policyd-spf-p

Microsoft Word - src.doc

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

C# Programming Guide - Types

untitled

SBR-100S User Manual

문서의 제목 나눔고딕B, 54pt

The Pocket Guide to TCP/IP Sockets: C Version

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

JDK이클립스

슬라이드 1

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Windows 10 General Announcement v1.0-KO

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

< FBFF9B0A320BEC7BCBAC4DAB5E520C0BAB4D0BBE7C0CCC6AE20C5BDC1F620B5BFC7E220BAB8B0EDBCAD283131BFF E302028C8A8C6E4C0CCC1F620BEF7B

PowerPoint Template


커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

PowerPoint 프레젠테이션

<41736D6C6F D20B9AEBCADBEE7BDC42E687770>

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

ISP and CodeVisionAVR C Compiler.hwp

컴퓨터관리2번째시간

Linux Server - FTP Good Internet 소 속 IDC실 이 름 정명구매니저

PowerPoint 프레젠테이션

Microsoft Word - Windows_Server_Hmail_설치법

untitled

목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. postfix, SPF 인증모듈설치 2 1. postfix 설치 2 2. Mail::SPF 모듈설치 3 3. postfix-policyd-spf-perl 설치및연동

EJRWXFSEKSPJ.hwp

#WI DNS DDoS 공격악성코드분석

SIGIL 완벽입문

PowerPoint 프레젠테이션

<%DOC NAME%> (User Manual)

이메일발송포트사용제한 기타OS - Sendmail 사용설명서 OS Mail Server 작성기준 ( 최적화버전) 기타 Sendmail 유사 버전 기타 Unix/ Linux Sendmail 8.10 ~ Sendmail 8.14 Sendmail 8.10버전이상

Keil Flexlm 라이선스 설명서

Discrete Mathematics

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

ㅇ악성코드 분석

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Microsoft Word - Armjtag_문서1.doc

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

로거 자료실

untitled

untitled

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft PowerPoint - ICCAD_Analog_lec01.ppt [호환 모드]

BMP 파일 처리

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

RHEV 2.2 인증서 만료 확인 및 갱신

< 목차 > 1. 악성코드은닉동향요약 1 2. 홈페이지은닉형악성코드통계 2 - 유포지탐지 국가별현황 2 - 대량경유지가탐지된유포지 TOP 악성코드유형별비율 4 - 악성코드취약점유형별비율 4 - 악성코드수집및분석결과 5 - 경유지탐지 업종별비율 9 3. 악성코

Secure Programming Lecture1 : Introduction

4S 1차년도 평가 발표자료

기술문서 작성 XXE Attacks 작성자 : 인천대학교 OneScore 김영성 I. 소개 2 II. 본문 2 가. XML external entities 2 나. XXE Attack 3 다. 점검방법 3 라.

Chapter 05. 파일접근권한관리하기

목차 1. 개요 배경 파일정보 상세분석 SMB 취약점공격흐름 특징적인행위 대응

Microsoft Word - PLC제어응용-2차시.doc

untitled

LXR 설치 및 사용법.doc

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

PowerPoint 프레젠테이션

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft Word ARM_ver2_0a.docx

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [ 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra

목차 1. 시스템구성 개요 정의 목적 환경 준비사항 필수설치프로그램 Sendmail 서버구축을위한준비... -

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

5th-KOR-SANGFOR NGAF(CC)

Transcription:

메일필터링을통한 E-mail 보안 CERTCC-KR 이현우, lotus@certcc.or.kr 백원민, 100@sunoo.com 하도윤, dyha@certcc.or.kr 김상철, ksch@certcc.or.kr [ 목차 ] 1. 개요 2. E-mail 를이용한공격방법 2.1 액티브컨텐츠공격 2.2 버퍼오버플로우공격 2.3 트로이잔목마공격 2.4 쉘스크립트공격 3. Procmail 을통한 E-mail 보안 3.1 Sanitizer 설치 3.2 Sanitizer 설정방법 3.3 다양한보안정책구현을위한설정 3.4 자가보안필터구현 4. Inflex 보안도구를통한 E-mail 보안 [ 참고자료 ] 4.1 Inflex 설치및실행 4.2 Inflex 룰셋설정 4.3 Virus Scanner( 백신 ) 과의연동 1. 개요 Firewall 이널리보급되면서서버의보안취약점에대한공격은효과적으로방어할수있게되었다. 반면, E-mail 첨부파일, HTML 이내장된 E-mail 등을이용한공격은아직효과적인대응방법이없다. 특히, 이러한공격은대부분의사이트에서제공하는서비스 (E-mail, HTTPD 등 ) 를이용한공격이기때문에더욱탐지하거나차단하기가쉽지않다. 최근의인터넷웜공격은이러한취약점을이용한것으로 99 년 Melissa 바이러스를기점으로하여급속히증가하고있다. 본고에서는 E-mail 과관련된보안취약성에대하여알아보고이에대한대응방법을소개한다. 메일서버차원에서각조직의메일보안정책을구현할수있도록도와주는 Procmail 등과같은도구의사용및기능에대하여설명한다. 본문서는악성프로그램예방지침의참고자료로작성된자료이다.

악성프로그램예방지침 : http://www.certcc.or.kr/paper/tr2000/2000-08/tr2000-08.htm 2. E-mail 를이용한공격방법 2.1 액티브컨텐츠공격 메일열람시 HTML 기능이있는 E-mail 클라이언트나웹브라우저를사용하는이용자를대상으로하는공격기법이다. 주로 " 자바스크립트 " 나 " 비주얼베이직스크립트 " 등과같은 HTML 또는 E-mail 클라이언트의스크립팅기능을이용하여피해자의컴퓨터에서정보를유출하거나악성프로그램을실행시킨다. 이러한공격의간단한예로는사용자가메시지를열어볼때음란사이트나광고사이트를보여주도록하거나또는시스템을마비시키는서비스거부공격공격형태를보여준다. 최근에발견되는 VBS 웜을예로들수있다. AnnaKournikova : http://www.certcc.or.kr/cvirc/alert/61/annakournikova.html 이런공격은 E-mail 클라이언트프로그램의버그나시스템의버그를이용하는것이아니기때문에보안패치로써해결하지못한다. 무었보다 E-mail 클라이언트의스크립팅기능을사용하지않도록설정하는것이중요하다. 다음은 Outlook 에서스크립팅기능을제거하는방법이다. 또다른방법으로는메일서버에서메일이저장될때이러한스크립트태그를다른이름으로바꾸어자장하는방법이있다. 이렇게함으로서사용자가메일을읽을때는메일클라이언트는스크립트를해석하지못하게된다. 2.2 버퍼오버플로우공격 일반적인버퍼오버플로우공격과마찮가지로 E-mail 서버또는클라이언트의취약성을이용하여다양한공격을수행할수있다. 현재메일서버로많이사용하고있는 sendmail 은취약성이많이보완되어왔으나, 메일클라언트에서는아직많은보안문제들이발견되고있다. Outlook Express, Netscape Mail 등에서발견된버퍼오버플로우취약성은공격자가조작된 E-mail 을보내피해자의컴퓨터에서임의의명령을실행하거나트로이잔같은악성프로그램을심을수있도록한다. MS Outlook BufferOverflow : http://www.certcc.or.kr/advisory/ka2000/ka2000-025.txt 이러한취약성은메일서버또는메일클라이언트의보안패치를적용함으로서해결할수있다. 또한메일서버에서조작된 E-mail 헤더나첨부헤더를탐지하여수정함으로서메일클라이언트공격을예방할수있다. 2.3 트로이잔목마공격 트로이잔목마를이용한공격은일반사용자가트로이잔프로그램을실행시켜해당시스템에접근할수있는백도어를만들게하거나또는시스템에피해를주게한다. 이러한공격의예로는분산서비스공격을수행하는 Win/Trinoo 트로이잔, 패스워드와같은정보를수집하는스파이형트로이잔, 그리고시스템자원을사용하는트로이잔에이르기까지매우다양하다. 이러한공격이성공하기위해서는피해자가트로이잔을실행시키도록유도해야되는데이때 " 사회공학기법 (Social engineering)" 이사용된다. "Loveletter", "annakournikova.jpg" 와같은이름은사용자로하여금첨부파일을실행시키도록유도한다. 특히, 시스템관리자를사칭하여첨부된프로그램을실행시키도록하는메일메시지를받았을때는반듯이관리자에게확인을한뒤실행시켜야한다. 특히, 윈도우시스템은디폴트로파일이름의확장자를숨기도록설정되어있어, 공격자는다음과같은파일명을사용하여트로이잔실행파일이나스크립트파일의확장자를숨길수있다. xxx.txt.vbs - txt 파일로가장한비주얼베이직실행스크립트

xxx.jpg.scr - jpg 그림파일로가장한스크린세이버실행파일 xxx.mpg.dll - 동영상파일로가장한 dll 실행파일 xxx.txt.exe - txt 파일로가장한실행파일 이러한공격을당하지않기위해서는메일을통해수신한프로그램을실행시키지않아야한다. 메일첨부파일을바로더블클릭하는것은매우위험한습관이다. 하지만최근에는이러한사용자주의를우회할수있는공격도있다. E-mail 클라이언트의버그또는잘못된설계로인하여사용자의간섭없이도자동으로트로이잔을실행시킬수있는공격방법이공개되어있다. 이러한공격을예방하는방법으로메일서버에서실행가능한첨부파일이름을실행되지못하는이름으로바꾸는방법이있다 ( 예, exploit.exe 를 exploit.defanged-exe 등으로바꾸어메일클라이언트에서실행되지않도록한다 ). 또다른방법으로는메일첨부파일을조작하여첨부파일로보이지않도록바꾸는것이다. 사용자가반듯이첨부파일을얻기위해서는시스템관리자에게연락하여야한다. 이는시스템관리자가첨부파일을점검할수있는기회를제공한다. 다음은 bugtraq, 뉴스그룹, 그리고백신업체의권고문에서나오는트로이잔목마의확장자와파일이름들이다. *.asd *.chm *.dll *.ocx *.hlp *.hta *.js *.pif *.scr *.shb *.shs *.vb *.vbe *.vbs *.wsf *.wsh IBMls.exe anti_cih.exe aol4free.com avp_updates.exe *.[a-z][a-z][a-z0-9].[a-z0-9]+ (to catch "double-extension" attachments) babylonia.exe badass.exe buhh.exe chocolate.exe compu_ma.exe happy99.exe i-watch-u.exe ie0199.exe jesus.exe list.doc lovers.exe navidad.exe path.xls photos17.exe picture.exe pretty park.exe prettypark.exe qi_test.exe seicho_no_ie.exe serialz.hlp setup.exe story.doc suppl.doc surprise!.exe x-mas.exe y2kcount.exe yahoo.exe zipped_files.exe 트로이잔공격의또다른채널은매크로기능을제공하는프로그램의데이터파일을이용할수있다. 최근의워드프로세서, 스프레드쉬트, 데이터베이스등은이를지원한다. 이러한첨부파일을열때는항상백신프로그램을통하여먼저바이러스감염여부를확인하도록해야한다. 그리고이러한기능을지원하는프로그램에서매크로를자동으로실행하는모드를제거해야한다. 2.4 셀스크립트공격 유닉스와같은시스템은사용상의편리와확장을위해쉘스크립트를제공한다. 어떤메일프로그램은메일메시지를처리할때내장된쉘명령을지원하는데, 이를잘못사용하게되면, 공격자는조작된메일헤더를포함한메일을보내해당시스템에서특정명령이수행되도록할수있다. 이는메일헤더를검사하여이러한조작된부분을탐지할수있다. 3. Procmail 을통한 E-mail 보안 "Procmail" 은강력한메일프로세서로메일메시지의헤더와본문에서특정정보를찾아정의된규칙에따라적절한조치를수행하는프로그램이다. procmail 의설치, 설정등과관련된자세한내용은다음링크를참조바란다. 관련한글문서 : http://trade.chonbuk.ac.kr/~leesl/procmail/index.html

procmail 최신버전 : http://www.procmail.org/ procmail 설치하기 a. procmail 최신버전 (procmail-3.15.1) 다운로드 - http://www.procmail.org/ b. 압축을풀고압축을푼디렉토리로이동 # tar -xvf procmail-3.15.1.tar.gz # cd procmail-3.15.1 c. procmail 설치 # make install 또는 # make install-suid 보안을위해서는 make install-suid 를하는것이바람직 3.1 Sanitizer 설치 다음사이트에서제공되는 "sanitizer" 라는 procmail ruleset 은앞서설명한 E-mail 을이용한모든공격에효과적으로대응할수있도록해준다. "sanitizer" 파일을윈도우시스템에서다운로드받을경우에는각라인에서 DOS 시스템의 "end-of-line" 문자를제거해줘야한다. 잘모르면유닉스에서다운로드받아수정하지않고그대로사용하면된다. Procmail 보안홈페이지 ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-security.html sanitizer 다운로드 URL http://www.impsec.org/email-tools/procmail-sanitizer.tar.gz ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-sanitizer.tar.gz 위사이트중한군데서다운로드받은파일의압축을풀면, 관련설명문서들과 sanitizer 설정파일인 "html-trap.procmail", 그리고필터링해야될파일목록이있는 "poisoned-files" 파일이생기게된다. 자동으로모든사용자의 E-mail 에대하여필터링하기위해서는다음과같이 "Sanitizer" 룰셋을설치하면된다. o Sanitizer 설치를위한요구사항 - procmail 이설치되어있어야한다. - sendmail 을이용할경우 Local Delivery Agent 로 procmail 을사용하도록설정되어있어야하는데이는 /etc/sendmail.cf 파일에서다음과같이설정하면된다. Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/ @qspfhn9, S=10/30, R=20/40, A=procmail -Y -a $h -d $u - perl 이설치되어있어야한다. o 유닉스시스템에서의 "sanitizer" 설치

- 소유자와그룹이 root 인 /etc/procmail 디렉토리를 755(rwxr-xr-x) 권한으로설정 - 위의 ftp 사이트에서 sanitizer 룰셋을다운받아위디렉토리에저장하고소유자와그룹은 root 로그리고권한은 644(rw-r--r--) 로설정한다. - 설정방법에따라룰셋을설정한다. 만약게이트웨이로사용되는 sendmail relay 에서필터링을하고자할경우에는다음사이트를참고하여 /etc/sendmail.cf 파일을수정하고 /etc/procmail/filter.rc 파일을만들어야한다. http://www.impsec.org/email-tools/procmail-on-gateway.txt Outgoing 메일에대한필터링은다음사이트를참고하여 /etc/sedmail.cf 파일을수정하고 /etc/procmail/outgoing.rc 파일을만들어야한다. http://trade.chonbuk.ac.kr/~leesl/procmail/outgoing_mail_filter.html 3.2 Sanitizer 설정방법 sanitizer 는환경변수와설정에따라통제되는데, 이는 "/etc/procmailrc" 이라는파일을통해이루어진다. 다음은기본적인 /etc/procmailrc 파일의예이다. PATH="/usr/bin:$PATH:/usr/local/bin" SHELL=/bin/sh POISONED_EXECUTABLES=/etc/procmail/poisoned SECURITY_NOTIFY="postmaster, security-dude" SECURITY_NOTIFY_VERBOSE="virus-checker" SECURITY_NOTIFY_SENDER=/etc/procmail/local-email-security-policy.txt SECRET="CHANGE THIS" # this file must already exist, with proper permissions (rw--w--w-): SECURITY_QUARANTINE=/var/spool/mail/quarantine POISONED_SCORE=25 SCORE_HISTORY=/var/log/macro-scanner-scores DROPPRIVS=YES LOGFILE=$HOME/procmail.log # Finished setting up, now run the sanitizer... INCLUDERC=/etc/procmail/html-trap.procmail # Reset some things to avoid leaking info to # the users... POISONED_EXECUTABLES= SECURITY_NOTIFY= SECURITY_NOTIFY_VERBOSE= SECURITY_NOTIFY_SENDER= SECURITY_QUARANTINE= SECRET= 만약이미 /etc/procmailrc 파일을이용하고있다면, 위내용을추가하면된다. 다음은 etc/procmailrc 파일에서사용되는각각의환경변수에대한설명이다. 위예에포함되지않는것도설명한다. o MANGLE_EXTENSIONS 앞서설명한것처럼각기관의메일정책에따라첨부파일의확장자이름을제한하는방법중의하나이다. 만약첨부된파일의확장자가 ".exe" 일경우, ".mangled-exe" 로바꾸어주는역할을한다. 이는다음과같은보안상의효과를가져온다.

첨부된파일의확장자를다른이름으로바꿈으로서클라이언트에서이를실행 ( 더블클릭 ) 했을때실행되지않도록하는것이다. 이럴경우, 사용자가첨부된파일을실행시키기위해서는먼저파일을저장한다음에이름을바꾸고실행시켜야되기때문에백신이바이러스를검사할기회를갖게되는것이다. 자동실행되는악성코드일경우에는이름을바꿈으로서첨부된코드를찾지못하도록하여공격을방지할수있다. Sanitizer 는다음과같이디폴트로위험한확장자에대하여 MANGLE_EXTENSIONS 환경변수를설정하고있기때문에특별히따로설정할필요가없으나, 만약각기관의메일정책에따라변경할경우또는디폴트설정이불편한경우에는다음라인을수정하여 procmailrc 파일에추가하면된다. 단 "INCLUDERC=/etc/procmail/html-trap.procmail" 가있는라인이전에설정하여야한다. 디폴트 MANGLE_EXTENSIONS 설정 : MANGLE_EXTENSIONS='html? exe com cmd bat pif sc[rt] lnk dll ocx do[ct] xl[swt] p[po] t rtf vb[se]? hta p[lm] sh[bs] hlp chm eml ws[cfh] ad[ep] jse? md[abew] ms[ip] reg asd cil pps asx wm[szd]' * 주 : MANGLE_EXTENSIONS 은한라인에모든확장자를기입하여야하며, 포맷이틀릴경우, 큰문제가발생할수있다. 포맷을위에서처럼확장자간에 " " 문자를이용하여구분해주면된다. 또한기관의특성에따라보안레벨을정의하여구현할수도있다. 예를들어자신의도메인내에서오고가는메일에대해서는엑셀파일과워드파일의확장자를그대로보존하고자할경우에는다음과같이할수있다. /etc/procmailrc 파일에서 "INCLUDERC=/etc/procmail/html-trap.procmail" 라인전에다음과같은규칙을설정한다. :0 * ^From:.*<[a-z0-9]+@mydomain.com> * ^To:.*<[a-z0-9]+@mydomain.com> { MANGLE_EXTENSIONS='html? exe com cmd bat pif sc[rt] lnk dll ocx dot xl[wt] p[po] t rtf vb[se]? hta p[lm] sh[bs] hlp chm eml ws[cfh] ad[ep] jse? md[abew] ms[ip] reg asd cil pps asx wm[szd]' } o POISONED_EXECUTABLES 바이러스가주로이용하는파일이름의목록을가진파일이름을정의해준다. 디폴트로 /etc/procmailrc 디렉토리에 "poisoned" 라는이름의파일을지정하고있으므로 poisoned 파일을해당디렉토리에카피하면된다. 현재는 MANGLE_EXTENSIONS 에나온확장자에대해서만파일이름을검사하도록되어있으나다음버전에서개선될것이라고한다. 디폴트로필터링하는파일이름은 1 장에서설명한바와같다. 특정파일이름을사용하는바이러스나웜이나타날때마다 POISONED_EXECUTABLES 에의해설정된파일을업데이트해줌으로서악성프로그램으로부터의공격에보다적절히대응할수있는기능을제공한다. POISONED_EXECUTABLES=/etc/procmail/poisoned o DISABLE_MACRO_CHECK

Microsoft Office 의위험한매크로에대한검사기능을제거한다. sanitizer 는 Word documents, Excel spreadsheets, PowerPoint presentations 등의첨부파일을검사하여위험한 VBA 매크로 ( 보안설정을변경기키거나, 레지스트리를변경하는등의매크로 ) 를찾아내는기능이있다. 만약이러한기능을사용하지않으려면다음과같이 DISABLE_MACRO_CHECK 값을임의의값으로설정하면된다. DISABLE_MACRO_CHECK=YES 만약위기능을이용하려면다음과같은추가적인도구를설치하여야한다. metamail package 의일부인 mimencode mktemp 리눅스에서는대부분배포판에포함되어있으나다른종류의유닉스에서는소스를다운받아컴파일하고설치해야한다. o POISONED_SCORE sanitizer 는위험한매크로코드의모든부분을탐지할때마다이를카운트하여, 일정수준이되면해당문서를감염 다고판단한다. 디폴트로 25 로설정되어있으나대부분의매크로바이러스는 100 이상의수치를갖는다. 따라서 80-100 정도의값을갖도록하는것이바람직하다. POISONED_SCORE=100 o SCORE_HISTORY POISONED_SCORE 값이적절히설정되었는지알아보기위해매크로검사결과를기록할수있다. 다음과같이 SCORE_HISTORY 를설정하면된다. 해당파일은 (rw--w--w-) 의권한을가져야한다. SCORE_HISTORY="/var/spool/mail/macro-scanner-scores" o SECURITY_QUARANTINE sanitizer 의규칙에따라감염된 (poisoned) 또는감염된것으로판단된메시지를보관해두는장소를설정한다. 이러한메시지는수신자에게가지않고설정된파일에쌓이게된다. 해당파일은 (rw--w- -w-) 의권한을갖도록설정하여야하며, 파일내용은표준메일박스형태로쌓이게된다. 만약 SECURITY_QUARANTINE 값이설정되지않으면감여된메일은수신자에게가게된다. SECURITY_QUARANTINE="/var/spool/mail/quarantine" o SECURITY_NOTIFY 감염된파일이탐지되었을때, 해당사실을누구에게공지할것인가는설정한다. 공지는필터링된메시지의헤더를포함한다. 또한 QUARANTINE 이실패할경우도이사실을 SECURITY_NOTIFY 에설정된사용자에게공지하게된다. SECURITY_NOTIFY="postmaster, dilbert@example.com" o SECURITY_NOTIFY_VERBOSE SECURITY_NOTIFY 와같으나, 필터링된메시지의원문이포함된다. 이는 quarantine 파일대신에사용될수도있다. SECURITY_NOTIFY_VERBOSE="wally@example.com, hb@example.com"

o SECURITY_NOTIFY_SENDER 감염된메시지를보낸사람에게해당사실을통지할것인가를설정한다. 이를위해서는 SECURITY_NOTIFY 값이반듯이설정되어있어야한다. 만약경고메시지에각기관의보안정책을포함하는등의것으로수정하고싶을경우에는파일로만들어설정해주면된다. 디폴트메시지를사용할경우에는존재하지않는파일이름으로설정한다. SECURITY_NOTIFY_SENDER=YES 또는 SECURITY_NOTIFY_SENDER="/etc/procmail/policy-note.txt" o SECURITY_NOTIFY_RECIPIENT 감염된메일의수신자에게해당사실을공지할것인가를설정한다. 하지만메일릴레이에서는제대로작동하지않으므로설정하지않는것이좋다. SECURITY_NOTIFY_RECIPIENT="/etc/procmail/quarantined.txt" o SECURITY_STRIP_MSTNEF Microsoft Outlook 과 Microsoft Exchange 는 "Outlook Rich Text" 라는포맷을지원하는데, 이는모든종류의파일첨부를 Microsoft 포맷첨부로묵어주는역할을한다. 일반적으로 "WINMAIL.DAT" 라는이름으로사용되며, "MS-TNEF" 포맷으로불리운다. 그리고다른메일클라이언트에서는호환되지않는다. MS-TNEF 는일반적으로필터링되지않으며, 파일내에송신자의설정정보를포함하기때문에정보를유출시킬수도있다. MS 에서도 MS-TNEF 포맷의첨부는조직내에서만사용할것을권장하고있다. SECURITY_STRIP_MSTNEF 을임의의값으로설정하게되면메시지에서이러한첨부를잘라내게되며, 해당사실을공지하는내용과함께수신자에게보내지게된다. 파일첨부는복구될수없다. SECURITY_STRIP_MSTNEF=YES 참고자료 See http://support.microsoft.com/support/kb/articles/q241/5/38.asp, http://support.microsoft.com/support/kb/articles/q138/0/53.asp http://www.microsoft.com/technet/exchange/2505ch10.asp o DEFANG_WEBBUGS "Web bugs" 는아주조그마한이미지로 email 메시지를추적하는데사용된다. 이미지를표시하는 URL 을포함시켜, HTML 기능이있는메일프로그램이해당이미지를표시하기위해지정된 URL 에접속할때, 이를기록하여메일메시지의위치를확인하는방법이다. 이러한방법은특히, 스팸메일이실제사용자에게도달하였는지를확인하는데사용되기도하며, 또는메시지의전달을추적하는데사용된다. 그리고이는음성파일을이용해구현될수도있다. 만약이러한것이각기관의보안정책또는개인정보보호정책에위반되는것이라면 DEFANG_WEBBUGS 환경변수를이용하여이를막을수있다. DEFANG_WEBBUGS 값을임의의값으로설정하면 sanitizer 는 <IMAGE> 와 <BGSOUND> 태그를수정하여 (defang) 이러한정보수집행위를막게된다. DEFANG_WEBBUGS=YES o SECURITY_TRUST_STYLE_TAGS

<STYLE> 태그는공격자가스크립팅명령을사용하도록하여다양한공격을할수있는기회를제공한다. Sanitizer 는디폴트로 <STYLE> 태그를변경시킨다. 하지만만약내부도메인에서만들어진 <STYLE> 태그에대하여변경시키지않기를원할경우에는다음과같이설정할수있다. 외부사용자 ( 인터넷 ) 으로부터의 <STYLE> 태그는제한하는것이바람직하다. :0 * ^From:.*@mydomain.com> * ^To:.*@mydomain.com> { SECURITY_TRUST_STYLE_TAGS=YES } o LOGFILE sanitizer 의로그파일을지정한다. 디폴트로는메일수신자의홈디렉토리인 "$HOME/procmail.log" 로지정되어있으나, 하나의집중된파일로만드는것이바람직하다. 파일권한은 (rw--w--w-) 로설정해야한다. 사용자홈디렉토리에만들경우에는이전에 DROPPRIVS=YES 를설정하여야한다. DROPPRIVS=YES LOGFILE="$HOME/procmail.log" 기타다른많은환경변수설정이있는데, 이는 Procmail 맨페이지를참조하기바란다. man procmail man procmailrc man procmailex 3.3 다양한보안정책구현을위한설정 앞서설명한 procmailrc 파일은모든메시지에대하여동일한보안정책을적용시킨다. 하지만경우에따라서특정도메인별로서로다른보안정책을구현할수도있을것이다. 이는처리되는메일에따라서로다른환경변수값을설정함으로서구현가능하다. 예를들어자신의도메인내에서는 ( 아래예의경우 "mydomain.com") 워드문서첨부를허용할경우에는다음과같은설정을추가하면된다. 단 "INCLUDERC=html-trap.procmail" 라인이전에서설정해야한다. :0 * ^From:.*<[a-z0-9]+@mydomain.com> * ^To:.*<[a-z0-9]+@mydomain.com> { MANGLE_EXTENSIONS='html? exe com cmd bat pif sc[rt] lnk dll ocx dot xl[wt] p[po] t rtf vb[se]? hta p[lm] sh[bs] hlp chm eml ws[cfh] ad[ep] jse? md[abew] ms[ip] reg asd cil pps asx wm[szd]' } 3.4 자가보안필터구현 Sanitizer 가제공하는 quarantine( 격리 ) 과 notification( 공지 ) 기능은각기관의특정보안정책에따라유연하게사용할수있다. Sanitizer 는메시지에포함된 "X-Content-Security" 라는헤더를통해 notification 과 quarantine 기능을구현할수도있다. 즉, 사용자는 procmail 규칙을통하여특정메시

지에대하여 Sanitizer 가 quarantine( 격리 ) 이나 notification( 공지 ) 할수있도록할수있다. 예를들면, Hybris 웜은임의의이름을가진첨부파일을제목없이보냄으로서유포시키는데, 모든.exe 첨부를필터링하지않고이를탐지하여필터링하기위한방법은다음과같다. 1. /etc/procmail/local-rules.procmail (owner root, group root, mode 644) 파일작성 # Messages with.exe attachments must have a subject line # :0 *!^Subject: * ^Content-Type:.*multipart/mixed; { :0 B hfi * ^Content-Disposition:.*.EXE * ^Content-Type:.*.EXE formail -A "X-Content-Security: NOTIFY" -A "X-Content-Security: QUARANTINE" -A "X-Content-Security: REPORT: Trapped anonymous.exe" } 2. /etc/procmailrc 파일수정 INCLUDERC=/etc/procmail/html-trap.procmail 라인을다음과같이수정 INCLUDERC=/etc/procmail/local-rules.procmail INCLUDERC=/etc/procmail/html-trap.procmail 위설정은 procmail 룰셋을통하여 anonymous 웜을탐지하고, X-Content-Security 헤더를삽입하게된다. 그리고나서 sanitizer 를호출하여이를처리하는것이다. sanitizer 는해당메시지를필터링하여격리시키게된다. 4. Inflex 보안도구를통한 E-mail 보안 Inplex 는메일서버에서로컬이나외부로나가는 E-Mail 을검사하여 E-mail 에대한 In-Outbound 정책을새울수있게해주는도구이다. 이러한 In-Outbound 정책기능을통하여관리자는최근의바이러스나인터넷웜이첨부된메일을필터링할수있도록해준다. 또한임의파일이름과파일유형에대하여검색하고필터링하는기능을제공하여 Anti-virus 패키지에의해탐지되지않는바이러스로부터의공격에대응할수있도록해준다. Procmail 을이용한필터링보다는설치및운영이쉬운반면, Inflex 는첨부파일만을필터링할수있다. Inflex 는 sendmail 이 sendmail.cf 대신에 inflex.cf 파일을설정파일로사용하도록함으로서원하는기능을구현한다. inflex.cf 설정에따라 inflex 프로그램이메일에대하여검사를하게된다. inflex 의룰셋으로차단된메일은송 수신자와서버관리자에게경고메시지를보내게되고, 룰셋에서통과된메일은다시 sendmail.cf 가적용되도록하여정상적인메일처리를하게된다. 4.1 Inflex 설치및실행 a. 다음사이트에서최신버전의 Inflex(Inflex-0.1.5c.tar.gz) 를다운로드받는다. http://www.inflex.co.za/mainpage.html b. Inflex 도구를 gzip, tar 를통하여압축을푼다. # gzip -d Inflex-0.1.5c.tar.gz # tar -xvf Inflex-0.1.5c.tar

# cd Inflex-0.1.5.c c. inflex가사용할메일큐디렉토리생성 # mkdir /var/spool/inflexmq d. inflex 실행파일을 /usr/sbin에복사 # cp inflex /usr/sbin e. inflex 설정파일인 inflex.cf 파일을 /etc 디렉토리에복사 # cp inflex.cf /etc f. 실행되고있는모든 sendmail 데몬을종료시킨다. # killall sendmail g. sendmail이 /etc/inflex.cf 파일을참조하여실행되도록한다. # /usr/sbin/sendmail -bd -C/etc/inflex.cf 4.2 Inflex 룰셋설정 Inflex 프로그램이메일을검사하는과정은다음과같다.. inflex 에서사용될변수를초기화한다. email 분석을위한디렉토리를설정한다.. email 을읽어들인다.. email 에대한자세한내용을로그한다.. email 을디코드한다.. 파일타입에따라 email 을스캔한다.. 파일이름에따라 email 을스캔한다.. 바이러스에대하여 email 을스캔한다.. 필요한경우관리자, 송신자, 수신자에게메시지를보낸다. 가. 파일타입에따라필터링하는방법 Inflex 에서디포트로필터링하는파일타입은다음과같으나, inflex 스크립트실행파일을수정하여더추가하거나제거할수있다. o 디폴트로필터링되는파일 Types - MS-DOS Executables - PC Bitmap Data [BMP files] - AVI movies - MPEG movies - WAVE type audio files 파일타입에따른필터링규칙을수정하기위해서는 /usr/sbin/inflex 파일의 124 번라인근처에서다음과같은내용을찾아수정한다. grep "MS-DOS executable" ${tmpdir}/fileresults >> ${badfileslog} grep "PC bitmap data" ${tmpdir}/fileresults >> ${badfileslog} grep "AVI" ${tmpdir}/fileresults >> ${badfileslog} grep "MPEG" ${tmpdir}/fileresults >> ${badfileslog}

grep "WAVE" ${tmpdir}/fileresults >> ${badfileslog} 만약새로운파일타입을추가할경우, 예를들어 ARB 를추가한다고하면다음과같은라인을추가하면된다. grep "ARB" ${tmpdir}/fileresuls >> ${badfileslog} 주 : 여기서파일타입은 /etc/magic 파일에존재하여야한다. 만약존재하지않으면다음에서설명하는파일이름으로필터링하는방법을사용하면된다. 나. 파일이름으로필터링하는방법 파일이름이나확장자에따라메일을필터링할수있는데, 이는 /usr/sbin/inflex 파일의 136 번라인근처에서다음과같은내용을찾아수정하면된다. find ${tmpdir} -iname 'links.vbs' >> ${badfileslog} find ${tmpdir} -iname '*.mp3' >> ${badfileslog} find ${tmpdir} -iname '*.ppt' >> ${badfileslog} 만약새로운파일이름을추가할경우, 예를들어 ".CTP" 를추가한다고하면다음과같은라인을추가하면된다. find ${tmpdir} -iname '*.CTP' >> ${badfileslog} 여기서필터링해야될파일이름및확장자는 1 장에서설명한확장자및파일이름에대하여모두필터링하면된다. *.asd, *.chm, *.dll, *.ocx, *.hlp,... *.vbs, story.doc, suppl.doc, surprise!.exe... 또다른예로파일명중에서특정문자열을필터링하기원할경우, 예를들어 VBS Love Letter 웜바이러스를예를들면다음과같은라인을추가하면된다. ${find} ${tmpdir} -iname 'LOVE-LETTER-FOR-YOU*' >> ${badfileslog} 주 : iname 옵션은대소문자를구분하지않도록하며, 와일드카드문자를사용할수있어유연한규칙을사용할수있다. 다. 경고메시지설정방법 필터링된메일메시지에대하여경고메시지를보내도록설정할수있는데이는 /usr/sbin/inflex 파일의 232 번라인근처에서찾을수있으며, 경보메시지를보내고자하는사람만을지정해주면된다. 4.3 Virus Scanner( 백신 ) 과의연동 다음사이트를방문하여평가판을다운로드하여설치하면된다. sophos 백신 : http://www.sophos.com/downloads/eval/savunix.html uvscan 백신 : http://www.nai.com/asp_set/buy_try/try/products_evals.asp [ 참고자료 ] [1] 악성프로그램 (virus/worm/trojan) 예방지침, http://www.certcc.or.kr/paper/tr2000/2000-08/tr2000-08.htm [2] 프락메일에관하여, http://trade.chonbuk.ac.kr/~leesl/procmail/index.html

[3] Procmail, http://www.procmail.org/ [4] Enhancing E-Mail Security With Procmail the E-mail - Sanitizer ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-security.html [5] Inflex, http://www.inflex.co.za/mainpage.html [6] Anomy Sanitizer, http://mailtools.anomy.net/ [7] Mimedefang, http://www.roaringpenguin.com/mimedefang/