리눅스

Total 331
Today 0
profile_image
관리자
04-12-21 00:59 0개 26회
일반문서
sendmail 설정관련부분
MTA로 가장 많이 사용하는 것은 sendmail과 qmail이다
데몬의 프로세스 생성의 차이로 인해 성능 또한 차이가 발생하게 되는데
일반적으로 sendmail은 중소규모, qmail은 대형 메일시스템에 유리하다.


리눅스 설치시 기본으로 sendmail이 제공되고 있다

1. MTA 설치

[root@rootda mail]# rpm -qa |grep sendmail
sendmail-devel-8.11.6-27.73
sendmail-cf-8.11.6-27.73
sendmail-8.11.6-27.73

이상은 레드햇 7.3에 설치된 sendmail이다.
공격자가 루트를 취득할 수 있는 심각한 버그를 내포하고 있으므로
설치 후에 바로 패치를 실시한다.

rhn up2date 라이센스가 없다면 yum을 이용하시기 바랍니다.
yum 사용법은 ROOTDA.ORG http://www.rootda.org/bbs/view.php?id=secure&no=10
에서 제공하고 있습니다.


2. 설정

/etc/mail/sendmail.mc을 이용해서 sendmail.cf 파일을 생성한다.

[root@rootda mail]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

! smtp 인증을 위해서는 다음과 같이 활성화 되어 있어야 한다.
# list of authentication mechanisms
O AuthMechanisms=LOGIN PLAIN DIGEST-MD5 CRAM-MD5

[ sendmail.mc에서 다음과 같은 두 라인을 활성화 시키고 m4를 이용해서 sendmail.cf를 재생성 ]
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

! 기본적으로 sendmail은 localhost에서만 메일을 주고 받을 수 있도록 설정되어있다.
즉 내부에서만 MTA가 가동하고, 외부에서는 접근할 수가 없게 되어있다.
/etc/sendmail.cf 파일에서 Addr=127.0.0.1 를 삭제한다.

SMTP daemon options

O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

# SMTP client options
#O ClientPortOptions=Address=0.0.0.0

이상과 같은 작업을 마쳤고 sendmail을 재구동 시키면 단일 도메인에 대한 메일 서비스는
즉시 제공이 가능하다.


3. 여러개의 도메인에 대한 메일 서비스 제공( 가상도메인 )

sendmail.cf 파일 생성시 mc 화일에 FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')
처럼 활성화 되어 있어야 한다. 기본적으로 활성화

변경을 시켜야 하는 파일은
/etc/mail/local-host-names
/etc/mail/virtusertable 파일이다.

/etc/mail/local-host-names 메일의 교환을 허용하는 도메인들을 기록하는 곳이다
도메인을 한 라인에 하나씩 입력한다. 이것으로 끝이다.

/etc/mail/virtusertable 가상의 이메일 주소로 발송되는 메일을 실제 계정으로 포워딩시켜주는
역할을 하게 된다.
[root@rootda mail]# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
을 통해서 디비를 갱신한다.
갱신된 디비의 내용은 strings 명령어를 통해서 볼 수 있다.
[root@rootda mail]# strings virtusertable.db
oz4u
webmaster@oz4u.org
sup
sup@sup.pe.kr
sanggeun
webmaster@ssagri.net
love2gether
lena@love2gether.net

예) help@rootda.org "TAB으로 구분" rootda
webmaster@rootda.org rootda
help@rootyo.com rootyo
webmaster@rootyo.com rootyo
에서 처럼 실제로 서버상에 동일계정이 존재할 수 없지만 virtusertable를 통해서 가능하게 해준다.


4. 스팸대처
상용툴을 사용할 수 없다면 procmail을 이용한 필터링을 추천한다.
하지만 procmail을 서버로 들어오는 모든 메일을 받고 그것을 필터링하므로
서버에 부하가 많이 발생하게 된다.
근원적으로 봉쇄하기 위해서는 access을 이용하면 어느정도 대처가 가능하다.

예) [root@rootda mail]# tail -8 /etc/mail/access
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
203.247.38.150 REJECT
61.81.112.24 RELAY
admin@rootda.org OK
webmaster@rootda.org OK
rootda.org REJECT
이상의 설정은 설정은 localhost에 대해서는 모두 허가하고
203.247.38.150 에서 오는 메일은 거부, 61.81.112.24 에서 오는 메일은 모두 송수신 허가,
rootda.org 에서 오는 메일은 모두 차단을 하지만,
admin, webmaster@rootda.org 는 어떠한 차단 설정에도 메일을 수신할수 있도록
설정하는 것이다

이상과 같이 설정하였다면 디비를 갱신시켜줘야 한다.

[root@rootda mail]# makemap hash /etc/mail/access < /etc/mail/access


5. pop3, imap

기본적으로 imap을 통한 pop3와 imap이 제공된다.
가동하기 위해서는 /etc/xinet.d/ipop3d, imapd 를 열어서 disable = no 처럼 변경하고
/etc/init.d/xinetd restart 를 통해서 즉시 사용이 가능하다.

댓글목록

등록된 댓글이 없습니다.