2011. 11. 28. 19:36 Log/Linux
메일서비스(sendmail)
sendmail 주설정 파일
sendmail.cf : sendmail 설정파일
sendmail.mc : sendmail.cf 를 생성하기위한 m4 매크로파일
access : sendmail server access 제한 설정
access : sendmail server access 제한 설정
[root@centos1 mail]# cat access
# by default we allow relaying from localhost...
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
tag:ip또는 도메인 policy
tag
Connect: 주소 또는 도메인
From : 송신자 주소
To : 수신자 주소
ex)
Connect:localhost.localdomain RELAY
Connect:192.168.0.1 RELAY
Connect:192.168.10 RELAY
Connect:localhost RELAY
From: user1@myunix.co.kr OK
From: spam.com REJECT
To:root@ OK
TO:minki.co.kr REJECT
OK : 메일수신허용 RELAY는 불가
RELAY : 수신 및 RELAY 허용
REJECT : 수신거부
centos 5.x 버전에 설치되어 있는 sendmail 서버버전은 8.13.x 이며 과거버전에 비해서
설정문법이 조금 바뀌었다.
redhat9 버전에 설치되어 있는 sendmail 8.12.x 버전의 경우는 설정이 아래와 같다.
[root@mylinux root]# cd /etc/mail
[root@mylinux mail]# cat access
# by default we allow relaying from localhost...
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
[root@mylinux mail]#
수정하였을경우
# makemap hash /etc/mail/access.db < /etc/mail/access 로 갱신
local-host-names : sendmail 서버가 사용하는 메일서버도메인주소
virtusertable : 다른 이메일 도메인 주소를 갖는 같은 계정을 처리하는데
사용된다.
가상의 메일계정 시스템계정
수정하였을 경우
# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
로 db 파일을 갱신해야 한다.
/etc/aliases : 메일 계정에 대한 alias 파일
- 이파일을 이용하여 메일링리스트를 구현할 수 있다.
대표계정 : 수신계정, 수신계정, ...
수정하였을경우
# newaliases 로 갱신한다.
[root@centos1 /etc/sysconfig]# cat sendmail
DAEMON=yes
QUEUE=1h => 메일큐에 남아있는 메일을 한시간 단위로 처리한다.
*. sendmail 설정파일
Cwlocalhost
메일서버호스트명을 localhost 로 지정.
ex)
Cwmyunix.co.kr
Cwlee.pe.kr
- 여러개의 도메인을 사용하는것도 가능하다.
Fw/etc/mail/local-host-names
Cw 명령어로 메일호스트를 등록하는대신 호스트명을 Fw 뒤에 적혀있는
파일로 설정.
Dj$w.Foo.COM
- sendmail 호스트명을 지정
FR-o /etc/mail/relay-domains
- 릴레이를 허용할 호스트명 설정
- 이부분을 주석처리하게 되면 모든 주소에 대해 relay 허용.
Kvirtuser hash -o /etc/mail/virtusertable.db
- virtusertable 설정
Kaccess hash -T<TMPF> -o /etc/mail/access.db
- access 설정
O AliasFile=/etc/aliases
- aliases 설정
O MaxMessageSize=0
- 최대 메일 크기 결정(첨부파일포함이며 byte 단위로 설정)
O DamonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA
- relay를 제한하기 위해 로컬호스트에서 전송한 메일만 수신
local 호스트 이외의 곳에서도 relay 허용하려면 아래처럼 변경.
O DamonPortOptions=Port=smtp,Addr=0.0.0.0,Name=MTA
O QueueDirectory=/var/spool/mqueue
O Timeout.queuereturn=5d
여기에 설정된 시간동안 큐에 남아 있는 메일을 처리하지 못하게 되면
발송자에게 메일을 리턴한다.
O Timeout.queuewarn=4h
어떤 문제로 목적지 호스트로 지정한 시간동안 메일을 발송할 수 없는경우
발송자에게 경고메시지 보낸다.
POP3 및 IMAP 설정
dovecot 패키지가 설치되어 있어야 한다.
[root@centos1 /etc/sysconfig]# rpm -q dovecot
dovecot-1.0.7-7.el5
[root@centos1 /etc/sysconfig]#
설치되어 있지 않으면 yum 으로 설치할 수 있다.
ex) yum install dovecot
메일서비스 테스트
[root@centos1 mail]# mail user1@lee.pe.kr
Subject: hello
test again
hahahah
lee.pe.kr
.
Cc: [root@centos1 mail]#
[root@centos1 mail]#
[root@centos1 mail]# mail user1@lee.pe.kr
Subject: 안녕하세요?
반갑습니다.
...
그럼 이만...
.
Cc:
[root@centos1 mail]#
[root@centos1 mail]# cat /etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
lee.pe.kr
minki.co.kr
[root@centos1 mail]#
읽지 않은 메일은 이곳에 수신 계정명으로 저장되어 있다.
[root@centos1 /var/spool/mail]# ls
cuser1 mysql p2 root samuser1 samuser3 suser1 sysuser1 sysuser3 sysuser5 u10 u12 u2 user10
lee p1 p3 rpc samuser2 smuser1 suser2 sysuser2 sysuser4 u1 u11 u13 user1 user2
[root@centos1 /var/spool/mail]#
여기 있는 메일은 보안상 수신자만 볼수 있게 퍼미션 설정이 되어 있다. 편집기등으로 볼수 있다.
user1 계정이 로그인 하게 되면
You have new mail in /var/spool/mail/user1
[user1@centos1 ~]$
새로운 메일이 있다는 메시지를 출력해준다.
[user1@centos1 ~]$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/user1": 1 message 1 unread
>U 1 root@localhost.local Sun Jul 4 23:54 20/710 "hello"
&
& 1
Message 1:
From root@localhost.localdomain Sun Jul 4 23:54:46 2010
Date: Sun, 4 Jul 2010 23:54:46 +0900
From: root <root@localhost.localdomain>
To: user1@lee.pe.kr
Subject:hello
반갑습니다.
잘 지내시나요?
한번 만납시다.
이만...
& help <= 이곳에서 사용할수 있는 명령어를 보여준다.
& quit
Saved 1 message in mbox <= 읽은 메일은 $HOME/mbox 파일로 저장된다.
[user1@centos1 ~]$
메일이 전송되지 못한경우 clientmqueue 나 mqueue 디렉토리에 남으며
한개의 메일이 헤더와 본문으로 두개의 파일로 나뉘어 저장된다.
*. 목적지주소를 알 수없는 경우는 송신자한테 바로 돌아온다.
[root@centos1 spool]# cd mqueue/
[root@centos1 mqueue]# ls
dfo64EiQ5G023647 qfo64EiQ5G023647
sendmail.cf : sendmail 설정파일
sendmail.mc : sendmail.cf 를 생성하기위한 m4 매크로파일
access : sendmail server access 제한 설정
access : sendmail server access 제한 설정
[root@centos1 mail]# cat access
# by default we allow relaying from localhost...
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
tag:ip또는 도메인 policy
tag
Connect: 주소 또는 도메인
From : 송신자 주소
To : 수신자 주소
ex)
Connect:localhost.localdomain RELAY
Connect:192.168.0.1 RELAY
Connect:192.168.10 RELAY
Connect:localhost RELAY
From: user1@myunix.co.kr OK
From: spam.com REJECT
To:root@ OK
TO:minki.co.kr REJECT
OK : 메일수신허용 RELAY는 불가
RELAY : 수신 및 RELAY 허용
REJECT : 수신거부
centos 5.x 버전에 설치되어 있는 sendmail 서버버전은 8.13.x 이며 과거버전에 비해서
설정문법이 조금 바뀌었다.
redhat9 버전에 설치되어 있는 sendmail 8.12.x 버전의 경우는 설정이 아래와 같다.
[root@mylinux root]# cd /etc/mail
[root@mylinux mail]# cat access
# by default we allow relaying from localhost...
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
[root@mylinux mail]#
수정하였을경우
# makemap hash /etc/mail/access.db < /etc/mail/access 로 갱신
local-host-names : sendmail 서버가 사용하는 메일서버도메인주소
virtusertable : 다른 이메일 도메인 주소를 갖는 같은 계정을 처리하는데
사용된다.
가상의 메일계정 시스템계정
수정하였을 경우
# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
로 db 파일을 갱신해야 한다.
/etc/aliases : 메일 계정에 대한 alias 파일
- 이파일을 이용하여 메일링리스트를 구현할 수 있다.
대표계정 : 수신계정, 수신계정, ...
수정하였을경우
# newaliases 로 갱신한다.
[root@centos1 /etc/sysconfig]# cat sendmail
DAEMON=yes
QUEUE=1h => 메일큐에 남아있는 메일을 한시간 단위로 처리한다.
*. sendmail 설정파일
Cwlocalhost
메일서버호스트명을 localhost 로 지정.
ex)
Cwmyunix.co.kr
Cwlee.pe.kr
- 여러개의 도메인을 사용하는것도 가능하다.
Fw/etc/mail/local-host-names
Cw 명령어로 메일호스트를 등록하는대신 호스트명을 Fw 뒤에 적혀있는
파일로 설정.
Dj$w.Foo.COM
- sendmail 호스트명을 지정
FR-o /etc/mail/relay-domains
- 릴레이를 허용할 호스트명 설정
- 이부분을 주석처리하게 되면 모든 주소에 대해 relay 허용.
Kvirtuser hash -o /etc/mail/virtusertable.db
- virtusertable 설정
Kaccess hash -T<TMPF> -o /etc/mail/access.db
- access 설정
O AliasFile=/etc/aliases
- aliases 설정
O MaxMessageSize=0
- 최대 메일 크기 결정(첨부파일포함이며 byte 단위로 설정)
O DamonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA
- relay를 제한하기 위해 로컬호스트에서 전송한 메일만 수신
local 호스트 이외의 곳에서도 relay 허용하려면 아래처럼 변경.
O DamonPortOptions=Port=smtp,Addr=0.0.0.0,Name=MTA
O QueueDirectory=/var/spool/mqueue
O Timeout.queuereturn=5d
여기에 설정된 시간동안 큐에 남아 있는 메일을 처리하지 못하게 되면
발송자에게 메일을 리턴한다.
O Timeout.queuewarn=4h
어떤 문제로 목적지 호스트로 지정한 시간동안 메일을 발송할 수 없는경우
발송자에게 경고메시지 보낸다.
POP3 및 IMAP 설정
dovecot 패키지가 설치되어 있어야 한다.
[root@centos1 /etc/sysconfig]# rpm -q dovecot
dovecot-1.0.7-7.el5
[root@centos1 /etc/sysconfig]#
설치되어 있지 않으면 yum 으로 설치할 수 있다.
ex) yum install dovecot
메일서비스 테스트
[root@centos1 mail]# mail user1@lee.pe.kr
Subject: hello
test again
hahahah
lee.pe.kr
.
Cc: [root@centos1 mail]#
[root@centos1 mail]#
[root@centos1 mail]# mail user1@lee.pe.kr
Subject: 안녕하세요?
반갑습니다.
...
그럼 이만...
.
Cc:
[root@centos1 mail]#
[root@centos1 mail]# cat /etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
lee.pe.kr
minki.co.kr
[root@centos1 mail]#
읽지 않은 메일은 이곳에 수신 계정명으로 저장되어 있다.
[root@centos1 /var/spool/mail]# ls
cuser1 mysql p2 root samuser1 samuser3 suser1 sysuser1 sysuser3 sysuser5 u10 u12 u2 user10
lee p1 p3 rpc samuser2 smuser1 suser2 sysuser2 sysuser4 u1 u11 u13 user1 user2
[root@centos1 /var/spool/mail]#
여기 있는 메일은 보안상 수신자만 볼수 있게 퍼미션 설정이 되어 있다. 편집기등으로 볼수 있다.
user1 계정이 로그인 하게 되면
You have new mail in /var/spool/mail/user1
[user1@centos1 ~]$
새로운 메일이 있다는 메시지를 출력해준다.
[user1@centos1 ~]$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/user1": 1 message 1 unread
>U 1 root@localhost.local Sun Jul 4 23:54 20/710 "hello"
&
& 1
Message 1:
From root@localhost.localdomain Sun Jul 4 23:54:46 2010
Date: Sun, 4 Jul 2010 23:54:46 +0900
From: root <root@localhost.localdomain>
To: user1@lee.pe.kr
Subject:hello
반갑습니다.
잘 지내시나요?
한번 만납시다.
이만...
& help <= 이곳에서 사용할수 있는 명령어를 보여준다.
& quit
Saved 1 message in mbox <= 읽은 메일은 $HOME/mbox 파일로 저장된다.
[user1@centos1 ~]$
메일이 전송되지 못한경우 clientmqueue 나 mqueue 디렉토리에 남으며
한개의 메일이 헤더와 본문으로 두개의 파일로 나뉘어 저장된다.
*. 목적지주소를 알 수없는 경우는 송신자한테 바로 돌아온다.
[root@centos1 spool]# cd mqueue/
[root@centos1 mqueue]# ls
dfo64EiQ5G023647 qfo64EiQ5G023647
'Log > Linux' 카테고리의 다른 글
OpenSSh 및 SELinux (0) | 2011.11.28 |
---|---|
ACL (Access Control List) (0) | 2011.11.28 |
samba 서비스 (0) | 2011.11.28 |
IDS - snort 1 (0) | 2011.11.28 |
tcpdump - packet capture / 분석 (0) | 2011.11.28 |