AnNyung Official Homepage Home > White Paper [ Sendmail-tls ]  

HOME
What is AnNyung
Documents
Packages System
White Paper
  . 2.0 Pkg Catalog
  . PHP Guide
  . AnNyung Tuning
  . A.P.M Setting
  . migration to 1.3
  . autoupdate
  . Oracle Ready
  . Quota Doc
  . CheckRootKit
  . Multibyte DNS
  . Sendamil STARTTLS
  . MySQL 4.1 Update
  . Time Server
  . Domain Key
  . VPN with PPTPd
  . VPN with OpenVPN
Download
Update
FAQ
Hardware
RoadMap
Gallery

  Go oops.org
  AnNyung banner 88x31

  AnNyung 1 banner 80x15
  AnNyung 2 banner 80x15
  AnNyung 3 banner 80x15
  AnNyung banner 80x15
  AnNyung banner 80x15



Sendmail with STARTTLS Document
  이 문서는 안녕에서 제공되는 sendmail 에서 STARTTLS 기능을 사용하기 위한 문서이다.
  STARTTLS 기능을 사용하기 위해서는 8.13.1 이상 버전이 설치되어 있어야 하니, 설치되
  어 있는 버전을 확인하여 이 버전 보다 낮으면, update 를 하도록 한다.

  STARTTLS 기능을 이용하면, 메일을 발송할 때 암호화를 하여 발송이 가능하다.  안녕에
  설치되어 있는 sendmail 은 기본으로 TLS 설정이 되어 있지 않으며 STARTTLS 를 사용하
  기 위해서는 다음의 과정을 거치도록 한다.

  이 과정을 수행하기 위해서는 sendmail-cf 패키지가 설치되어 있어야 한다.


  1. sendmail.mc 파일 편집

    [root@home mail]# cat /etc/mail/sendmail.mc

    ... 상략 ...

    dnl #
    dnl # sendmail 의 TLS 기능에 필요한 certificate 에 대한 정보:
    dnl #     make -c /usr/share/ssl/certs usage
    dnl # 도는 포함이 되어 있는 makecert.sh 스크립트를 이용해서 생성한다.
    dnl #
    dnl define(`CERT_DIR',`/usr/share/ssl/certs/sendmail')
    dnl define(`confCACERT_PATH',`CERT_DIR')
    dnl define(`confCACERT',`CERT_DIR/cacert.pem')
    dnl define(`confSERVER_CERT',`CERT_DIR/cert.pem')
    dnl define(`confSERVER_KEY',`CERT_DIR/key.pem')
    dnl define(`confCLIENT_CERT',`CERT_DIR/cert.pem')
    dnl define(`confCLIENT_KEY',`CERT_DIR/key.pem')
    dnl #

    ... 중략 ...

    dnl #
    dnl # TLS 설정 :
    dnl # 아래의 설정은 TLS 기반의 SSL 암호화로 서버를 운영하기 위한 옵션이다.
    dnl # 아래의 라인의 주석을 풀어 주면 465번 포트로 암호화 하여 메일 전송을
    dnl # 할 수 있다.
    dnl #
    dnl # STARTTLS 를 사용하기 위해서는 상단의 TLS key 설정의 주석을 같이 풀어 줘야
    dnl # 하며, make_sendmail_cert 명령을 실행하여 cert 파일을 생성해 줘야 한다.
    dnl #
    dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
    dnl #

    ... 하략 ...


    위의 내용은 sendmail.mc 의 내용중 일부이며 붉은색의 글씨체가 TLS 관련 설정이다.
    위의 붉은색의 내용 중 앞쪽의 dnl 을 모두 삭제하여 주석상태를 해제를 하고 저장을
    한다.

    다음, sendmail.cf 를 재작성 하기 전에, 인증서를 먼저 만들도록 한다. 인증서는 안
    녕의 sendmail 에서 제공하는 make_sendmail_cert 명령을 이용하도록 한다.


  2. 인증서 만들기

    [root@home mail]# make_sendmail_cert


  3. sendmail.cf 재생성

    인증서를 생성하였으면, TLS 를 구동할 수 있도록 새로운 sendmail.cf 를 생성한다.

    [root@home mail]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

    새로운 sendmail.cf 를 생성한 후, 서버 인증서를 만들 때 주었던 FQDN 을 sendmail.cf
    의

    #Dj$w.Foo.COM

    라인을

    DjFQDN

    으로 설정한다. Dj 뒤의 FQDN 은 인증서 발급시에 넣었던 FQDN (도메인) 을 적어 주
    도록 한다.



  4. sendmail 재시작

    [root@home mail]# /etc/init.d/sendmail restart


  5. 확인

    netstat -anpt 명령을 실행하여 0.0.0.0:465 포트가 열려 있는지 확인을 한다.


  6. 클라이언트 설정

    기본 설정은 거의 동일하면 보내는 서버의 포트 설정만 해 주면 된다.

    Outlook Express :

      도구 > 계정 설정 > 속성 > 고급 에서 보내는 메일의 포트를 465 로 지정하며, 그
      아래에 있는 보안 연결(SSL) 필요 에 체크를 해 주면 된다.

    Mozilla Or Thunderbird :

      도구 > 계정 설정 > 보내는 서버(SMTP) 에서 보안통신 사용(SSL) 을 SSL로 선택을
      한다.


  7. 사설 인증서 문제

      공인 인증서가 아닌 사설 인증서를 사용함으로서, 접속 시 마다, 인증서 관련된 메
      세지가 뜨게 된다. 모질라나 썬더버드에서는 인증서를 저장하면 그 이후 부터는 나
      오지 않으며, Outlook 에서는 필자가 사용하지 않으므로, 잘 모르겠다.


  8. 기타

      위의 설정을 하지 않고, 그냥 25번 포트로도 메일을 전송하는데 문제가 없다.


    



 Home > White Paper [ Sendmail-tls ]

Copyright 2017 OOPS Development Organization 
LAST MODIFIED: 2012/08/28