리눅스 Sendmail SMTP 인증 설정 관련(SMTP Auth)
페이지 정보
작성자
본문
메일 서버를 운영할 때 외부에서 회사 서버에 접속해서 다른 회사의 이메일을 보내야 할 경우가 있습니다.
보안 상 제일 좋은 방법은 포털의 웹메일을 이용하게 하는 것이 좋겠지만, 또 업무를 위해서는 이런 경우도 종종 있을 수 있습니다. 이를테면 프로젝트 수행을 위해 별도 사무실을 장기간 운영해야 할 경우, 회사 메일 서버 이용에 제한을 받을 수 밖에 없습니다.
대개는 access.db를 이용해서 처음부터 접속하는 IP대역을 설정할 수도 있지만, SMTP에 대한 계정 인증 방식을 통해서도 가능합니다.
이 방법의 경우, 언제 어디서나 회사 메일 서버에 자기 계정만 있다면 이메일을 보낼 수가 있게 됩니다.
많이 쓰는 방법인데, 설명이 부족하거나 버전이 업데이트 되면서 현재 공개된 문서들로는 부족한 것 같습니다. 그래서, 다시 정리해서 올릴까 합니다.
참고로 제가 운영하는 환경은 페도라 코어4입니다.
sendmail.mc에서 추가로 설정해야 할 부분
다음 부분을 찾아서 다음과 같이 바꿔줍니다.
1. dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ->
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
(앞의 dnl 삭제)
2. dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ->
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
(앞의 dnl 삭제)
3. dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ->
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
(어디에서나 접속가능하도록 변경. sendmail이 8.12 버전으로 업그레이드 되면서 로컬 호스트에서만 발송가능하게끔 되어 있던 것을 주석처리해서 사용하다가, 이것을 어느 네트워크에서든지 접속할 수 있게끔 변경)
그리고 반드시 m4 명령으로 sendmail.cf는 다시 생성해야 하는 것은 아시겠죠?
다음과 같이 합니다(등호방향 조심할것)
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
바뀐점
1. SASL 보안 모듈은 SASL2로 버전업되었습니다. 따라서 /usr/lib/sasl에서 Sendmail.conf를 설정하는 것이 아니고, /usr/lib/sasl2에서 설정해야 합니다. 그리고, 이미 Sendmail.conf가 만들어져 있습니다.(다시 설정할 필요가 없음)
서비스 추가 또는 확인해야 할 점
서비스 데몬에서 saslauthd 서비스가 실행 중인지 확인하십시오. 실행되어 있지 않으면 SMTP 인증이 되지 않아 계속 인증 확인창이 뜰 것입니다.
ntsysv 명령을 실행시켜 saslauthd 항목을 찾아 자동시작데몬으로 체크해주십시오.
실행할 때는 다른 서비스들과 마찬가지로 다음과 같이 실행합니다 :
# service saslauthd start
출처 : http://sir.co.kr/bbs/board.php?bo_table=pl_linux&wr_id=165
보안 상 제일 좋은 방법은 포털의 웹메일을 이용하게 하는 것이 좋겠지만, 또 업무를 위해서는 이런 경우도 종종 있을 수 있습니다. 이를테면 프로젝트 수행을 위해 별도 사무실을 장기간 운영해야 할 경우, 회사 메일 서버 이용에 제한을 받을 수 밖에 없습니다.
대개는 access.db를 이용해서 처음부터 접속하는 IP대역을 설정할 수도 있지만, SMTP에 대한 계정 인증 방식을 통해서도 가능합니다.
이 방법의 경우, 언제 어디서나 회사 메일 서버에 자기 계정만 있다면 이메일을 보낼 수가 있게 됩니다.
많이 쓰는 방법인데, 설명이 부족하거나 버전이 업데이트 되면서 현재 공개된 문서들로는 부족한 것 같습니다. 그래서, 다시 정리해서 올릴까 합니다.
참고로 제가 운영하는 환경은 페도라 코어4입니다.
sendmail.mc에서 추가로 설정해야 할 부분
다음 부분을 찾아서 다음과 같이 바꿔줍니다.
1. dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ->
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
(앞의 dnl 삭제)
2. dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl ->
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
(앞의 dnl 삭제)
3. dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ->
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
(어디에서나 접속가능하도록 변경. sendmail이 8.12 버전으로 업그레이드 되면서 로컬 호스트에서만 발송가능하게끔 되어 있던 것을 주석처리해서 사용하다가, 이것을 어느 네트워크에서든지 접속할 수 있게끔 변경)
그리고 반드시 m4 명령으로 sendmail.cf는 다시 생성해야 하는 것은 아시겠죠?
다음과 같이 합니다(등호방향 조심할것)
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
바뀐점
1. SASL 보안 모듈은 SASL2로 버전업되었습니다. 따라서 /usr/lib/sasl에서 Sendmail.conf를 설정하는 것이 아니고, /usr/lib/sasl2에서 설정해야 합니다. 그리고, 이미 Sendmail.conf가 만들어져 있습니다.(다시 설정할 필요가 없음)
서비스 추가 또는 확인해야 할 점
서비스 데몬에서 saslauthd 서비스가 실행 중인지 확인하십시오. 실행되어 있지 않으면 SMTP 인증이 되지 않아 계속 인증 확인창이 뜰 것입니다.
ntsysv 명령을 실행시켜 saslauthd 항목을 찾아 자동시작데몬으로 체크해주십시오.
실행할 때는 다른 서비스들과 마찬가지로 다음과 같이 실행합니다 :
# service saslauthd start
출처 : http://sir.co.kr/bbs/board.php?bo_table=pl_linux&wr_id=165
댓글목록
등록된 댓글이 없습니다.