메일서버등록제(SPF) 인증기능적용안내서 (CentOS - qmail) OS Mail Server SPF 적용모듈 (C 언어기반) 작성기준 CentOS bit qmail 1.03 qmail-spf-rc5 patch 2016 년 6 월

Similar documents
메일서버등록제(SPF) 인증기능적용안내서 (Ubuntu - qmail) OS Mail Server SPF 적용모듈 (C 언어기반) 작성기준 Ubuntu Desktop bit qmail 1.03 qmail-spf-rc5 patch 2016 년 6 월

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

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

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

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

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

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

목 차 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

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

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

(

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - enterprise-linux-2-3.doc

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

PowerPoint 프레젠테이션

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

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

(

EJRWXFSEKSPJ.hwp

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

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

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

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

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

PowerPoint 프레젠테이션

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

게시판 스팸 실시간 차단 시스템

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Sendmail ) 설정변경 5 2. 스팸차단테스트 5 Ⅲ. 실시간스팸차단리스트 (RBL) (RBLDNSD 이용 ) 7 1. 시스템환경및프로그램상세내역 8 2.

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

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

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

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

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

Sena Technologies, Inc. HelloDevice Super 1.1.0

PowerPoint 프레젠테이션

Install stm32cubemx and st-link utility

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

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

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

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

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

PowerPoint 프레젠테이션

2009년 상반기 사업계획

Oracle Database 11g R2 Installation Guide for OEL5(x86) Writer : 이경호

PowerPoint 프레젠테이션

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Adobe Flash 취약점 분석 (CVE )

목차 1. 시스템구성 개요 정의 목적 환경 준비사항 Oracle Install configuration Xshell 에

슬라이드 1

LXR 설치 및 사용법.doc

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

The Pocket Guide to TCP/IP Sockets: C Version

Windows 8에서 BioStar 1 설치하기

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

슬라이드 1

Sun Java System Messaging Server 63 64

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

슬라이드 1

Microsoft Word - src.doc

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션


28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Network seminar.key

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

무시하고진행합니다. $ sudo rootstock -d precise --seed ubuntu-standard -x en_us.utf-8 -f ubuntu -l ubuntu -p ubuntu -i 2G I: Running on a x86_64 machine I: Cre

PowerPoint 프레젠테이션

/chroot/lib/ /chroot/etc/

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Report Designer V3.0 사용설명서 2장

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

PowerPoint 프레젠테이션

chapter1,2.doc

슬라이드 제목 없음

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

PowerPoint 프레젠테이션

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

PowerPoint 프레젠테이션

단계

Microsoft PowerPoint 통신 및 압축 명령어.ppt

사용자계정관리 1. 사용자계정관리 사용자 (user), 그룹 (group) u 다중사용자시스템 (Multi-User System) - 1 대의시스템을동시에여러사람이접속하여쓸수있게하는시스템 u 사용자 (user) - 시스템관리자 : root (=Super user) -

bn2019_2

Apache( 단일도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

운영체제실습_명령어

3) MySQL data 백업백업방법 : dump 파일로저장저장위치 : /backup/mysqldump 백업주기 : 시간별 (/etc/cron.hourly) 또는일별 (/etc/cron.daily) 보관기간 : 7 일백업스크립트 : 아래예제 6-1). 참조 4) 웹데이

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

제 1402 회리눅스마스터 1 급 1 차 B 형정답

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을

Mango220 Android How to compile and Transfer image to Target

Discrete Mathematics

Microsoft PowerPoint - chap01-C언어개요.pptx

Table of contents 1. 구성도 Maxgauge For MySQL 설치정보... 6 설치파일정보... 6 포트정보... 6 주요디렉토리... 6 소프트웨어기동 / 종료... 7 기동... 7 종료 Maxgauge For MySQ

Apache install guide

Apache( 멀티도메인 ) SSL 인증서신규설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

Sena Device Server Serial/IP TM Version

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

