[penguin:root]:/etc/mail> ls -al access* -rw-r--r-- 1 root other 71 5월 3일 17:25 access -rw-r--r-- 1 root other 0 5월 3일 17:27 access.dir -rw-r--r-- 1 root other 024 5월 3일 17:27 access.pag
■ 대부분의 이러한 Anti-Spam Relay 기능들은 메일관리자가 허용되는 Relay 도메인의 리스트 설정을 필요로 합니다. 이 리스트에는 모든 허가 인증된 도메인들을 포함하고 있는지 반드시 확인 하여야 하며 주의하여야 할 점은 반드시 MX (Mail Exchanger)뿐만 아니라 자사 도메인에서 사용 하고 있는 가상의 도메인들이 포함되도록 설정하여야 한다는 것입니다. 그렇지 않으면 자사 도메인 에서 보낸 메일이 거부될 수도 있습니다.
■ 다음과 같이 다양하게 릴레이 허용범위를 지정할 수 있습니다. FEATURE(relay_hosts_only) : /etc/mail/relay-domains에 리스트되어 있는 도메인 내 호스트 들은 모두 허용
■ FEATURE(relay_entire_domain) : 자신의 도메인 내에 있는 모든 호스트들에 릴레이 허용
■ FEATURE(access_db) : 개별 도메인들의 접근 여부를 /etc/mail/access라는 db를 통해 조절
■ FEATURE(blacklist_recipients) : access db에 있는 송신자 뿐 아니라 수신자까지 필터링 가능
■sendmail 8.9 버젼대에 와서 Anti SPAM 운동의 일환으로 relay 허용이 default로 막히게 되었습 니다. 하지만 smtp relay를 설정하는 것이 ip address 또는 domain name으로 이루어지게 되어 있어서 동적 ip에 대해 relay를 어떻게 허용할지 논란이 되곤 했습니다. 이 문제를 해결하기 위하여 8.10 버젼에서 smtp auth 기능이 추가되었습니다.
■ 하지만 이 기능은 기본적으로 들어 있지는 않으며, 인증을 위해서는 cyrus- sasl library(libsasl 이라는 이름으로 패키징 되어 있기도 합니다)가 필요하며 cyrus-sasl library는 또한 openssl package를 필요로 합니다.(Redhat 7.x부터 기본적으로 설치 되어 있습니다)
■ sendmail 8.10.x 에 와서 기존의 파일들의 위치와 이름이 변경된 것이 있습니다. 그중 특이한 몇개만 말한다면 일단 sendmail의 모든 설정 파일들은 /etc/mail 로 옮겨졌습니다. 즉 /etc 에 위치하던 sendmail.cf 가 /etc/mail/sendmail.cf 로 이동을 했다는 것입니다.
또한 /etc/sendmail.cw 가 /etc/mail/local-host-name 으로 변경 되었다는 것을 유의해야 합니다.
1. Sendmail을 이용한 SMTP + AUTH 설정 1.1 sasl에서 인증 방식 지정 # cd /usr/lib/sasl # touch Sendmail.conf # vi Sendmail.conf ; 아래내용을 추가합니다. (passwd 방식이면 pwcheck_method: passwd ) pwcheck_method: shadow
1.2 sendmail 설치합니다. (http://sendmail.org) 1) 압축 파일을 풉니다. # gzip d sendmail.8.11.6.tar.gz # tar -xvf sendmail.8.11.6.tar
2) 센드메일 컴파일시 sasl library를 포함 하도록 합니다. # cd sendmail-8.11.6/devtools/Site # vi site.config.m4 APPENDDEF(`confENVDEF', `-DSASL') APPENDDEF(`conf_sendmail_LIBS', `-lsasl') APPENDDEF(`confLIBDIRS', `-L/usr/lib') APPENDDEF(`confINCDIRS', `-I/usr/include')
3) 센드메일을 컴파일 합니다. # cd sendmail-8.11.1 # ./Build c
4) 센드메일 데몬을 기존의 센드메일 데몬과 바꿉니다. 주의 할 점은 만약에 컴파일한 데몬이 이상이 생겨 동작하지 않을 경우를 대비하여 기존 파일을 백업해야 합니다. # cd obj.Linux.2.2.14-5.0.i586/sendmail # mv /usr/sbin/sendmail /usr/sbin/sendmail-org # cp sendmail /usr/sbin/sendmail
5) sendmail.cf 파일을 만듭니다. # cd /usr/tmp/sendmail-8.11.1/cf/cf # vi generic-linux.mc
6) sendmail.cf 파일을 기존파일과 바꿉니다. 마찬가지로 기존 sendmail.cf 파일을 백업 시킵니다. # mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf-org # cp sendmail.cf /etc/mail/sendmail.cf 7) 센드메일 데몬을 구동시킵니다. # pkill sendmail # /usr/sbin/sendmail -bd -q30m
1.3 Client PC 에서는 아래처럼 설정을 해 주어야 합니다. Netscpae mailer Edit>Preferences>Mail & Newsgroups Account Settings >Outgoing Server (SMTP) 에서 Use name and password 에 체크 하고 User Name을 넣어 주면 됩니다.
Outlook Express 6 도구>계정>메일>계정등록정보>서버>보내는 메일서버에서 "인증 필요"에 체크를 하고 옆의 "설정"을 클릭한후 로그온 정보에 계정 이름과 암호를 넣습니다.