'os/UNIX_LINUX'에 해당되는 글 238건

  1. 2011.11.16 sendmail.cf 파일의 설정

반응형

sendmail.cf 파일의 설정

1. 로컬호스트 도메인(최종수신지로의 설정 위해) 내용을 담는 파일 지정

Fw/etc/mail/local-host-names

(구버전의 경우 /etc/sendmail.cw )

2. 가상메일 설정 파일 지정

Kvirtuser hash -o /etc/mail/virtusertable

3. 메일 접근/차단 목록 파일 설정

Kaccess hash -o /etc/mail/access

4. 메일 장애시 보내는 사람이름 설정

DnMAILER-DAEMON

5. sendmail 버전설정

DZ8.14.3

여기서 설정된 버전설정은 SMTPgreetingMessage 설정에서 &Z 값으로 사용된다.

6. 메일별칭 파일 설정

O AliasFile=/etc/mail/aliases

7. 발송메일의 최대크기 제한설정

O MaxMessageSize=10000000

(10000000바이트=10메가바이트 로 제한한다는 설정)

8. 한번에 받을 수 있는 한 수신메일의 최대 크기 설정

Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL,

R=EnvToL/HdrToL, M=2048000, T=DNS/RFC822/X-Unix, A=procmail -Y -a $h -d $u

기본설정에서 빠져있는 부분이므로 이 부분을 추가시켜준다. (2메가바이트)

bible이라는 사용자에게 도착한 메일이 있을 경우 MDA가 이 메일을 받아서 /var/spool/mail/bible 파일에 저장한다. 이 때 받은 메일 한건 한건에 대하여 MDA가 /var/spool/mail/bible 파일에 저장하는 한건 한건의 용량을 제한하는 설정../var/spool/mail/bible 파일의 전체용량 제한설정이 아님을 유념할것...

9. sendmail을 백그라운드로 실행

O DeliveryMode=background

interactivity :: mqueue에 있는 메일들을 동기화하는 모드로 메일을 전송

background :: mqueue에 있는 메일들을 비동기화하는 모드로 메일을 전송 (백그라운드모드)

queue :: 메일을 수신하여 메일큐에 저장

defer :: 메일을 수신하여 최대한 빨리 메일큐에 저장

10. 최대 홉 수 제한설정(MaxHopCount)

O MaxHopCount=25

최종수신지 서버까지 도착하기까지 거쳐가는 메일서버 갯수, 이 값의 최대값을 설정하고 이 최대값까지 라우팅을 했음에도 불구하고 최종수신지까지 도착하지 못하였다면 그 메일은 루프메일이거나 존재하지 않는 사용자를 최종수신지로 하는 메일로 인정하게 되어 그 메일을 최초 수신지 서버로 리턴하게 된다.

11. .forward 파일 위치설정

O ForwardPath=$z/.forward.$w+$h:$z/.forward+$h:$z/.forward.$w:$z/.forward

특정메일주소로 도착한 메일을 다른 메일주소로 포워딩(전달)하기 위해 설정되는 파일..

일반적으로 포워딩은 각 계정의 홈디렉토리에 ".foward"라는 파일을 만들어서 이 파일에 특정 메일주소를 입력해두면 그 메일주소로 다시 포워딩하게 된다.

12. 로그기록레벨 설정

O LogLevel=9

sendmail의 로그파일은 /var/log/maillog 이다. (/etc/syslog.conf 파일에서 변경가능)

로그기록레벨

설 명

0

sendmail 작동에 관한 최소한의 정보만 기록

1

메일처리에 심각한 에러발생 또는 보안정보를 기록

2

메일처리시 네트워크 에러나 접근 실패의 경우 기록

3

메일처리시 DNS Lookup 실패 및 존재하지 않는 주소, forward 처리에 timeout

발생등에 따른 접속실패 등을 기록

4

메일처리시에 tcp_wrapper 에 의한 접속거부 발생시에 기록

5

수신메일의 레코드를 기록

6

vrfy 명령에 의한 사용자정보를 위한 접속시에 기록

7

sendmail 이 메일수신을 실패하였을 경우 기록

8

sendmail 이 메일수신을 성공하였을 경우 기록

9

sendmail 이 메일처리시에 시스템 자원부족에 의한 수신실패를 기록

10

데이터베이스에서 탐색되는 키 값 기록

11

NIS 사용시 에러발생과 프로세스 종료발생시 기록

12

sendmail 에 접속하였을 경우 기록

13

비사용자 쉘, 디렉토리 퍼미션 설정등의 상황에 대해 기록

