사이트 내 전체검색
검색목록
Ubuntu 8.04, Postfix 설치&설정 - 2008/11/11 15:28
로빈아빠
https://cmd.kr/server/963 URL이 복사되었습니다.

본문

이메일 서비스

네트워크 또는 인터넷 상에서 한 사람에서 부터 다른 사람으로 이메일을 가지는 과정은 많은 시스템이 함께 동작하는 것과 관련 됩니다. 각각의 시스템은 과정이 동작하기 위하여 반드시 올바르게 설정되어야 합니다. 보내는 사람은 Mail User Agent (MUA) 또는 이메일 클라이언트를 사용하고, 메세지를 보내기 위하여 하나 또는 여러 개의 Mail Transfer Agents (MTA) 를 통과하며, 마지막으로, 받는 사람의 메일박스에 배달을 하기 위하여 Mail Delivery Agent (MDA) 를 거치게 됩니다. 그리고, 메일은 보통 POP3 또는 IMAP 서버를 통하여 받는 사람의 이메일 클라이언트에 의해 읽혀지게 됩니다.

Postfix

Postfix 는 우분투에서 기본 설정된 Mail Transfer Agent (MTA) 입니다. 이것은 빠르고 관리와 보안을 하기가 수월 합니다. 그리고 MTA 인 sendmail 과 호환이 됩니다. 이 영역은 postfix 를 어떻게 설치하고 설정하는 지를 설명 합니다. 또한 그것을 보안 연결을 (안전하게 이메일을 보내기 위한) 사용하는 SMTP 서버로서 어떻게 만드는 지를 설명 합니다.

설치

postfix를 SMTP-AUTH와 Transport Layer Security (TLS)과 함께 설치하기 위하여, 다음의 명령을 실행 합니다:

sudo apt-get install postfix

설치 과정 중에 물어보는 질문에 간단히 엔터키를 누르고, 설정은 다음 단계에서 보다 자세히 마쳐지게 됩니다.

기본적인 설정

postfix 를 설정하기 위하여, 다음 명령을 실행 합니다: screen> sudo dpkg-reconfigure postfix

[참고]

mail.example.com 는 여러분의 메일 서버 호스트 이름으로 대체 합니다.

SMTP 인증

다음 단게는 SMTP AUTH를 위하여 SASL을 사용하도록 postfix를 설정하는 것 입니다. 설정 파일을 직접 편집하는 대신에, 모든 postfix 파라미터를 설정하기 위하여 postconf 명령을 사용할 수 있습니다. 설정 파라미터들은 /etc/postfix/main.cf 파일 내에 저장 됩니다. 나중에 만약 여러분이 특정 파라미터를 재 설정하기를 원한다면, 그 명령을 실행하거나 또는 그 파일을 수작업으로 변경할 수 있습니다.

  1. SASL을 사용하여 SMTP AUTH를 (saslauthd) 하도록 Postfix를 설정하려면:

    postconf -e 'smtpd_sasl_local_domain ='
    postconf -e 'smtpd_sasl_auth_enable = yes'
    postconf -e 'smtpd_sasl_security_options = noanonymous'
    postconf -e 'broken_sasl_auth_clients = yes'
    postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
    postconf -e 'inet_interfaces = all'
    echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
    echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf
    
  2. 다음은, TLS를 위하여 디지털 인증서를 설정 합니다. 질문을 물어볼 때, 지시를 따르고 적절하게 대답을 합니다.

    openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
    chmod 600 smtpd.key
    openssl req -new -key smtpd.key -out smtpd.csr
    openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
    openssl rsa -in smtpd.key -out smtpd.key.unencrypted
    mv -f smtpd.key.unencrypted smtpd.key
    openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
    mv smtpd.key /etc/ssl/private/
    mv smtpd.crt /etc/ssl/certs/
    mv cakey.pem /etc/ssl/private/
    mv cacert.pem /etc/ssl/certs/
    
    [참고]

    여러분은 인증 기관에서 디지털 인증서를 가질 수 있습니다. 다른 방법으로는, 스스로 인증서를 만들 수 있습니다. 더 자세한 것은 “자가-사인 인증서 만들기” 를 참조 하십시오.

  3. 들어오는 이메일과 나가는 이메일 모두에 TLS 암호화를 적용하도록 Postfix를 설정하려면:

    postconf -e 'smtpd_tls_auth_only = no'
    postconf -e 'smtp_use_tls = yes'
    postconf -e 'smtpd_use_tls = yes'
    postconf -e 'smtp_tls_note_starttls_offer = yes'
    postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key'
    postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt'
    postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'
    postconf -e 'smtpd_tls_loglevel = 1'
    postconf -e 'smtpd_tls_received_header = yes'
    postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
    postconf -e 'tls_random_source = dev:/dev/urandom'
    postconf -e 'myhostname = mail.example.com'
    
