[메일] sendmail 유저인증 릴레이 방식
sendmail 설정시 아웃룻같은 멜클라이언터 프로그램이 보내는 멜을
sendmail이 릴레이 시켜주기위해서는 /etc/mail/access 파일에 클라이언터쪽
IP를 적어주고 RELAY를 적어 주어야 합니다.
그런데 문제는 클라이언트쪽이 유동 IP 일 경우 이렇게 해주기 힘들어 집니다.
그렇다고 두루넷이나 ADSL 전용선업체에서 보내는 메일서버를 제공 해주는 것도 아니지
때문에 이런 사용자들이 멜을 보낼수 있게끔 해주어야하는 데
모든 IP에 대해서 RELAY를 허용해주면 스펨멜서버로 사용될수 있기때문에 위험하다는
것이죠…
그래서 유동IP에 대해서 멜을 보내주면 시스템의 USER 인가 아닌가로 멜을 RELAY
시키는 방법을 알아 보도록 하겠습니다.
다음고 같은 파일을 먼저 구합니다.
cyrus-sasl-1.5.24.tar.gz
참 위의 파일은 http://www.intosea.com 의 리눅스 자료실에 있슴다….
sendmail.8.10 이상소스…(www.sendmail.org)
그리고 다음과 같이 하면 됩니다..에궁…설명이 잘되어 있을지..ㅠ.ㅠ
혹시 잘안되면 연락주세여…
/usr/local/src 에 2개의 파일을 풀고
tar xvzf cyrus-sasl-1.5.24.tar.gz
tar xvzf sendmail.8.11.0.tar.gz
————————————————-
cyrus-sasl install
————————————————-
먼저 cyrus-sasl 디렉토리로 이동한다.
cd cyrus-sasl-1.5.24
다음과 같이 살행을 하고
./configure –enable-login –enable-plain –with-pam=/etc/pam.d
컴파일
make && make install
————————————————-
/usr/local/lib/sasl 을 /usr/lib/sasl 에 링크시킨다.
————————————————-
ln -s /usr/local/lib/sasl /usr/lib/sasl
————————————————-
/usr/lib/sasl/Sendmail.conf create
————————————————-
# /usr/lib/sasl/Sendmail.conf 내용
# pwchek_method: PAM
————————————————-
echo pwcheck_method: PAM > /usr/lib/sasl/Sendmail.conf
————————————————-
/etc/pam.d/smtp file create
————————————————-
# /etc/pam.d/smtp 내용
#
# #%PAM-1.0
# auth required /lib/security/pam_pwdb.so shadow nullok
# account required /lib/security/pam_pwdb.so
#
touch /etc/pam.d/smtp
echo #PAM-1.0 >> /etc/pam.d/smtp
echo “auth required /lib/security/pam_pwdb.so shadow nullok”
>>/etc/pam.d/smtp
echo “account required /lib/security/pam_pwdb.so” >>
/etc/pam.d/smtp
#————————————————-
# /etc/ld.so.conf 에 /usr/local/lib 를 추가 하고
# ldconfig 를 실행한다.
#————————————————-
echo “/usr/local/lib” >> /etc/ld.so.conf
ldconfig
여기까지 cyrus-sasl 컴파일 및 셋팅 끝
————————————————-
————————————————-
여기서 부터 sendmail 컴파일 및 셋팅
————————————————-
cd /usr/local/src/sendmail-8.11.0
————————————————-
vi devtools/Site/site.config.m4
————————————————-
APPENDDEF(`confENVDEF’, `-DSASL’)
APPENDDEF(`conf_sendmail_LIBS’, `-lsasl’)
APPENDDEF(`confLIBDIRS’, `-L/usr/local/lib’)
APPENDDEF(`confINCDIRS’, `-I/usr/local/include’)
————————————————-
senmail 컴파일 및 설치
————————————————-
./Build && ./Build install
————————————————-
sendmail.cf 만들기
————————————————-
vi cf/cf/sendmail.mc
————————————————-
divert(-1)
include(`../m4/cf.m4′)
VERSIONID(`trade for smtp-only setup and procmail for Korean mail’)dnl
define(`confDEF_USER_ID’,“8:12”)
OSTYPE(`linux’)
undefine(`UUCP_RELAY’)
undefine(`BITNET_RELAY’)
define(`confAUTO_REBUILD’)
define(`confTO_CONNECT’, `1m’)
define(`confTRY_NULL_MX_LIST’,true)
define(`confDONT_PROBE_INTERFACES’,true)
define(`PROCMAIL_MAILER_PATH’,`/usr/bin/procmail’)
define(‘ALIAS_FILE’,’/etc/mail/aliases’)
define(`confPRIVACY_FLAGS’, “authwarnings,noexpn,novrfy”)
define(`confAUTH_MECHANISMS’, `LOGIN PLAIN DIGEST-MD5 CRAM-MD5′)
FEATURE(`smrsh’,`/usr/sbin/smrsh’)
FEATURE(`mailertable’,`hash -o /etc/mail/mailertable’)
FEATURE(`virtusertable’,`hash -o /etc/mail/virtusertable’)
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
FEATURE(`access_db’)
FEATURE(`blacklist_recipients’)
FEATURE(nouucp,`reject’)
FEATURE(`accept_unresolvable_domains’)
dnl FEATURE(`relay_based_on_MX’)
MAILER(smtp)
MAILER(procmail)
MAILER(local)
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5′)dnl
————————————————-
————————————————-
/etc/mail/sendmail.cf 파일이 있으면 snemail.cf.org 로 바꾼다.
————————————————-
if [ -f /etc/mail/sendmail.cf ] ;then
mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf.org
fi
vi /etc/mail/alias
—————————————————
#
# @(#)aliases 8.2 (Berkeley) 3/5/94
#
# Aliases in this file will NOT be expanded in the header from
# Mail, but WILL be visible over networks or from /bin/mail.
#
# >>>>>>>>>> The program “newaliases”
must be run after
# >> NOTE >> this file is updated for any changes to
# >>>>>>>>>> show through to sendmail.
#
# Basic system aliases — these MUST be present.
MAILER-DAEMON: postmaster
postmaster: root
# General redirections for pseudo accounts.
bin: root
daemon: root
games: root
ingres: root
nobody: root
system: root
toor: root
uucp: root
# Well-known aliases.
manager: root
dumper: root
operator: root
# trap decode to catch security attacks
decode: root
# Person who should get root’s mail
#root: marc
—————————————–end———
————————————————-
sendmail.cf file create
————————————————-
cd cf/cf
m4 sendmail.mc > /etc/mail/sendmail.cf
if ! [ -f /etc/mail/local-host-names ] ;then
echo localhost > /etc/mail/local-host-names
fi
————————————————-
mqueu 디렉토리 생성
————————————————-
mkdir /var/spool/mqueue