14

sendmail 의 접속거부 상황에 대한 기록

15

sendmail에서 발생되는 모든 메일 상황을 기록하며 가장 많은 기록을 남기게 됨.

/var/log/maillog 의 용량이 커지게 되는 원인이 되기도 하며 기록을 많이 함으로서

디스크 액세스로 인한 부하를 유발할 수도 있음

(상위레벨은 하위레벨 포함, 최하:0/최상:15)

13. 메일큐 디렉토리 설정

O QueueDirectory=/var/spool/mqueue

빋은 메일과 보내는 메일을 일시적으로 queue 디렉토리에 보관하였다가 다른 메일서버나 계정으로 메일을 보내는 용도..

위치 변경시 sendmai 재시작 필수

14. sendmail timeout 값 설정

# timeouts (many of these)
#O Timeout.initial=5m
#O Timeout.connect=5m
.

.

.

#O Timeout.lhlo=2m

#O Timeout.auth=10m

#O Timeout.starttls=1h

일반적으로 설정하는 것은 Timeout.connect 와 Timeout.quuereturn 과 Timeout.queuewarn 세가지이다.

Timeout.connect 는 sendmail 에 접속한 최대시간을 설정하는것

Timeout.queuereturn 은 어떤 사유로 인해 메일을 보내지 못해 보관되는 최대값

Timeout.queuewarn 은 어떤 사유로 인하여 메일을 발송하지 못했을 경우 메일 발신자에게 경고메일을 보내게 된다. x시간동안 메일을 최종수신자에게로 보내지 못했을 경우 발신자에게 경고메일을 보낸다는 설정..

15. sendmail 상태파일 지정

O StatusFile=/etc/mail/statistics

이 파일은 바이너리 형태이므로 vi나 cat으로는 볼 수 없다.

16. Mailer의 UID와 GID 설정

O DefaultUser=8:12

8은 /etc/passwd 파일에 정의된 UID값이며 12는 /etc/group 파일에 정의된 GID값...

이 설정으로 인해 메일과 관련하여 생성되는 파일의 소유권이 UID는 8, GID는 12로 생성된다.

[root@CENT ~]# cat /etc/passwd | grep 8
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

[root@CENT ~]# cat /etc/group | grep 12
mail:x:12:mail

17. 큐보관 최소시간 설정

O MinQueueAge=30m

sendmail 이 어떤 사유로 인해 메일발송에 실패할 경우 다시시도를 하게 되는데 재시도를 위해 최소한 어느정도 시간이 경과한 후 시도를 할 것인가를 설정

18. 메일서비스를 일시정지하고 큐에 보관할 Load Average 값

O QueueLA=8

sendmail은 시스템의 상태에 따라서 메일서비스를 일시정지하거나 메일서비스를 중지할 수 있다. 즉 시스템의 평균부하율이 8 이상 설정되었을 때는 메일을 발송하는 작업을 일시정지하고 모든 발송메일을 큐(/var/spool/mqueue)에 일시보관하게 된다. 시스템 부하율이 8 이하로 내려가게 되면 큐에 보관되었던 메일들의 발송이 시작된다.

19. 메일서비스를 거부할 Load Average값

O RefuseLA=12

sendmail 이 메일서비스를 거부하게 되는 시스템평균 부하율값... 12 이상이 되었을 때 sendmail은 메일서비스를 거부하게 된다.

만약 위 설정이 적용되었을 때 p로 sendmail 데몬상태를 확인하면 "rejecting connections" 라는 메시지가 뜬다. 만약 다시 12 이하로 떨어지면 메일발송작업은 하지 않지만 /var/spool/mqueue 에 보관하는 작업은 하게 된다. 그리고 다시 8 이하로 떨어지게 되면 메일발송업무는 정상화된다.

20. sendmail 환영메시지 설정

O SmtpGreetingMessage=$j Sendmail $v/$Z; $b

telnet xxx.xxx.xxx.xxx 25를 하게 될 경우 보여주게 되는 환영메시지 설정...

$v/$Z 은 sendmail의 버전을 보여주게 되는데 보안상 문제가 있으므로 일반적으로 삭제한다.

21. Queue Relay 설정

R$* $#error $@ 5.7.1 $: "550 Relaying denied"

위 라인이 주석(#) 처리가 되면 /etc/mail/access 파일에 설정된 것이 전혀 유효아지 않게 되어 스팸메일의 온상지가 될 수 있으므로 반드시 주석이 없게 하도록 유의...

 

반응형
Posted by 공간사랑
,