[참고]

명령을 모두 실행하고 나면 postfix를 위한 SMTP AUTH의 설정이 모두 끝납니다. postfix에서 이어서 TLS에서 사용할 인증서를 직접 서명하여 설정합니다.

이때 /etc/postfix/main.cf와 this이 같아보여야 합니다.

Postfix의 초기 설정이 이제 끝났습니다. Postfix 데몬을 시작하려면

            
              sudo /etc/init.d/postfix start
            
          

을 실행하십시오. 이제 postfix 데몬이 무사히 설치되었으며, 설정이 끝나고 이제 실행중입니다. Postfix는 RFC2554에서 정의한 SMTP AUTH를 지원하며, SASL를 따르고 있습니다. 하지만 SMTP를 사용기 위해서는 SASL 인증도 설정해야 합니다.

SASL 설정하기

SASL를 통한 SMTP AUTH 기능을 사용하기 위해서는 application>libsasl2

SASL를 제대로 사용하기 위해서는 수정해야 할 것이 몇 가지 있습니다. Postfix는 /var/spool/postfix 내에 chroot된 상태로 동작하기 때문에, SASL 역시 그 chroot된 환경 내에서 동작할 수 있도록 설정해야합니다(/var/run/saslauthd 대신에 /var/spool/postfix/var/run/saslauthd가 됩니다). 다음 명령을 입력하십시오:

mkdir -p /var/spool/postfix/var/run/saslauthd
rm -rf /var/run/saslauthd

saslauthd을 작동시키려면, /etc/default/saslauthd 을 편집하기 위하여 열고, START 변수를 변경하거나 추가 합니다. saslauthd 이 가짜 root 환경에서 실행되도록 설정하기 위해서는, PWDIR, PIDFILE과 PARAMS 변수를 더합니다. 마지막으로, MECHANISMS 변수를 여러분이 좋아하는 곳으로 설정 합니다. 그 파일을 다음과 비슷하게 보일 겁니다:

# This needs to be uncommented before saslauthd will be run
# automatically
START=yes

PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"

# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb", like this:
# MECHANISMS="pam shadow"

MECHANISMS="pam"
[참고]

만약 여러분이 좋아한다면, shadow를 pam 대신에 사용할 수 있습니다. 이것은 MD5 해쉬된 암호 전송을 사용하고 완전하게 안전 합니다. 인증을 하기 위하여 필요한 사용자 이름과 암호는 여러분이 사용하는 서버 시스템의 사용자의 그것들이 됩니다.

다음은, /var/spool/portfix/var/run/saslauthd의 dpkg "state"를 업데이트 합니다. saslauthd init script는 적당한 접근 권한과 소유권을 가지고 없는 디렉토리를 만들기 위하여 이 설정을 사용 합니다:

dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

테스팅

SMTP AUTH 설정을 마쳤습니다. 이제는 그것을 시작하고 설정을 테스트할 시간 입니다. SASL 데몬을 시작하기 위하여 다음의 명령을 실행할 수 있습니다:

            
              sudo /etc/init.d/saslauthd start
            
          

SMTP-AUTH과 TLS가 적절하게 동작하는 지를 보려면, 다음의 명령을 실행 합니다:

            
              telnet mail.example.com 25
            
          

여러분이 postfix 메일 서버로 접속을 만들고 난 후,

ehlo mail.example.com

을 입력하고 만약 다음의 줄들을 다른 것과 보게 된다면, 모든 것은 완전하게 동작하는 것 입니다. quit를 입력하여 종료 하십시오.

250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME

Exim4

Exim4는 인터넷에 연결된 유닉스 시스템 상에서 사용하도록 캠브리지 대학에서 개발한 또다른 Message Transfer Agent (MTA) 입니다. Exim은 sendmail 자리에 설치될 수 있고, 설정은 sendmail의 설정과는 아주 다릅니다.

설치

exim4를 설치하기 위하여, 다음 명령을 실행 합니다:

sudo apt-get install exim4 exim4-base exim4-config

설정

exim4를 설정하기 위하여, 다음 명령을 실행 합니다:

sudo dpkg-reconfigure exim4-config

사용자 인터페이스가 보여질 겁니다. 사용자 인터페이스는 여러분이 많은 파라미터를 설정할 수 있도록 합니다. 예를 들어, exim4 설정 파일은 여러 개의 파일들로 나누어 집니다. 만약 여러분이 그것들을 한 파일로 갖기를 원한다면 이 사용자 인터페이스에서 적절하게 설정할 수 있습니다.

