Server관련/Sever(OS)

(추천) sendmail 관련:시작, 중지 이메일 추가 , /etc/aliases, 메일 서버 차단방지

saltdoll 2017. 9. 9. 08:55
반응형

sendmail 시작, 중지하기 (port: 25, 587사용)

Sendmail 로고

기능 

Service 명령어 

/etc/init.d/ 

 시작

 service sendmail start

 /etc/init.d/sendmail start 

 정지

 service sendmail stop

 /etc/init.d/sendmail stop 

 재시작

 service sendmail restart

 /etc/init.d/sendmail restart 

 상태보기

 service sendmail status

 /etc/init.d/sendmail status 

(참고: https://zetawiki.com/wiki/Sendmail_%EC%8B%9C%EC%9E%91,_%EC%A4%91%EC%A7%80 )

 

#netstat -lnp 로 사용 포트와 사용 프로그램을 확인해 볼 수 있습니다.

 

 

Sendmail관련 정보를 찾다보니. (HOSTWAY에 자료가 있어 남겨놓는다.)

1. 이메일 계정 생성

2. 동시에 같이 메일 받기 (/etc/aliases)

3. 메일 서버 차단방지

4. Spam메일 방지법

5. 보내고 받는 메일 사이즈 제한하기

6. Linux sendmail  속도 빠르게 하는 방법

7. smtp 포트를 587포트로 변경하기

8. 리눅스 터미널에서 파일 첨부하기

 

 

1. 이메일 계정 생성 (출처: http://faq.hostway.co.kr/Linux_Mail/3748 )

 sendmail에서 이메일 추가(생성)하기

아래 내용은 RedHat,CentOS 의 sendmail을 기준으로 설명합니다.

 

1. /etc/mail/virtusertable 파일 내용에 사용할 이메일 주소를 추가 합니다.
   (이메일주소,이메일아이디)

 예)
 webmaster@domain.co.kr       webmaster


2. virtusertable file의 설정을 한후 db화로 저장 합니다.
   (sendmail에서는 대체로 text 설정 file들을 DB화 하여 db file들을 이용하여 설정을 적용)
   이 virtusertable file을 db화 시켜 놓은 file이 /etc/mail/virtusertable.db 입니다.

   virtusertable을 db file로 적용시키기 위하여 virtusertable을 저장한 후에 아래와 같이 명령을 실행 합니다.
   (hash는 버클리 DB(NEWDBM)을 의미함)


 # makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable


   위와 같이 하면 virtual user table에 이메일 추가는 마쳤으며
   아래와 같이 이메일 아이디 계정을 만들어주고 비밀번호 설정을 합니다.


3. 메일 계정 아이디 생성 하기
   webmaster라는 이메일 계정 아이디를 아래와 같이 생성합니다.
   (/home/에는 폴더생성을 하지 않으며,shell권한을 주지 않음)

 # adduser -M -s /bin/nologin webmaster

 

4. 비밀번호 생성

 # passwd webmaster


참고로 메일 서버에서 메일 수신 폴더는 /var/spool/mail/ 입니다.

 

 

2. 동시에 같이 메일 받기 (/etc/aliases)  (출처: http://faq.hostway.co.kr/Linux_Mail/1345)

리눅스에서 메일서버를 운용할 때 /etc/aliases파일을 이용하면

webmaster@admin.com이라는 메일로 메일을 수신받았을 때 각각

admin유저들인 admin1, admin2, admin3이라는 유저들이 함께 받아볼 수 있도록 설정할 수 있다.

 

설정 예)

webmaster라는 계정으로 도착하는 메일을 admin1, admin2, admin3이 함께 받아 볼 수 있도록 설정함.

 

# vi /etc/aliases

webmaster : admin1, admin2, admin3

 

# new aliases  // aliases db를 갱신시켜 실적용 

 

 

3. 메일 서버 차단방지 (출처: http://faq.hostway.co.kr/Linux_Mail/7229)

정상적으로 발송하는 대량 이메일이 RBL 에 등록되어 차단되는 것을 방지가 필요합니다.

국내에만 메일 발송할 경우, SPF 레코드 등록 및 KISA 에 화이트 도메인 신청을 해야 하고,

해외에도 메일 발송할 경우, PTR 레코드(Reverse DNS) 를 추가 등록해야 합니다.

 (단, 하나의 도메인에 하나의 IP 만 등록 가능합니다.)

 

<화이트 도메인>

등록된 메일 서버에 한하여, 국내 주요 포탈사이트로 이메일 전송을 보장.

기존 RBL 등록되어 있다면, KISA 차단 해제 요청 필요.

     

<화이트 도메인 등록 방법>

1. 한국인터넷진흥원 사이트에 접속합니다. (www.kisarbl.or.kr)

2. 상단 메뉴에서 White Domain 등록 메뉴를 선택합니다.

3. SPF 작성도우미 창이 뜨고, 도메인을 입력하라는 창이 뜹니다. 자신이 메일 발송 시 사용할 도메인을 입력합니다. (abcde.com)

4. 다음 메일을 실제 발송할 서버 아이피를 입력하라는 창이 뜨고, 아이피를 입력합니다. (000.000.000.000) 

   메일 발송 서버가 여러개인 경우, 하나 이상의 도메인을 등록할 수 있습니다.

5. 최종적으로 나온 SPF레코드 값을 자신의 서버 도메인 호스트에 등록합니다.

"v=spf1 ip4:000.000.000.000 ~all"  (기존에 등록되어 있는 경우, 다음 단계로 진행)

6. 화이트 도메인을 등록합니다. 

   (사업자인 경우, 사업자 등록증을 이미지 파일로 첨부 필요)

 7. 2주 동안 스팸이력이 발견되지 않는다면 화이트 도메인으로 최종 등록됩니다. 

 

 

4. Spam메일 방지법 (출처: http://faq.hostway.co.kr/Linux_Mail/1346)

리눅스에서 Spam 메일 방지법


리눅스에서 메일서버를 운용할 때 /etc/mail/access를 이용하여 특정 IP나 domain 
또는 E-mail Address에 대해 sendmail이 거부하도록 설정할 수 있다.
/etc/mail/access파일에 등록하는 형식
형식 : host option 

 

host 예)
- Admin.co.kr (도메인)
- 1.1.1.1(IP)
webmaster@admin.co.kr (E-mail Address)

 

옵션값 예)
- OK(모든 것을 허용(Relay)한다.)
- RELAY(관련메일의 수신/발신을 허용한다.)
- REJECT(관련메일의 수신/발신을 거부한다.)
- DISCARD (/etc/sendmail.cf에 지정된 $#discard mailer에 지정된 곳으로 메일을 폐기)
- 501(메시지 관련 메일의 E-mail Address와 일치된 메일을 받지 않음)
- 502(메시지 발신 메일주소에 host명이 없을 경우 메일을 받지 않음)
- 503(메시지관련된 도메인과 관련된 메일을 받지 않음)

 

위의 설정이 마무리되면 반드시 /etc/mail/access.db에 등록되도록 아래와 같이 작업한다.
makemap hash /etc/mail/access < /etc/mail/access 
아래의 명령어로 해당내용 확인이 가능하다.
[root@localhost mail] strings access.db
Admin.co.kr (도메인)
1.1.1.1(IP)

webmaster@admin.co.kr (E-mail Address) 

 

 

5. 보내고 받는 메일 사이즈 제한하기 (출처: http://faq.hostway.co.kr/Linux_Mail/8173)

시스템 상의 제한 설정과 서비스의 안정성은 상당히 깊은 관계를 가지고 있습니다. 보통 대부분의 서비스에는 유저가 사용 가능한 시스템 자원의 제한이 걸려있지 않으며 메일 서비스도 마찬가지 입니다. 메일의 송수신 트래픽에 따른 부하는 올라가기 마련이고 이로 인하여 다른 서비스에까지 영향을 주게 되는 결과가 나타납니다. 그러므로 메일 서비스를 제공하고 있다면 용량이 큰 파일의 송수신을 적절하게 제한할 필요가 있습니다.

 

sendmail은 로컬의 메일을 외부로 송신하는 SMTP 기능과 외부에서 온 메일을 서버에 저장하는 기능도 합니다. SMTP 서버에서 보내는 양을 제한하는 조치를 통해 과다한 메일 트래픽이 발생하지 않도록 하는 것이 좋습니다. 

 

이를 위해 /etc/mail/sendmail.cf 파일에 다음 내용을 찾아 주석을 제거하고 편집합니다.

 

# maximum message size O MaxMessageSize=5024000 

 

이 후 다음 커맨드로 sendmail 데몬을 재시작합니다.

 

killall –HUP sendmai

 

위와 같이 조치할 경우 서버를 보내는 메일 서버로 이용시 첨부 파일이 5M 이상 초과하거나 웹에서 /usr/sbin/sendmail 을 이용하여 메일을 송신하는 메일링 리스트에서도 5M 이상의 메일은 보낼 수 없게 됩니다.

 

 

 

이와 같이, 외부에서 들어오는 메일의 크기를 제한하려면 /etc/mail/sendmail.cf 파일에 아래와 같은 설정을 추가합니다.

 

Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=10/30, R=20/40, M=5024000, T=DNS/RFC822/X-Unix, A=procmail -Y -a $h -d $u

 

이 설정을 통해 외부에서 들어오는 메일의 크기도 제한할 수 있습니다.

 

 

 

또한 동시 발송(참조)이 가능한 수를 제한하는 방법으로써 다음의 설정을 추가할 수 있습니다.

 

# maximum number of recipients per SMTP envelope O MaxRecipientsPerMessage=20

 

MaxRecipientsPerMessage=20 부분의 20 값을 조정하여 제한을 설정합니다. 

 

 

6. Sendmail 속도 빠르게 하는 방법 (출처: http://faq.hostway.co.kr/Linux_Mail/3092)

QueueDirectory 를 이용하여 송수신 속도를 빠르게 하는방법

1. /etc/mail/sendmail.cf 파일을 검색합니다.

 

2. O QueuDirectory 행을 찾아 아래와 같이 변경합니다

O QueueDirectory=/var/spool/mqueue/q*

 

3. /var/spool/mqueue 디렉토리에 아래와 같이 q로시작하는 디렉토리를 만듭니다.

#cd/var/spool/mqueue

#mkdir q1 q2 q3 q4 q5

#chown root.mail q*

 

4. 위와같이 설정 후 센드메일 서버를 재시작 하면 위에서 만든 5개의 디렉토리를 알아서

랜덤하게 사용함으로써 센드메일 을 빠르게 이용 할 수있습니다.

#/etc/rc.d/init.d/sendmail stop

#/etc/rc.d/init.d/sendmail start 

 

 

7. smtp포트를 587포트로 변경하기 (출처: http://faq.hostway.co.kr/Linux_Mail/3906)

sendmail에서 smtp 포트를 587포트로 변경하기

 

sendmail 에서 submission port를 변경 하는 방법을 아래와 같이 알려드립니다.


1. sendmail 폴더 이동

# cd /etc/mail/


2. sendmail.mc 내용 수정

# vi sendmail.mc

 

dnl 주석해제

변경전)
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

변경후)
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

 

m4 sendmail.mc > sendmail.cf


3. 센드메일 리스타트

# /etc/init.d/sendmail restart
Shutting down sendmail: [  OK  ]
Starting sendmail: [  OK  ]


4. Listen 포트들중 587 포트를 확인

# netstat -anp | grep LISTEN

  

 

 

8. 리눅스 터미널에서 파일 첨부하기 (출처: http://faq.hostway.co.kr/Linux_Mail/3039)

서버에서 커멘드 명령을 통해 파일 첨부를 하려면 까다로운 부분들이 존재 한다.

 

해당 명령을 수행하기 위해서는 mutt 툴이 먼저 설치 되어 있어야 합니다.

 

mutt -x -a filename.to.attach -s "Subject that you want" test@hostway.co.kr

 

텍스트 파일이어서 파일 내용만 보내시는 경우에는 아래와 같이 보내실 수도 있습니다.

mail  test@hostway.co.kr  < file.name 

 

 

 

 

 

 

 

 

기타 사항

다람쥐메일(squirrelmail)사용하기
(http://faq.hostway.co.kr/Linux_Mail/1332)

http://squirrelmail.org/

다람쥐 메일은 무료로 제공되는 웹메일이며, 리눅스상의 sendmail, qmail 등과 호환이 가능하며, 쉽게설치가 가능하다.
다람쥐 메일을 설치하기 위해서는 우선 아래의 패키지가 설치되어 있어야 한다.

- sendmail 또는 qmail
- imap
- apache
- php
- ZendOptimizer

 

위 패키지들이 설치 되어 있다는 가정하에서, 아래와 같은 순서로 설치를 진행 하면 된다.

다람쥐메일에서 제공되는 여러 확장기능을 사용하기 위해서는 php설치시 아래와 같은 옵션이 포함되어 있어야 한다.
아래의 기능들을 사용하려면, 아래의 옵션을 추가하여 php를 재설치 한 후에 다람쥐메일 설치를 진행 하면된다.

--with-ldap LDAP -> 주소록 사용을 위해 필요
--with-mhash -> 문자 디코딩을 향상
--with-mysql -> 주소록 등을 Mysql 디비에 저장하길 원할때 필요
--with-openssl -> 암호화된 IMAP연결시 필요


1. 다람쥐메일 소스 다운로드.

https://sourceforge.net 에서 squirrelmail을 검색하여 다운로드 받아서 서버에 업로드한다.
squirrelmail-1.4.18.tar.gz, squirrelmail-decode-1.2.tar.gz, ko_KR-1.4.13-20071220.tar.gz 을 다운로드 받는다.

...생략... 

 

 

[ 기타 ]

(참조) sendmail, POP3 서버 구축하기: http://kkamagistory.tistory.com/229

 

 

 

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)