Let's Encrypt를 사용한 보안 메일 서버 구축 (Cent OS7 + Postfix + Dovecot)
9989 단어 letsencryptpostfixdovecot
소개
자신의 도메인을 이용한 메일 서버의 구축 방법은, 인터넷을 찾으면 얼마든지 구르고 있습니다.
그러나
→ 스스로 기사를 만들어 봅시다.
라는 이야기로.
이 기사에서는 표제대로의 운용이 최저한 가능하다고 하는 레벨을 전제로 하고 있으므로, 만약 플러스 알파의 설정이 필요한 경우는 별도 각자로 추가하도록 해 주세요.
전제 조건
CentOS 7에 sudo 권한이 있는 사용자가 게시됨
DNS 레코드가 A, MX 모두 제대로 설정되어 있어야 함(이 예에서는 A:example.com, MX:mail.example.com)
SELinux 및 Firewalld 설정이 이미 완료되었습니다
주로 할 일
1. Let's Encrypt에서 편안한 인증서 발급
Let's Encrypt는 mozilla, Akamai, Cisco, Google, Facebook 등을 비롯한 대기업 IT 기업의 지원을 받아 2014년에 창설된 프로젝트로 개인에서도 신뢰할 수 있는 서버 인증서를 무료로 발행할 수 있다 수 있습니다.
※도입전에, 자신의 서버로 Web서버가 움직이고 있는 경우는 떨어뜨립니다.
sudo yum list installed git
로 git이 들어 있는지 확인
그렇지 않으면 sudo yum -y install git
로 설치하십시오.
계속해서
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt/
./letsencrypt-auto --help
이제 키 생성 준비는 OK입니다.
필요에 따라 sudo용의 패스워드를 요구되므로 넣어 봅시다.
./letsencrypt-auto certonly --standalone \
-d mail.example.com \
-m 管理用メールアドレス@example.com \
--agree-tos
를 입력하면 자동으로 키 작성 설정이 시작됩니다.
-d 이하는 자신이 취득한 도메인에 맞추어 변경해 주세요.
설치가 끝나면 /etc/letsencrypt/live/cloud.example.jp/fullchain.pem
형식으로 파일이 만들어집니다.
2. Postfix를 넣자
sudo yum -y install postfix
그냥.
라고 해도 CentOS의 경우 데포로 들어 있다고 생각합니다!
설정 파일을 다음과 같이 편집합니다.
/etc/postfix/main.cf#myhostname = host.domain.tld
↓
myhostname = mail.example.com
#mydomain = domain.tld
↓
mydomain = example.com
#myorigin = $mydomain
↓
myorigin = $mydomain
inet_interfaces = localhost
↓
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#home_mailbox = Maildir/
↓
home_mailbox = Maildir/
#smtpd_banner = $myhostname ESMTP $mail_name
↓
smtpd_banner = $myhostname ESMTP
以下をファイルの最後に追記
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_use_tls = yes
smtp_tls_security_level = may
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
이어서
/etc/postfix/master.cf#smtps inet n - n - - smtpd
# -o syslog_name=postfix/smtps
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
↓
smtps inet n - n - - smtpd
# -o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
이상을 변경 한 후 다음 명령을 입력하십시오.
postmap /etc/postfix/access
postfix check
아무것도 오류가 표시되지 않으면
systemctl start postfix
systemctl enable postfix
이것으로 postfix의 설정은 종료.
3. Dovecot을 넣자
우선은 sudo yum -y install dovecot
로 인스톨 하고 나서 각종 설정 파일을 빡빡하게 갑니다.
/etc/dovecot/conf.d/10-master.confservice imap-login {
inet_listener imap {
#port = 143
↓
port = 0
}
inet_listener imaps {
#port = 993
#ssl = yes
↓
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
#port = 110
↓
port = 0
}
inet_listener pop3s {
#port = 995
#ssl = yes
↓
port = 995
ssl = yes
}
}
/etc/dovecot/conf.d/10-master.confservice auth {
(略)
# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
# mode = 0666
#}
↓
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
/etc/dovecot/conf.d/10-auth.conf#disable_plaintext_auth = yes
↓
disable_plaintext_auth = no
auth_mechanisms = plain
↓
auth_mechanisms = plain login
/etc/dovecot/conf.d/10-ssl.confssl = required
↓
ssl = yes
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
↓
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
/etc/dovecot/conf.d/10-mail.conf#mail_location =
↓
mail_location = maildir:~/Maildir
마지막으로 Dovecot을 시작합시다.
systemctl start dovecot
systemctl enable dovecot
수신 서버는 이것뿐.
3. 마지막으로 계정 배포
useradd -s /sbin/nologin user
passwd user
4. 클라이언트에서 설정
Thunderbird를 예로 들어 ...
Reference
이 문제에 관하여(Let's Encrypt를 사용한 보안 메일 서버 구축 (Cent OS7 + Postfix + Dovecot)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/inductor/items/f6b05aa43bc11df28928
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt/
./letsencrypt-auto --help
./letsencrypt-auto certonly --standalone \
-d mail.example.com \
-m 管理用メールアドレス@example.com \
--agree-tos
sudo yum -y install postfix
그냥.라고 해도 CentOS의 경우 데포로 들어 있다고 생각합니다!
설정 파일을 다음과 같이 편집합니다.
/etc/postfix/main.cf
#myhostname = host.domain.tld
↓
myhostname = mail.example.com
#mydomain = domain.tld
↓
mydomain = example.com
#myorigin = $mydomain
↓
myorigin = $mydomain
inet_interfaces = localhost
↓
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#home_mailbox = Maildir/
↓
home_mailbox = Maildir/
#smtpd_banner = $myhostname ESMTP $mail_name
↓
smtpd_banner = $myhostname ESMTP
以下をファイルの最後に追記
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_use_tls = yes
smtp_tls_security_level = may
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
이어서
/etc/postfix/master.cf
#smtps inet n - n - - smtpd
# -o syslog_name=postfix/smtps
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
↓
smtps inet n - n - - smtpd
# -o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
이상을 변경 한 후 다음 명령을 입력하십시오.
postmap /etc/postfix/access
postfix check
아무것도 오류가 표시되지 않으면
systemctl start postfix
systemctl enable postfix
이것으로 postfix의 설정은 종료.
3. Dovecot을 넣자
우선은 sudo yum -y install dovecot
로 인스톨 하고 나서 각종 설정 파일을 빡빡하게 갑니다.
/etc/dovecot/conf.d/10-master.confservice imap-login {
inet_listener imap {
#port = 143
↓
port = 0
}
inet_listener imaps {
#port = 993
#ssl = yes
↓
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
#port = 110
↓
port = 0
}
inet_listener pop3s {
#port = 995
#ssl = yes
↓
port = 995
ssl = yes
}
}
/etc/dovecot/conf.d/10-master.confservice auth {
(略)
# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
# mode = 0666
#}
↓
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
/etc/dovecot/conf.d/10-auth.conf#disable_plaintext_auth = yes
↓
disable_plaintext_auth = no
auth_mechanisms = plain
↓
auth_mechanisms = plain login
/etc/dovecot/conf.d/10-ssl.confssl = required
↓
ssl = yes
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
↓
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
/etc/dovecot/conf.d/10-mail.conf#mail_location =
↓
mail_location = maildir:~/Maildir
마지막으로 Dovecot을 시작합시다.
systemctl start dovecot
systemctl enable dovecot
수신 서버는 이것뿐.
3. 마지막으로 계정 배포
useradd -s /sbin/nologin user
passwd user
4. 클라이언트에서 설정
Thunderbird를 예로 들어 ...
Reference
이 문제에 관하여(Let's Encrypt를 사용한 보안 메일 서버 구축 (Cent OS7 + Postfix + Dovecot)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/inductor/items/f6b05aa43bc11df28928
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
service imap-login {
inet_listener imap {
#port = 143
↓
port = 0
}
inet_listener imaps {
#port = 993
#ssl = yes
↓
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
#port = 110
↓
port = 0
}
inet_listener pop3s {
#port = 995
#ssl = yes
↓
port = 995
ssl = yes
}
}
service auth {
(略)
# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
# mode = 0666
#}
↓
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
#disable_plaintext_auth = yes
↓
disable_plaintext_auth = no
auth_mechanisms = plain
↓
auth_mechanisms = plain login
ssl = required
↓
ssl = yes
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
↓
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
#mail_location =
↓
mail_location = maildir:~/Maildir
systemctl start dovecot
systemctl enable dovecot
useradd -s /sbin/nologin user
passwd user
4. 클라이언트에서 설정
Thunderbird를 예로 들어 ...
Reference
이 문제에 관하여(Let's Encrypt를 사용한 보안 메일 서버 구축 (Cent OS7 + Postfix + Dovecot)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/inductor/items/f6b05aa43bc11df28928
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Let's Encrypt를 사용한 보안 메일 서버 구축 (Cent OS7 + Postfix + Dovecot)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/inductor/items/f6b05aa43bc11df28928텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)