--- 디지털 인쇄로 책을...

     ---리룩스서버컴퓨터 백업

  공개 자료실 

 文學위의 文學 출판사입니다. PDF로 전환하여 복사기로 책을 만듭니다. 자세한 내용은, '디지털 인쇄'에서 확인해 보세요!

리눅스(Linux) 서버

센드메일 -SMTP 인증

2005.04.09 05:58

문학 조회 수:3044

sendmail 설정하기 에서 설명한 것과 같이, /etc/mail/acceess 설정에서 메일을 보내는 네트워크 주소 대역을 허용하여, 스팸 메일러로 부터 스팸 메일 서버로의 악용을 막을 수 있었습니다.
하지만, 이 RELAY 허용 방식은 회사가 아닌 집이나, 다른 업무차 회사 밖에서는 메일로 업무를 볼 수가 없게 됩니다.
이같은 문제를 해결하기 위한 것이 SMTP 인증 방식입니다.

[주의] 한컴리눅스 3.1에서는 기본적으로 SMTP 인증 방식을 사용하므로, 데몬만을 재 실행하고 아래 클라이언트 설정을 하시면 됩니다.

SMTP 인증 방식은 여러가지가 있지만, 쉽게 한컴리눅스 3.0이나 2.2에 있는 기본 패키지를 약간만 수정하는 방법을 설명하겠습니다.
설정을 위해 /etc/mail/sendmail.mc 파일을 약간 수정하여야 합니다.

[root@ns root]# cat -b /etc/mail/sendmail.mc
1 divert(-1)
2 dnl This is the sendmail macro config file. If you make changes to this file,
3 dnl you need the sendmail-cf rpm installed and then have to generate a
4 dnl new /etc/sendmail.cf by running the following command:
5 dnl
6 dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
7 dnl
8 include(`/usr/share/sendmail-cf/m4/cf.m4')
9 VERSIONID(`linux setup for HancomLinux')dnl
10 OSTYPE(`linux')
11 define(`confDEF_USER_ID',``8:12'')dnl
12 undefine(`UUCP_RELAY')dnl
13 undefine(`BITNET_RELAY')dnl
14 define(`confAUTO_REBUILD')dnl
15 define(`confTO_CONNECT', `1m')dnl
16 define(`confTRY_NULL_MX_LIST',true)dnl
17 define(`confDONT_PROBE_INTERFACES',true)dnl
18 define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
19 define(`ALIAS_FILE', `/etc/aliases')dnl
20 dnl define(`STATUS_FILE', `/etc/mail/statistics')dnl
21 define(`UUCP_MAILER_MAX', `2000000')dnl
22 define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
23 define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
24 define(`confAUTH_OPTIONS', `A')dnl
25 dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
26 dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
27 dnl define(`confTO_QUEUEWARN', `4h')dnl
28 dnl define(`confTO_QUEUERETURN', `5d')dnl
29 dnl define(`confQUEUE_LA', `12')dnl
30 dnl define(`confREFUSE_LA', `18')dnl
31 dnl FEATURE(delay_checks)dnl
32 FEATURE(`no_default_msa',`dnl')dnl
33 FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
34 FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
35 FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
36 FEATURE(redirect)dnl
37 FEATURE(always_add_domain)dnl
38 FEATURE(use_cw_file)dnl
39 FEATURE(use_ct_file)dnl
40 FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl
41 FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl
42 FEATURE(`blacklist_recipients')dnl
43 EXPOSED_USER(`root')dnl
44 dnl This changes sendmail to only listen on the loopback device 127.0.0.1
45 dnl and not on any other network devices. Comment this out if you want
46 dnl to accept email over the network.
47 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')
48 dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires
49 dnl a kernel patch
50 dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')
51 dnl We strongly recommend to comment this one out if you want to protect
52 dnl yourself from spam. However, the laptop and users on computers that do
53 dnl not have 24x7 DNS do need this.
54 FEATURE(`accept_unresolvable_domains')dnl
55 dnl FEATURE(`relay_based_on_MX')dnl
56 MAILER(smtp)dnl
57 MAILER(procmail)dnl
58 Cwlocalhost.localdomain

위의 파일 내용 중 25,26번째 줄을 다음과 같이 수정합니다.

TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

그리고, 47번째 줄의 내용 중 Addr=0.0.0.0 이 되어 있는지 확인하고 아니면 위와 같이 수정합니다.

/etc/mail/sendmail.mc 파일이 수정되었으면 수정된 내용을 /etc/sendmail.cf 에 적용하여야 합니다.

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

만일 위의 명령이 제대로 수행되지 않는다면 sendmail-cf 패키지가 설치되지 않았기 때문이므로, 이 패키지를 OS 시디에서 찾아 설치해 주어야 합니다.

/etc/sendmail.cf가 적용이 되었다면, sendmail 데몬을 재 실행합니다.

[root@ns root]# /etc/rc.d/init.d/sendmail restart
sendmail를 종료하고 있습니다: [ 확인 ]
sendmail (을)를 시작합니다: [ 확인 ]
[root@ns root]#

이것으로 SMTP 인증 설정이 모두 끝났습니다.
메일 클라이언트에서 SMTP 인증이 제대로 되는지 확인만 하면 됩니다.
아웃룩 익스프레스에서 계정 추가후 [서버] 설정 탭에서 [보내는 메일 서버] 에서 [인증필요]를 체크를 한 후 메일을 보내 봅니다.
아이디와 패스워드를 물어 보는 창에, 인증을 하면 메일이 발송되는 것을 볼 수 있을 것입니다.