[메일] 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

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.