여러분이 사용자 인터페이스에서 설정할 수 있는 모든 파라미터들은 /etc/exim4/update-exim4.conf.conf 파일에 저장 됩니다. 만약 재 설정하기를 원한다면, 설정 마법사를 재 실행하던지 또는 여러분이 선호하는 편집기를 사용하여 수작업으로 이 파일을 편집할 수 있습니다. 설정한 후, 주 설정 파일을 만들기 위하여 다음 명령을 실행할 수 있습니다:

sudo update-exim4.conf

주 설정 파일이 만들어지고 /var/lib/exim4/config.autogenerated로 저장 됩니다.

[주의]

언제든, 여러분은 주 설정 파일, /var/lib/exim4/config.autogenerated을 수작업으로 편집하지 않습니다. 그것은 update-exim4.conf를 실행할 때마다 자동적으로 업데이트 됩니다.

exim4 데몬을 시작하기 위하여 다음 명령을 실행할 수 있습니다:

sudo /etc/init.d/exim4 start

TODO: 이 영역은 exim4와 함께 SMTP AUTH를 설정하는 것을 다룹니다.

Dovecot 서버

Dovecot 은 보안 우선을 염두에 두고 쓰여진 Mail Delivery Agent 입니다. 이것은 mbox 와 Maildir 같은 주요 메일박스 형식을 지원 합니다. 이 영역은 imap 또는 pop3 서버로서 Dovecot을 어떻게 설정하는 지를 설명 합니다.

설치

dovecot 설치하기 위하여, 명령 프롬프트에서 다음 명령을 실행 합니다:

sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d

설정

dovecot을 설정하기 위하여, /etc/dovecot/dovecot.conf 파일을 편집할 수 있습니다. 여러분이 사용하고자 하는 프로토콜을 선택할 수 있고, 그것은 pop3, pop3s (pop3 secure), imap 그리고 imaps (imap secure)이 될 수 있습니다. 이 프로토콜에 대한 설명은 이 안내서의 범위 밖 입니다. 더 많은 정보는, wikipedia의 다음 글을, POP3 와 IMAP, 참고 하십시오.

IMAPS와 POP3S는 접속할 때 SSL 암호화를 사용하므로 간단한 IMAP과 POP3 보다는 좀 더 안전 합니다. 이 프로토콜을 선택하였다면, /etc/dovecot/dovecot.conf 파일에 다음 줄을 수정 합니다:

protocols = pop3 pop3s imap imaps

그것은 dovecot이 시작될 때 그 프로토콜을 사용 가능하게 합니다. 다음은, /etc/dovecot/dovecot.conf 파일의 pop3 부분에 다음 줄을 추가 합니다:

pop3_uidl_format = %08Xu%08Xv

그 다음은, 사용할 메일박스를 선택 합니다. Dovecot은 maildir 과 mbox 형식을 지원 합니다. 그것은 가장 일반적으로 사용되는 메일박스 형식 입니다. 각각은 서로의 장점을 가지고 그에 대한 것은 dovecot 웹 사이트에 논의되어 있습니다.

여러분의 메일박스 종류를 선택한 후, /etc/dovecot/dovecot.conf 파일을 편집하기 위하여 열고 다음 줄을 변경 합니다:

default_mail_env = maildir:~/Maildir # (for maildir)
또는
default_mail_env = mbox:~/mail:INBOX=/var/spool/mail/%u # (for mbox)
[참고]

만약 설정한 것과 다르다면, 이 메일박스의 종류로 수신 메일을 전송하기 위한 여러분의 Mail Trasport Agent (MTA)를 설정하여야 합니다.

여러분이 dovecot을 설정한 후, 그것을 테스트하기 위하여 dovecot 데몬을 시작 하십시오:

            
              sudo /etc/init.d/dovecot start
            
          

만약 imap 또는 pop3를 사용 가능하게 하였다면, telnet localhost pop3 또는 telnet localhost imap2 명령을 사용하여 로그인을 시도해 볼 수 있습니다. 다음과 같은 것을 본다면, 설치는 성공적으로 된 것 입니다:

bhuvan@rainbow:~$ telnet localhost pop3
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Dovecot ready.

Dovecot SSL 설정

SSL을 사용하도록 dovecot을 설정하기 위하여, /etc/dovecot/dovecot.conf 파일을 편집하기 위해 열고 다음 줄을 수정 합니다:

ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
ssl_disable = no
disable_plaintext_auth = no

cert 와 key 파일은 설치될 때 dovecot에 의하여 자동적으로 만들어 집니다. 이 키는 사인되지 않았고 클라이언트에서 연결을 할 때 "bad signature" 에러를 주게 되는 것을 주의 하십시오. 이 것을 피하려면, 상업용 인증서를 사용할 수 있고, 또는 보다 낫게, 여러분 스스로의 SSL 인증서를 사용할 수 있습니다.

이메일 서버를 위한 방화벽 설정

