메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail 8.13.4 spf-filter 1.0 2016 년 6 월
목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. sendmail, SPF 인증모듈설치 2 1. sendmail 확인 2 2. procmail 을이용한스팸차단방법 2 3. spf-filter 다운로드및설치 4 4. 룰셋설정 4 III. SPF 인증결과로그확인 5
I. 개요 1. SPF( 메일서버등록제) 란? 메일서버등록제 (SPF: Sender Policy Framework) 는메일서버정보를사전에 DNS 에공개등록함으로써수신자로하여금이메일에표시된발송자정보가 실제메일서버의정보와일치하는지를확인할수있도록하는인증기술이다. 대다수스팸발송자가자신의신원을감추기위하여발송자주소나전송경로를 허위로표기하거나변경하는경우가많다는데착안되었다. SPF를 DNS에설정하는방법은 http://www.kisarbl.or.kr > White Domain 등록작성도우미메뉴를참고한다. > SPF SPF를이용하여스팸메일을차단하기위해서는메일서버에 적용되어있어야한다. SPF 인증기능이 AIX 환경에서기본적으로설치된메일서버에는 SPF 인증기능이적용되어 있지않으므로 SPF 모듈설치및패치를해야한다. 본안내서는메일수신 서버에 SPF 인증기능을쉽게적용하는방법을소개한다. 2. SPF 를이용한이메일인증절차 발신자 : 자신의메일서버정보와정책을나타내는 SPF 레코드를해당 DNS에등록 수신자 : 이메일수신시발송자의 DNS에등록된 SPF 레코드를확인하여 해당이메일에표시된발송IP와대조하고그결과값에따라수신여부를결정 ( 메일서버나스팸차단솔루션에 SPF 인증기능이설치되어있어야함) [ 그림 1] SPF 인증흐름도 - 1 -
II. sendmail, SPF 인증모듈설치 본안내서는운영체제및메일서버를처음구축하는것을기준으로작성하였다. 설치과정에서사용하는모든명령어는 root 권한으로실행해야한다. 1. sendmail 확인 Aix에는 sendmail이기본적으로설치되어있다. 아래는 telnet 명령어를 이용하여 tcp/25번 포트에접속하여메일전송프로그램 (MTA: Mail Transfer Agent) 이동작하고있는상태를확인하는것으로써 sendmail 이 있음을알수있다. bash-4.00# telnet localhost 25 220 spf.kisa.or.kr ESMTP Sendmail Thu, 22 Jul 2010 13:52:49 +0900 quit 221 2.0.0 spf.kisa.or.kr closing connection 2. procmail 을이용한스팸차단방법 동작하고 유닉스계열에서는메일을수신한후메일박스에전달할때마지막처리를 담당하는 MDA(Mail Delivery Agent) 프로그램으로서 procmail 이가장널리 사용되고있다. procmail 을 spf-filter와연동하여 SPF fail/softfail 발생시 메일을차단하는 대신에메일의제목에 [SPAM] 태그를추가하여스팸분류를하도록한다. 메일사용자들이 아웃룩익스프레스 등의메일클라이언트(MUA) 를이용하여 스팸으로자동분류를할수있게된다. - 2 -
2.1 procmail 다운로드 아래와같이 wget 명령어를이용하여 procmail 의바이너리파일을다운로드한다. http://bio.gsi.de/docs/aix/aixpdslib.seas.ucla.edu/packages/procmail.html 페이지에서 AIX 버전에맞는파일을선택하여다운로드할수있다. bash-4.00# wget \ http://computer-refuge.org/classiccmp/aixpdslib/pub/procmail/risc/5.3/exec/proc mail.3.22.tar.z 2.2 procmail 설치 아래와같이파일압축해제후 /usr/local 디렉토리로복사한다. bash-4.00# gunzip procmail.3.22.tar.z bash-4.00# tar xf procmail.3.22.tar bash-4.00# cp -R usr/local/* /usr/local 2.3 sendmail.cf 설정변경 sendmail 과 procmail 의연동을위한설정이필요하므로아래와같이 sendmail.cf 파일의가장마지막라인에설정을추가한다. bash-4.00# vi /etc/mail/sendmail.cf... ( 중략) Mlocal, P=/usr/local/bin/procmail, F=SAw5/@glDFMPhsfn, S=10/30, R=20/40, T=DNS/RFC822/X-Unix, A=procmail -Y -a $h -d $u - 3 -
3. spf-filter 다운로드및설치 spf-filter 는 procmail 과연동하여스팸차단에활용할수있다. SPF 인증이 실패(fail/softfail) 하였을경우에메일제목에 [SPAM] 태그를추가하여 스팸으로분류할수있다. 파일은 http://blog.daum.net/effortless/7864600 에서다운로드가능하다. 다운로드한 spf-filter 권한설정을한다. 파일을아래와같이압축해제후디렉토리를이동시키고 bash-4.00# gunzip spf-filter.zip bash-4.00# mv spf-fitler /usr/local/bin/spf-filter bash-4.00# chmod 755 /usr/local/bin/spf-filter 4. 룰셋설정 메일의제목에 [SPAM] 태그를추가하기위한룰셋을아래와같이 /etc/procmailrc 파일에작성한다. /etc/procmailrc 는모든사용자에게적용되는필터를정의할때사용하며, 만약특정사용자만적용하려면, 해당사용자의 ~/.procmailrc 파일에아래의설정을추가한다. bash-4.00# vi /etc/procmailrc # The lock file ensures that only 1 spf-filter invocation happens # at 1 time, to keep the load down. # :0fw: spf-filter.lock /usr/local/bin/spf-filter # All mail tagged as spam (eg. with a score higher than the set threshold) # is moved to "probably-spam". :0: * ^X-SPF-Filter: Fail probably-spam - 4 -
III. SPF 인증결과로그확인 다음과같이 /var/log/procmail 파일에서 procmail 의로그를확인할수있다. SPF 인증결과가 fail/softfail 인경우에해당메일제목에 [SPAM] 태그가 추가되었으며사용자의메일박스(/var/mail/kisa) 에저장되었다. bash-4.00# cat /var/log/procmail procmail: Extraneous locallockfile ignored =====SPF_filter(softfail) F="TESTER" <webmaster@kisarbl.co.kr>, S==?ks_c_5601-1987?B?xde9usauIF8gc3BmIHNvZnQgZmFpbLfOIMDOx9EgU1BBTS DFwg==?= =?ks_c_5601-1987?b?sdfd37ch?= procmail: Skipped " $SPAM_SPF_LOG" From webmaster@kisarbl.or.kr Wed Jul 21 18:24:46 2010 Subject: [SPAM] =?ks_c_5601-1987?b?xde9usauif8gc3bmihnvznqgzmfpblfoimdox9egu1b Folder: /var/mail/kisa 2295 procmail: Extraneous locallockfile ignored procmail: Skipped " $SPAM_SPF_LOG" From webmaster@kisarbl.or.kr Wed Jul 21 18:25:49 2010 Subject: 테스트 SPF pass인경우 Folder: /var/mail/kisa 766-5 -