본문
내가 갖고 있는 도메인(firstdedicated.co.kr)으로 내가 소유한 서버에서 메일을 보내고 받을 수 있게 설정해 보자. 제일 먼저 확인해야 할 것은 도메인이 사용하는 네임서버의 zone 파일에서 mx 레코드가 내 서버의 ip로 연결되어 있어야 한다.
firstdedicated.co.kr 도메인의 MX레코드가 아래와 같이 설정 되어있다.
MX 10 mail
mail A 192.168.0.16
그럼 이제부터 192.168.0.16의 서버에서 xxx@firstdedicated.co.kr 의 주소로 들어오는 메일을 받을수 있게 설정해 보자.
* 받는 메일 서버 설정
메일을 받기 위해서는 우선 pop3 데몬이 떠 있어야 한다. xinetd.d 디렉토리내에 ipop3d 를 사용한다면 별 어려움 없이 pop3데몬을 띄울수 있다.
기본적으로 제공되는 ipop3 데몬을 띄우기 위해서 /etc/xinetd.d/ipop3d 파일을 편집기로 열고 disable = yes 부분만 disable = no로 변경시키고 xinetd 데몬을 리스타트 하면 된다.
1. /etc/xinetd.d/ipop3d 파일 수정.
[root@localhost root]# cat /etc/xinetd.d/ipop3d
service pop3
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
log_on_success += USERID
log_on_failure += USERID
}
2. xinetd 데몬 리스타트
[root@localhost root]# /etc/rc.d/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
3. 110번 포트 확인
[root@localhost root]# netstat -nat | grep LISTEN | grep 110
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
4. /etc/mail/local-host-names 파일에 메일을 사용할 도메인 추가한 후 sendmail 데몬 리스타트
[root@localhost root]# cat /etc/mail/local-host-names
firstdedicated.co.kr
[root@localhost root]# /etc/rc.d/init.d/sendmail restart
Shutting down sendmail: [ OK ]
Shutting down sm-client: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
이상의 설정만 하면 메일을 받을수 있게 된다. useradd명령으로 계정을 추가하고 메일을 사용하면 된다.
* 보내는 메일서버 설정
위의 설정은 메일을 받기만 할수 있도록 설정한 것이다.
내 서버(192.168.0.16) 에서 메일을 보낼수 있도록 설정을 하는것 역시 별 어려움 없이 할수 있다. sendmail 설정파일(/etc/sendmail.cf)에는 기본적으로 smtp가 닫혀 있도록 설정이 되어 있다. smtp를 열어놓기 위해서는 sendmail.cf 파일에서 한줄만 수정하면 된다.
1. sendmail.cf 수정
sendmail.cf 파일에서 아래부분을 찾아 주석(#)을 제거하고 sendmail을 리스타트 하면 smtp가 열리게 된다. 그런데 아래에서 주석만 제거할 경우는 localhost, 즉 서버내에서만 mail command로 메일을 발송할수 있고 원격에서 아웃룩 등으로 연결해서 사용할수가 없게 된다. 아웃룩 등으로 서버에 접속해서 메일을 보낼수 있게 설정하려면 Addr=127.0.0.1 부분을 삭제 하면 된다.
#O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA
---> O DaemonPortOptions=Port=smtp, Name=MTA (수정)
2. sendmail 리스타트
[root@localhost root]# /etc/rc.d/init.d/sendmail restart
Shutting down sendmail: [ OK ]
Shutting down sm-client: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
"Addr=127.0.0.1"을 삭제하지 않고 localhost만 smtp가 열렸을때는 아래와 같이 127.0.0.1의 주소에 대해서만 LISTEN 된다.
[root@localhost mail]# netstat -nat | grep LISTEN | grep 25
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
"Addr=127.0.0.1"을 삭제하여 smtp가 완전히 열렸을때는 아래와 같이 모든주소(0.0.0.0)에 대해서 LISTEN 된다.
[root@localhost mail]# netstat -nat | grep LISTEN | grep 25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
위와 같이 smtp가 완전히 허용된 경우, 아웃룩등의 메일 클라이언트 프로그램을 이용해서 메일을 발송할 수 있게 된다.
그런데 위와 같이 smtp를 열어놓을 경우는 어디에서나 smtp를 이용할수 있게 되기 때문에 spam 메일이 릴레이가 될 가능성이 높다. spam 릴레이를 방지하기 위해서 서버내에 존재하는 계정으로 인증을 거쳐서 메일을 발송하도록, auth-smtp설정을 하면 된다.
이 또한 간단하게 수정이 가능하다. sendmail.cf 파일에서 MD5 가 들어가는줄을 찾아서 주석을 제거해 주면 서버내에 존재하는 계정으로 인증을 거쳐야만 메일을 발송할 수 있도록 설정된다.
3. auth-smtp 설정
#O AuthMechanisms=GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
---> O AuthMechanisms=GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
sendmail.cf를 수정했을 경우는 반드시 sendmail 데몬을 리스타트 해야 적용되게 된다. 마찬가지로, auth-smtp 설정을 했을때도 sendmail데몬을 리스타트 하면 적용되게 된다.
auth-smtp를 설정한 경우는 아웃룩을 사용할때, 보내는 서버의 "인증 필요" 부분을 체크하고 사용하면 된다.
* 보내는 메일 서버 설정시 sendmail.cf 파일을 수정하지 않고 /etc/mail/sendmail.mc 파일을 이용해서 sendmail.cf 파일을 새로 생성해서 사용할 수도 있다. sendmail.cf 파일을 수정해서 sendmail을 재 구동했을때, 정상적으로 동작하지 않는다면 아래의 방법을 이용해 보기 바란다.
/etc/sendmail.cf 파일을 /etc/sendmail.cf.old로 변경해 놓고 작업을 시작한다.
1. /etc/mail/sendmail.mc에서 아래와 같이 수정한다.
- auth-smtp 설정부분
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
-> TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl (앞의 dnl 삭제)
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 삭제)
- mail 릴레이 설정 부분
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 (주석 제거 및 Addr 부분 수정)
2. m4 명령으로 sendmail.cf 파일 다시 생성한다.
[root@localhost root]# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
3. sendmail 리스타트
[root@localhost root]# /etc/rc.d/init.d/sendmail restart
Shutting down sendmail: [ OK ]
Shutting down sm-client: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
마지막으로 auth-smtp 설정을 했을때 saslauthd 데몬이 떠 있는지를 확인해 보아야 한다. saslauthd 데몬이 떠 있지 않으면, SMTP 인증이 되지 않아 계속 인증 확인창이 뜨게된다. ntsysv 명령을 실행시켜 saslauthd 항목을 찾아 자동시작 데몬으로 체크하고 saslauthd 데몬을 띄우면, 모든 작업이 완료되게 된다.
일자 : 2009. 08. 17 (월)
장소 : 서울특별시 은평구, 응암3동
특징 : 갸름한 얼굴형, 옅은 붉은색 염색
일자 : 2009. 03. 05 (목)
장소 : 전남 무안군, 현경면 마산리
특징 : -
'Operating System > Linux' 카테고리의 다른 글
Apache에 SSL Module 추가 (0) | 2007/05/22 |
---|---|
손에 잡히는 Linux Security ③ (0) | 2007/05/22 |
손에 잡히는 Linux Security ② (0) | 2007/05/22 |
손에 잡히는 Linux Security ① (0) | 2007/05/12 |
portsentry를 이용한 Port Scan 검사 및 방어 Program (0) | 2007/05/12 |
sendmail을 이용한 Mail Server 설정하기 (0) | 2007/05/12 |
보안점검 명령어 (0) | 2007/05/10 |
wget 명령어 사용법 (0) | 2007/05/10 |
SWAP 영역 늘리기 (0) | 2007/05/10 |
VSFTP 설치하기 (0) | 2007/05/10 |
Complete reference guide to creating a remote Log Server (0) | 2007/05/09 |
관련링크
댓글목록
등록된 댓글이 없습니다.