다른 컴퓨터에서 메일 서버를 접근하려면, 필요한 포트로 서버로의 접속을 허용하도록 방화벽을 반드시 설정해야만 합니다.

  • IMAP - 143

  • IMAPS - 993

  • POP3 - 110

  • POP3S - 995

Mailman

Mailman은 전자 우편 회의와 전자 소식 목록을 관리하기 위한 오픈소스 프로그램 입니다. 많은 오픈소스 메일링 리스트는 (모든 우분투 메일링 리스트를 포함한) 메일링 리스트 소프트웨어로 Mailman을 사용 합니다. 이것은 강력하고 설치와 유지보수가 쉽습니다.

설치

Mailman은 관리자와 사용자를 위한 웹 인터페이스를 제공 합니다. 그러므로, 그것은 mod_perl 지원을 하는 아파치를 필요로 합니다. Mailman은 이메일을 보내고 받기 위한 외부 메일 서버를 사용 합니다. 다음의 메일 서버와 완벽하게 동작 합니다:

  • Postfix

  • Exim

  • Sendmail

  • Qmail

우리는 어떻게 mailman, 아파치 웹 서버와 Exim 메일 서버를 설치하는지를 봅니다. 만약 여러분이 mailman을 다른 메일 서버와 함께 설치하기를 원한다면, 참조 영역을 참고 하십시오.

아파치2

아파치2를 설치하는 것은 “설치” 을 참조 하십시오.

Exim4

Exim4를 설치하기 위하여 터미널 프롬프트에서 다음 명령을 실행 합니다:

sudo apt-get install exim4
sudo apt-get install exim4-base
sudo apt-get install exim4-config

exim4가 설치되면, 설정 파일들은 /etc/exim4 디렉토리에 저장 됩니다. 우분투에서는, 기본 설정으로, exim4 설정 파일은 여러 개의 파일들로 나누어 집니다. /etc/exim4/update-exim4.conf 파일 내의 다음 변수를 변경하는 것으로 이 동작을 바꿀 수 있습니다:

  • dc_use_split_config='true'

Mailman

Mailman 을 설치하기 위하여, 터미널 프롬프트에서 다음 명령을 실행 합니다:

sudo apt-get install mailman 

이것은 설치 파일을 /var/lib/mailman 디렉토리 내로 복사하고, /usr/lib/cgi-bin/mailman 디렉토리 내에 CGI 스크립트를 설치 합니다. list 리눅스 사용자를 만들고, list 리눅스 그룹도 만듭니다. mailman 프로세스는 이 사용자에 의하여 소유 됩니다.

설정

이 영역에서는 여러분이 mailmanapache2, 그리고 exim4를 성공적으로 설치하였다고 가정 합니다. 이제 여러분은 단지 그것들을 설정할 필요가 있습니다.

아파치2

아파치2가 설치되면, /etc/apache2/apache2.conf 파일에 다음의 줄들을 추가할 수 있습니다:

Alias /images/mailman/ "/usr/share/images/mailman/"
Alias /pipermail/ "/var/lib/mailman/archives/public/"

Mailman은 CGI 스크립트를 사용하기 위하여 아파치2를 이용 합니다. 메일맨 스크립트는 /usr/lib/cgi-bin/mailman 디렉토리에 설치 됩니다. 그러므로 그 메일맨 url은 http://hostname/cgi-bin/mailman/ 이 됩니다. 만약 변경하기를 원한다면, /etc/apache2/apache2.conf 파일에서 바꿀 수 있습니다.

Exim4

Exim4를 설치한 후, 터미널 프롬프트에서 다음 명령을 사용하여 Exim 서버를 시작할 수 있습니다:

sudo apt-get /etc/init.d/exim4 start

exim4와 함께 mailman이 동작하게 만들려면, exim4를 설정하는 것이 필요 합니다. 앞에 언급된 것과 같이, 기본 설정으로, exim4는 다른 종류의 복수 설정 파일들을 사용 합니다. 자세한 것은 Exim 웹 사이트를 참조 하십시오. mailman을 실행하기 위하여, 다음 설정 종류에 대한 새로운 설정 파일을 추가하여야 합니다:

  • Main

  • Transport

  • Router

Exim은 모든 이 작은 설정 파일들을 정렬하여 주 설정 파일을 만듭니다. 그러므로, 이 설정 파일의 순서는 매우 중요 합니다.

Main

Main 종류에 속하는 모든 설정 파일들은 /etc/exim4/conf.d/main/ 디렉토리 내에 저장 됩니다. 04_exim4-config_mailman 이란 이름의 새 파일에 다음의 내용을 추가할 수 있습니다:

댓글목록

등록된 댓글이 없습니다.

71 (1/2P)

Search

Copyright © Cmd 명령어 3.141.12.30