2012-09-15

IBM AIX] anti relay 설정 및 sendmail 설정 방법



Anti Relay
 설정방법
세희(kseh@kr.ibm.com)

다음은 aix5l에 서 기본적으로 사용되는 sendmail 8.11에서의 anti-relay 설정방법이다.


relay방지를 위해 sendmail 8.11.0의 환경을 설정
우선 다음 파일?이 설치되어 있는지 확인하자. 만약 설치되어 있지 않으면 smit을 사용해서 설치해야 한다.
# lslpp -l bos.adt.base
# lslpp -l bos.net.tcp.adt

AIX 5.1.0에는 현재 사용환경에 맞춰 sendmail 환 경파일을 만들 수 있도록 각종 도구와 매크로가 들어있는데, 이것들은bos.net.tcp.adt 파일?에 있다. 설 치하고 나면 이 파일들은
/usr/samples/tcpip/sendmail/cf 디렉토리에 위치한다.

이 디렉토리로 이동해보자.
#cd /usr/samples/tcpip/sendmail/cf

이 디렉토리에는 aixsample.mc 라는 파일이 있는데, 이 파일에는 사용자가 바꿀 수 있는 여러 가지 기능들이 들어있다. 이 파일을vi등으로 열어보면 다음과 같은 항목이 있다.
FEATURE(promiscuous_relay) dnl

우선 원래 파일을 겹쳐 쓰지 않도록 파일을 복사하자.
#cp aixsample.mc aix51.norelay.mc

복사한 파일을 열어보면 다음과 같이 보일 것이다. (à옆에 나오는 항목은 환경설정파일의 부분이 아니고 주석문이다.)
#vi aix51.norelay.mc
NOTE:The aixsample.mc can be edited with whatever FEATURES are needed for the
new sendmail.cf.
These features are documented at http://www.sendmail.org/m4/features.html


This is an example of a minimum .mc file:

divert(0)dnl
OSTYPE(aixsample)dnl
FEATURE(genericstable)dnlà지워도 무방
FEATURE(mailertable)dnlà지워도 무방
FEATURE(virtusertable)dnlà지워도 무방
FEATURE(domaintable)dnlà지워도 무방
FEATURE(allmasquerade)dnl
FEATURE(promiscuous_relay)dnlà승인되 지 않은 relay를 방지하려면 삭제
FEATURE(accept_unresolvable_domains)dnl à지워도 무방
FEATURE(accept_unqualified_senders)dnlà지워도 무방
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(uucp)

이제 새 파일은 다음과 같이 보일 것이다.
(주의! 지울 항목은 완전히 없애야 한다. 주석처리하는 것은 소용없다.
relay와 관련 있는 항목은 "FEATURE(promiscuous_relay)dnl" 만 해당되지만, 이것만 지우면 계속 경고메시지가 나오기 때문에 지워도 무방한 항목은 지워야 한다.)

#vi aix51.norelay.mc
divert(0)dnl
OSTYPE(aixsample)dnl
FEATURE(allmasquerade)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
MAILER(uucp)

이제 새 옵션을 사용하여 새 sendmail.cf를 만들자. 모든 작업은 /usr/samples/tcpip/sendmail/cf 디렉토리에서만 수행해야 한다.

#m4../m4/cf.m4 aix51.norelay.mc> testmail.cf

이제 /usr/samples/tcpip/sendmail/cf 디 렉토리 아래 새 testmail.cf가 보일 것이다. 원래의 sendmail.cf를 이름을 바꾸어 복사한 다음 새로 만든 testmail.cf를 sendmail.cf로 복사한다. (원래 파일의 백업을 만드는 것을 잊지 말 것!)

#mv /etc/mail/sendmail.cf/etc/mail/sendmail.cf.orig
#mv testmail.cf/etc/mail/sendmail.cf

이제 새 /etc/mail/sendmail.cf 가 생겼다. 여기에는 관리자가 특정 파일을 지정해서 그 파일에 relay를 허용한 도메인을 적을 수 있도록 했다. 우 선 sendmail.cf를 열어보자.

#vi /etc/mail/sendmail.cf
여기에서 아래와 같은 매크로를 찾아보자.
#Hosts that will permit relaying ($=R)
FR-o /etc/mail/relay-domains

relay-domains 파일에 relay를 허용한 도메인을 적어놓으면 된다. 현 재 여기에서는 특별히 수정할 사항은 없다.

이제 relay를 허용할 도메인이나 호스트명을 relay-domains파일에 적는다. 이때 여러분 자신의 호스트 이름도 적어야 한다. 네크워크나 호스트 IP주소로 적어도 된다.
#vi /etc/mail/relay-domains
entry1...
entry2...
entry3...

예를 들어 ibm.com도메인에서 오는 호스트들은 모두 relay를 허용하려면 relay-domains파 일에 ibm.com이라고 써놓으면 된다.

이제 sendmail에게 환경파일이 바뀐 것을 알려줘야 한다.
#refresh -s sendmail

만약 sendmail 데몬이 돌아가고 있지 않다면 다음 명령어로 sendmail이 살아있는 상태인지 아닌지 확인할 수 있다.

#lssrc -s sendmail
SubsystemGroupPIDStatus
sendmailmail5424active

만약 sendmail데몬이 살아있는 상태가 아니라면 다음 명령어로 데몬을 살린다.

#startsrc -s sendmail -a "-bd -q30m"

만약 허용되지 않은 도메인에서 relay로 이용하려고 하면 “relay denied”라는 메시지가 보일 것이다.

Troubleshhting
메일사용 시 다음과 같은 메시지가 보일 수 있다.
/etc/mail/sendmail.cf: line 140: fileclass: Cannot open
/etc/mail/local-host-names:A file or directory in the path name does not exist.

이런 경우 local-host-names 파일을 열어서 자신의 호스트 이름과 알리아스,도메인이름, relay하는 도메인이름등을 적어넣으면 된다. 예를 들어 carter라는 이름의 호스트이고 ibm.com, austin.ibm.com이라는 도메인에서 오는 메일을 relay한다면 local-host-names 파일은 다음과 같다.

#vi /etc/mail/local-host-names

carter
carter.autin.ibm.com
ibm.com
austin.ibm.com


주의
이 정보에 대해서 IBM은 직접적 책임이 없으며, 이 정보를 사용한 구현방법에 대한 책임은 전적으로 사용자의 능력과 사용환경에 의존하며, 사용결과에 대한 책임역시 사용자에게 있다.

댓글 없음:

댓글 쓰기