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 인증이 제대로 되는지 확인만 하면 됩니다. 아웃룩 익스프레스에서 계정 추가후 [서버] 설정 탭에서 [보내는 메일 서버] 에서 [인증필요]를 체크를 한 후 메일을 보내 봅니다. 아이디와 패스워드를 물어 보는 창에, 인증을 하면 메일이 발송되는 것을 볼 수 있을 것입니다.
|