Apache( 단일도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

4 소스로부터 설치하기

OnTuneV3_Agent_Install

Transcription:

메일서버등록제(SPF) 인증기능적용안내서 (CentOS - qmail) OS Mail Server SPF 적용모듈 (C 언어기반) 작성기준 CentOS 5.4 32bit qmail 1.03 qmail-spf-rc5 patch 2016 년 6 월

목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. qmail, SPF 인증기능모듈설치 2 1. sendmail 제거 2 2. gcc 설치 3 3. ucspi-tcp 설치 4 4. daemontools 설치 6 5. qmail 설치및 SPF 패치 8 III. SPF 적용여부확인및차단 15 1. SPF 판별을위한판정값설정 15 2. 차단확인 16

I. 개요 1. SPF( 메일서버등록제) 란? 메일서버등록제 (SPF: Sender Policy Framework) 는메일서버정보를사전에 DNS 에공개등록함으로써수신자로하여금이메일에표시된발송자정보가 실제메일서버의정보와일치하는지를확인할수있도록하는인증기술이다. 대다수스팸발송자가자신의신원을감추기위하여발송자주소나전송경로를 허위로표기하거나변경하는경우가많다는데착안되었다. SPF를 DNS에설정하는방법은 http://www.kisarbl.or.kr > White Domain 등록작성도우미메뉴를참고한다. > SPF SPF를이용하여스팸메일을차단하기위해서는메일서버에 적용되어있어야한다. SPF 인증기능이 CentOS 환경에서기본적으로설치된메일서버에는 SPF 인증기능이적용되어 있지않으므로 SPF 모듈설치및패치를해야한다. 본안내서는메일수신 서버에 SPF 인증기능을쉽게적용하는방법을소개한다. 2. SPF 를이용한이메일인증절차 발신자 : 자신의메일서버정보와정책을나타내는 SPF 레코드를해당 DNS에등록 수신자 : 이메일수신시발송자의 DNS에등록된 SPF 레코드를확인하여 해당이메일에표시된발송IP와대조하고그결과값에따라수신여부를결정 ( 메일서버나스팸차단솔루션에 SPF 인증기능이설치되어있어야함) [ 그림 1] SPF 인증흐름도 - 1 -

II. qmail, SPF 인증기능모듈설치 본안내서는운영체제및메일서버를처음구축하는것을기준으로작성하였다. 설치과정에서사용하는모든명령어는 root 권한으로실행해야한다. 1. sendmail 제거 CentOS에는 sendmail 이기본적으로설치되어있다. qmail을설치하면 tcp/25 번 포트충돌이발생하므로제거하도록한다. 아래는 telnet 명령어를이용하여 tcp/25번포트에접속하여메일전송 프로그램(MTA: Mail Transfer Agent) 이동작하고있는상태를확인하는 것으로써 sendmail 이동작하고있음을알수있다. [root@spf ~]# telnet 0 25 ( 메일서버 25 번포트접속) Connected to 0 (0.0.0.0). Escape character is '^]'. 220 spf.kisa.or.kr ESMTP Sendmail 8.13.8/8.13.8; Thu, 1 Jul 2010 21:20:22 +0900 quit ( 접속종료) 221 2.0.0 spf.kisa.or.kr closing connection Connection closed by foreign host. 아래와같이패키지관리도구인 rpm 을이용하여기존에설치된 sendmail 을삭제한다. [root@spf ~]# rpm -e sendmail --nodeps (sendmail 이설치되어있을경우제거) --nodeps 는패키지의의존성을무시하고해당패키지를삭제하는옵션이다. - 2 -

2. gcc 설치 2.1 gcc 설치여부확인 qmail 의기본패키지에는 SPF 인증기능이포함되어있지않으므로 SPF 라이브러리를통합하여 qmail 을구성해야한다. qmail 설치시소스코드를 컴파일해서설치해야하기때문에아래와같이 gcc 설치여부를확인한다. [root@spf ~]# gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 2.2 설치 gcc가설치되어있지않다면 이용하여설치한다. 아래와같이패키지설치/ 삭제도구인 yum을 [root@spf ~]# yum install -y gcc Loading mirror speeds from cached hostfile * addons: mirror.khlug.org * base: mirror.khlug.org Running Transaction Installing : gcc Installed: 1/1 gcc.i386 0:4.1.2-48.el5-3 -

3. ucspi-tcp 설치 qmail 은단독데몬프로세스로동작하지않기때문에 데몬형태의포트서비스프로그램을필요로한다. ucpsi-tcp 와같은네트워크 ucpsi-tcp 는유닉스계열클라이언트 / 서버프로그램으로서 tcpserver 와 tcpclient 프로그램을 생성한다. tcpserver 는동시접속제한및프로세스와메모리를보호하는역할을하게된다. 3.1 다운로드및압축해제 아래와같이 wget 명령어를이용하여 ucspi-tcp-0.88 패키지를다운로드한후 압축을해제한다. [root@spf ~]# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz Resolving cr.yp.to... 131.193.36.21 Connecting to cr.yp.to 131.193.36.21 :80... connected. HTTP request sent, awaiting response... 200 OK Length: 53019 (52K) [application/x-gzip] Saving to: `ucspi-tcp-0.88.tar.gz' ucspi-tcp-0.88.tar.gz' saved [53019/53019] [root@spf ~]# tar xzf ucspi-tcp-0.88.tar.gz 압축해제후소스패키지를설치하면 라이브러리등이설치된다. /usr/local 디렉토리에실행파일및 - 4 -

3.2 컴파일및설치 설치된 glibc 버전이 2.3.1 이상이면컴파일과정에서에러가발생하므로 패키지에포함된 error.h 의파일에 #include <errno.h> 를추가한다. [root@spf ~]# cd ucspi-tcp-0.88 [root@spf ucspi-tcp-0.88]# vi error.h #include <errno.h> #ifndef ERROR_H #define ERROR_H :wq! 주의 ) #include <errno.h> 항목이추가가되지않았을경우 /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section.tbss mismatches non-tls reference in tcpserver.o 과같은에러가발생한다. 아래와같이 make, make setup check 를입력하여설치를완료한다. [root@spf ucspi-tcp-0.88]# make ( cat warn-auto.sh; \ echo 'main="$1"; shift'; \ echo exec "`head -1 conf-ld`" \ '-o "$main" "$main".o ${1+"$@"}' \... ( 중략)./compile auto_home.c./load install hier.o auto_home.o unix.a byte.a./compile instcheck.c./load instcheck hier.o auto_home.o unix.a byte.a [root@spf ucspi-tcp-0.88]# make setup check./install./instcheck /usr/local/bin 디렉토리에프로그램이설치된다. - 5 -

4. daemontools 설치 daemontools는 Unix 서비스를감시하는프로그램으로서네트워크포트데몬으로동작하는서비스가죽거나반응이없으면해당데몬을자동으로재시작하는기능을제공하는도구이다. 4.1 설치디렉토리생성 daemontools 를설치하기위해서아래와같이 /package 디렉토리를 생성하고권한을부여한다. [root@spf ~]# mkdir /package [root@spf ~]# chmod 1775 /package/ [root@spf ~]# cd /package/ 주의) daemontools 는임의의네트워크데몬을감시할수있는프로그램이므로, 보안을위해서디렉토리에 t 퍼미션(sticky bit) 을부여해야한다. 4.2 다운로드및압축해제 아래와같이 daemontools-0.76 을다운로드한후압축을해제한다. [root@spf /package]# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz http://cr.yp.to/daemontools/daemontools-0.76.tar.gz Saving to: `daemontools-0.76.tar.gz' daemontools-0.76.tar.gz' saved [36975/36975] [root@spf /package]# tar xzf daemontools/daemontools-0.76.tar.gz - 6 -

4.3 컴파일및설치 설치된 glibc 버전이 2.3.1 이상이면컴파일과정에서에러가발생하므로 패키지에포함된 error.h 의파일에 #include <errno.h> 를추가한다. [root@spf package]# cd admin/daemontools-0.76/src/ [root@spf src]# vi error.h #include <errno.h> #ifndef ERROR_H #define ERROR_H :wq! 아래와같이디렉토리이동후설치스크립트를실행한다. [root@spf admin]# cd /package/admin/daemontools-0.76/ [root@spf daemontools-0.76]# package/install Linking./src/* into./compile... Creating /service... Adding svscanboot to inittab... init should start svscan now. - 7 -

5. qmail 설치및 SPF 패치 5.1 다운로드 qmail 원본소스를아래와같이 wget 명령어를이용하여다운로드한다. 칵테일, knetqmail 등의사용자패치는미적용하였다. [root@spf ~]# wget http://cr.yp.to/software/qmail-1.03.tar.gz http://cr.yp.to/software/qmail-1.03.tar.gz Resolving cr.yp.to... 131.193.36.21 Connecting to cr.yp.to 131.193.36.21 :80... connected. HTTP request sent, awaiting response... 200 OK Saving to: `qmail-1.03.tar.gz' qmail-1.03.tar.gz' saved [220668/220668] 5.2 qmail-spf 패치파일다운로드 아래와같이 wget 명령어를이용하여 qmail-spf-rc5 패치파일을다운로드한다. [root@spf ~]# wget http://www.saout.de/misc/spf/qmail-spf-rc5.patch http://www.saout.de/misc/spf/qmail-spf-rc5.patch Resolving www.saout.de... 78.46.99.52, 2001:6f8:13b1:3::2:1 Saving to: `qmail-spf-rc5.patch' qmail-spf-rc5.patch' saved [63582/63582] - 8 -

5.3 qmail-spf 패치 아래와같이 qmail patch 명령어를실행한다. 소스파일을압축해제한후소스디렉토리로이동하여 patch 는원본소스와수정된소스를비교(diff) 해서패치파일을적용하는스크립트이다. [root@spf ~]# tar xzf qmail-1.03.tar.gz [root@spf ~]# cd qmail-1.03 [root@spf qmail-1.03]# patch -p1 <../qmail-spf-rc5.patch patching file byte_cspn.c patching file byte.h patching file byte_rcspn.c patching file TARGETS patching file tcp-env.c 주의) patch 옵션과디렉토리가다른경우에는패치과정에서오류가발생한다. 5.4 qmail 디렉토리및계정/ 그룹생성 qmail 을컴파일하기전에아래와같이사용자계정과그룹을생성한다. [root@spf ~]# mkdir /var/qmail [root@spf ~]# groupadd nofiles [root@spf ~]# useradd -g nofiles -d /var/qmail/alias alias [root@spf ~]# useradd -g nofiles -d /var/qmail qmaild [root@spf ~]# useradd -g nofiles -d /var/qmail qmaill [root@spf ~]# useradd -g nofiles -d /var/qmail qmailp [root@spf ~]# groupadd qmail [root@spf ~]# useradd -g qmail -d /var/qmail qmailq [root@spf ~]# useradd -g qmail -d /var/qmail qmailr [root@spf ~]# useradd -g qmail -d /var/qmail qmails 주의) useradd 과정에서 useradd: 경고: 홈디렉토리가이미존재합니다. skel 디렉토리에서파일을복사하지않습니다 라고출력되는부분은무시한다. - 9 -

5.5 컴파일및설치 설치된 glibc 버전이 2.3.1 이상이면컴파일과정에서에러가발생하므로 패키지에포함된 error.h 의파일에 #include <errno.h> 를추가한다. [root@spf ~]# cd qmail-1.03 [root@spf qmail-1.03]# vi error.h #include <errno.h> #ifndef ERROR_H #define ERROR_H :wq! 아래와같이 make, make setup check,./config-fast 도메인명 을 입력하여 qmail 을설치한다. 도메인명은 FQDN(Fully Qualified Domain Name 의약자) 을입력한다. [root@spf qmail-1.03]# make ( cat warn-auto.sh; \ echo CC=\'`head -1 conf-cc`\'; \ now.o dns.o datetime.a stralloc.a alloc.a str.a substdio.a \ case.a error.a fs.a `cat dns.lib` `cat socket.lib` [root@spf qmail-1.03]# make setup check [root@spf qmail-1.03]#./config-fast mail.testdomain.com /var/qmail 디렉토리에실행/ 설정파일들이설치된다. - 10 -

5.6 구동스크립트디렉토리생성 qmail 구동스크립트를작성하기위하여아래와같이디렉토리를생성한후 t 퍼미션(sticky bit) 을부여한다. [root@spf qmail-1.03]# mkdir -p /var/qmail/supervise/qmail-send/log [root@spf qmail-1.03]# mkdir -p /var/qmail/supervise/qmail-smtpd/log [root@spf qmail-1.03]# chmod +t /var/qmail/supervise/qmail-send [root@spf qmail-1.03]# chmod +t /var/qmail/supervise/qmail-smtpd 5.7 구동스크립트작성 각 qmail 구동스크립트의작성방법과의미는다음과같다. o /var/qmail/rc : qmail의기본구동스크립트 [root@spf qmail]# cd /var/qmail/ [root@spf qmail]# vi rc #!/bin/sh exec env - PATH="/var/qmail/bin:$PATH" qmail-start./maildir/ [root@spf qmail]# chmod 755 rc o /var/qmail/supervise/qmail-send/run : 메일발송을담당하는스크립트 [root@spf qmail]# cd /var/qmail/supervise/qmail-send/ [root@spf qmail-send]# vi run #!/bin/sh exec /var/qmail/rc [root@spf qmail-send]# chmod 755 run - 11 -

o /var/qmail/supervise/qmail-send/log/run : 메일발송시로그를기록하는스크립트 [root@spf qmail]# cd /var/qmail/supervise/qmail-send/log/ [root@spf log]# vi run #!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail [root@spf log]# chmod 755 run o /var/qmail/supervise/qmail-smtpd/run : 메일수신을위한서비스를실행하는스크립트 [root@spf qmail]# cd /var/qmail/supervise/qmail-smtp/ [root@spf qmail-smtp]# vi run #!/bin/sh Q_UID=`id -u qmaild` Q_GID=`id -g qmaild` exec /usr/local/bin/softlimit -m 2000000 \ /usr/local/bin/tcpserver -vhrl 0 -x /etc/tcp.smtp.cdb \ -u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1 [root@spf qmail-smtp]# chmod 755 run o /var/qmail/supervise/qmail-smtpd/log/run : 메일수신시로그를기록하는스크립트 [root@spf qmail]# cd /var/qmail/supervise/qmail-smtp/log [root@spf log]# vi run #!/bin/sh exec /usr/local/bin/setuidgid qmaill \ /usr/local/bin/multilog t /var/log/qmail/smtpd [root@spf log]# chmod 755 run - 12 -

5.8 로그디렉토리생성 로그를기록하기위해서아래와같이디렉토리를생성하고접근권한을부여한다. [root@spf qmail]# mkdir -p /var/log/qmail/smtpd [root@spf qmail]# chown -R qmaill /var/log/qmail [root@spf qmail]# ln -s /var/qmail/supervise/qmail-send \ /var/qmail/supervise/qmail-smtpd /service 5.9 반송메일수신계정생성 반송메일수신을위해서 root, postmaster 계정으로수신되는메일을 관리자계정으로포워딩을할수있도록아래와같이설정을한다. 예시의주소 admin@example.com 계정대신에실제메일서버관리자계정을입력한다. [root@spf qmail]# echo admin@example.com > /var/qmail/alias/.qmail-root [root@spf qmail]# echo admin@example.com > /var/qmail/alias/.qmail-postmaster 5.10 릴레이허용을위한 IP 설정 아래와같이 localhost(127.0.0.1) 와메일서버 IP의릴레이를허용한다. tcprules 명령어를이용하여 DB 화한파일을생성한다. [root@spf qmail]# vi /etc/tcp.smtp 127.0.0.1:allow,RELAYCLIENT="" 192.168.1.1:allow,RELAYCLIENT="" [root@spf qmail]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp - 13 -

5.11 서비스구동스크립트다운로드 아래와같이 wget 명령어를이용하여 qmail 서비스구동스크립트를 다운로드한후스크립트의이름을변경하고실행권한을부여한다. [root@spf qmail]# cd /etc/init.d [root@spf init.d]# wget http://lifewithqmail.org/qmailctl-script-dt70 http://lifewithqmail.org/qmailctl-script-dt70 `qmailctl-script-dt70' saved [3053/3053] [root@spf init.d]# mv qmailctl-script-dt70 qmail [root@spf init.d]# chmod 755 qmail 5.12 qmail 시작 아래와같이 qmail 구동스크립트를실행한후 tcp/25 번포트에접속하여 정상적으로 qmail 이실행되고있는지확인한다. [root@spf ~]# /etc/init.d/qmail start Starting qmail [root@spf ~]# telnet 0 25 Escape character is '^]'. 220 kisarbl.or.kr ESMTP quit ( 접속종료) (qmail 실행) (25 번포트접속) - 14 -

III. SPF 1. SPF 적용여부확인및차단 판별을위한판정값설정 qmail 에적용되는차단레벨을설정하기위해서 /var/qmail/control spfbehavior 파일에서레벨을지정할수있다. 디렉토리의 아래는 SPF fail 시메일수신을거부(reject) 하는값인 3 을적용한예시이다. [root@spf qmail]# cd /var/qmail/contorl [root@spf control]# vi spfbehavior 3 SPF 판정값은 0~6 까지지정할수있으며각각의의미는아래와같다. 상위판정값은하위판정값을포함한다. 즉, 판정값 6 은하위 0~5 판정값을 포함한다. 판정값 의미 0 SPF 확인하지않음, SPF-Received 헤더추가하지않음 1 SPF-Recevied 헤더만추가, 메일거부기능사용하지않음 2 DNS 서버의다운으로인해조회가되지않는경우 (451 SPF lookup failure 과같이응답을하면서거부) 3 fail 판정시거부(reject) 4 Soft-fail 판정시거부(reject) 5 neutral 판정시거부(reject) 6 pass 이외의모든상태거부(reject) 주의) 값을변경한이후에는 qmail 을재시작한다. Temperr - 15 -

2. 차단확인 메일서버에 SPF 적용이완료되었으면, 아래와같이 telnet 명령어를 이용하여 SPF 인증기능이적용된메일서버로접속해본다. 메일발송 IP와 SPF 레코드의 IP가일치하지않으면메일수신주소를입력하는 단계에서 SPF 인증이실패하여메일전송이차단되는것을확인할수있다. 550 See http://spf.pobox.com/why.html?sender=kisa%40kisarbl.or.kr&ip=9.8.7.6 &receiver=0 (#5.7.1) 와같은오류코드가나타나며표시되는 URL에서 상세내용을확인할수있다. [root@ ~]# Trying 1.2.3.4... telnet 메일서버IP 25 ( 공인 IP 만가능하며, 127.0.0.1 은확인불가) Connected to your (1.2.3.4). 220 mail.yourdomian.com ESMTP Escape character is '^]'. ehlo test.com 250 kisarbl.or.kr mail from: test@kisarbl.or.kr 250 ok rcpt to: test@yourdomain.com ( 메일발신주소) ( 메일수신주소) 550 See http://spf.pobox.com/why.html?sender=kisa%40kisarbl.or.kr&ip=9.8.7.6 &receiver=0 (#5.7.1) quit ( 접속종료) ( 차단되었음을확인할수있음) - 16 -

2.1 reject 사유페이지확인 http://spf.pobox.com/why.html?sender=kisa%40kisarbl.or.kr&ip=x.x.x.x&receiver=0 페이지에서거부 (reject) 사유와해결방법을확인할수있다. [ 그림 2] SPF fail 시차단확인페이지 - 17 -