Postfix + Dovecot + Squirrelmail 및 로컬 사용자-SME Networks

시리즈의 일반 색인 : 중소기업을위한 컴퓨터 네트워크 : 소개

이 기사는 미니 시리즈의 연속이자 마지막입니다.

안녕 친구와 친구들!

매니아 그들은 자신만의 메일 서버를 갖고 싶어합니다. 그들은 물음표 사이에 "개인 정보 보호"가 있는 서버를 사용하고 싶지 않습니다. 귀하의 소규모 서버에 서비스를 구현하는 담당자는 해당 분야의 전문가가 아니며 처음에는 미래의 핵심을 설치하고 메일 서버를 완성하려고 노력할 것입니다. 문제는 전체 메일 서버를 만드는 "등식"이 이해하고 적용하기가 약간 어렵다는 것입니다. 

여백 주석

  • 메일 서버에 관련된 각 프로그램이 수행하는 기능에 대해 명확히 할 필요가 있습니다. 초기 가이드로서 우리는 그들이 방문한 목적에 대한 일련의 유용한 링크를 제공합니다..
  • 완전한 메일 서비스를 처음부터 수동으로 구현하는 것은 매일 이러한 유형의 작업을 수행하는 "선택된"사람이 아니라면 피곤한 프로세스입니다. 메일 서버는 일반적으로 개별적으로 처리하는 다양한 프로그램으로 구성됩니다. SMTP, POP / IMAP, 메시지의 로컬 저장소, 치료와 관련된 작업 SPAM, 바이러스 백신 등 이러한 모든 프로그램은 서로 올바르게 통신해야합니다.
  • 사용자를 관리하는 방법에 대한 하나의 크기 또는 "모범 사례"는 없습니다. 메시지를 저장하는 위치와 방법 또는 모든 구성 요소가 단일 전체로 작동하도록 만드는 방법.
  • 메일 서버의 조립 및 조정은 권한 및 파일 소유자, 특정 프로세스를 담당 할 사용자 선택, 일부 난해한 구성 파일에서 발생하는 작은 오류와 같은 문제에서 불쾌한 경향이 있습니다.
  • 수행중인 작업을 잘 알지 못하는 경우 최종 결과는 안전하지 않거나 약간 작동하지 않는 메일 서버가됩니다. 구현이 끝날 때 작동하지 않는 것은 아마도 가장 악한 일이 될 것입니다.
  • 인터넷에서 메일 서버를 만드는 방법에 대한 많은 레시피를 찾을 수 있습니다. 가장 완벽한 것 중 하나-제 개인적인 의견으로는-저자가 제공 한 것 이 바르 아브라함 센 2017 년 XNUMX 월 XNUMX 번째 판에서«GNU / Linux 시스템에서 메일 서버를 설정하는 방법".
  • 우리는 또한 기사를 읽는 것이 좋습니다«Ubuntu 14.04의 메일 서버 : Postfix, Dovecot, MySQL«, 또는«Ubuntu 16.04의 메일 서버 : Postfix, Dovecot, MySQL".
  • 진실. 이와 관련하여 가장 좋은 문서는 영어로 찾을 수 있습니다.
    • 우리는 메일 서버를 어떻게… 이전 단락에서 언급했듯이 단계별로 수행한다는 사실만으로 우리가 직면하게 될 것에 대한 아주 좋은 아이디어를 얻을 수 있습니다.
  • 몇 단계만으로 완전한 메일 서버를 확보하려면 이미지를 다운로드 할 수 있습니다. iRedOS-0.6.0-CentOS-5.5-i386.iso, 또는 더 현대적인 것을 찾으십시오. iRedOS 또는 아이레드메일. 제가 개인적으로 추천하는 방식입니다.

다음을 설치하고 구성 할 것입니다.

해야 할 일 :

최소한 다음 서비스는 구현 될 것입니다.

  • 포스트 그레이: 그레이리스트에 대한 Postfix 서버 정책 및 정크 메일 거부.
  • amavisd-new: MTA, 바이러스 스캐너 및 콘텐츠 필터 간의 인터페이스를 만드는 스크립트입니다.
  • Clamav 바이러스 백신: 바이러스 백신 제품군
  • 어쌔신: 정크 메일 추출
  • 면도칼 (파이조르) : 분산 및 협업 네트워크를 통한 스팸 캡처. Vipul Razor 네트워크는 정크 메일 또는 스팸 전파에 대한 업데이트 된 카탈로그를 유지합니다.
  • DNS 레코드 "DomainKeys Identified Mail"또는 디킴.

패키지 postgrey, amavisd-new, clamav, spamassassin, 면도기 y 피조 르 프로그램 저장소에서 찾을 수 있습니다. 우리는 또한 프로그램을 찾을 것입니다 오픈킴.

  • DNS 레코드 "SPF"및 "DKIM"의 올바른 선언은 다음과 같은 다른 메일 서비스에서 메일 서버가 작동하지 않거나 바람직하지 않은 것으로 선언되거나 스팸 또는 정크 메일의 생산자가되는 것을 원하지 않는 경우 필수적입니다. Gmail, Y아후, 핫메일.

초기 점검

이 기사는 다음에서 시작하는 다른 기사의 연속임을 기억하십시오. CentOS 7에서 Squid + PAM 인증.

내부 네트워크에 연결된 Ens32 LAN 인터페이스

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:da:a3:e7
NM_CONTROLLED=no
IPADDR=192.168.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DOMAIN=desdelinux.fan
DNS1=127.0.0.1
ZONE = 공개

[root @ linuxbox ~] # ifdown ens32 && ifup ens32

인터넷에 연결된 Ens34 WAN 인터페이스

[root @ linuxbox ~] # nano / etc / sysconfig / network-scripts / ifcfg-ens34
DEVICE=ens34 ONBOOT=yes BOOTPROTO=static HWADDR=00:0c:29:da:a3:e7 NM_CONTROLLED=no IPADDR=172.16.10.10 NETMASK=255.255.255.0 # ADSL 라우터는 # 다음 주소를 사용하여 이 인터페이스에 연결됩니다. IP 게이트웨이=172.16.10.1 도메인=desdelinux.fan DNS1=127.0.0.1
ZONE = 외부

LAN에서 DNS 확인

[root@linuxbox ~]# cat /etc/resolv.conf 검색 desdelinux.fan 네임서버 127.0.0.1 네임서버 172.16.10.30 [root@linuxbox ~]# 호스트 메일
메일.desdelinux.fan은 linuxbox의 별칭입니다.desdelinux.팬. 리눅스박스.desdelinux.fan의 주소는 192.168.10.5 linuxbox입니다.desdelinux.팬메일은 1개의 메일로 처리됩니다.desdelinux.팬.

[root@linuxbox ~]# 호스트메일.desdelinux.팬
메일.desdelinux.fan은 linuxbox의 별칭입니다.desdelinux.팬. 리눅스박스.desdelinux.fan의 주소는 192.168.10.5 linuxbox입니다.desdelinux.팬메일은 1개의 메일로 처리됩니다.desdelinux.팬.

인터넷에서 DNS 확인

buzz@sysadmin:~$hostmail.desdelinux.팬 172.16.10.30
도메인 서버 사용: 이름: 172.16.10.30 주소: 172.16.10.30#53 별칭: mail.desdelinux.fan은 다음의 별칭입니다. desdelinux.팬.
desdelinux.fan의 주소는 172.16.10.10입니다.
desdelinux.팬메일은 10개의 메일로 처리됩니다.desdelinux.팬.

호스트 이름을 로컬에서 해결하는 데 문제가 있음 «desdelinux.팬"

호스트 이름을 확인하는 데 문제가있는 경우«desdelinux.팬" 로부터 LAN, 파일 줄을 주석 처리하십시오. /etc/dnsmasq.conf 선언 된 곳 지역=/desdelinux.팬/. 그 후 Dnsmasq를 다시 시작하십시오.

[root @ linuxbox ~] # nano /etc/dnsmasq.conf # 아래 줄에 주석을 달아주세요 :
# 로컬=/desdelinux.팬/

[root @ linuxbox ~] # service dnsmasq restart
/ bin / systemctl restart dnsmasq.service로 리디렉션

[root @ linuxbox ~] # 서비스 dnsmasq 상태

[root@linuxbox ~]# 호스트 desdelinux.팬
desdelinux.fan의 주소는 172.16.10.10입니다.
desdelinux.팬메일은 10개의 메일로 처리됩니다.desdelinux.팬.

Postfix 및 Dovecot

Postfix 및 Dovecot에 대한 광범위한 문서는 다음에서 찾을 수 있습니다.

[root @ linuxbox ~] # ls /usr/share/doc/postfix-2.10.1/
bounce.cf.default LICENSE README-Postfix-SASL-RedHat.txt COMPATIBILITY main.cf.default TLS_ACKNOWLEDGEMENTS 예제 README_FILES TLS_LICENSE

[root @ linuxbox ~] # ls /usr/share/doc/dovecot-2.2.10/
작성자 COPYING.MIT dovecot-openssl.cnf NEWS wiki COPYING ChangeLog example-config README COPYING.LGPL documentation.txt mkcert.sh solr-schema.xml

CentOS 7에서 Postfix MTA는 Infrastructure Server 옵션을 선택할 때 기본적으로 설치됩니다. SELinux 컨텍스트가 로컬 메시지 큐의 Potfix에 쓰기를 허용하는지 확인해야합니다.

[root @ linuxbox ~] # getsebool -a | grep 접미사
postfix_local_write_mail_spool-> on

방화벽의 수정 D

그래픽 인터페이스를 사용하여 FirewallD를 구성 할 때 각 영역에 대해 다음 서비스 및 포트가 활성화되어 있는지 확인해야합니다.

# ------------------------------------------------- -----
# FirewallD에서 수정
# ------------------------------------------------- -----
# 방화벽
# 공용 영역 : http, https, imap, pop3, smtp 서비스
# 공용 영역 : 포트 80, 443, 143, 110, 25

# 외부 영역 : http, https, imap, pop3s, smtp 서비스
# 외부 영역 : 포트 80, 443, 143, 995, 25

Dovecot 및 필요한 프로그램을 설치합니다.

[root @ linuxbox ~] # yum install dovecot mod_ssl procmail telnet

최소 Dovecot 구성

[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf
프로토콜 = 아이맵 팝3 lmtp
들어 =*, ::
로그인_인사말 = Dovecot이 준비되었습니다!

Dovecot의 일반 텍스트 인증을 명시 적으로 비활성화합니다.

[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-auth.conf 
disable_plaintext_auth = 예

우리는 Dovecot과 상호 작용하는 데 필요한 권한과 메시지 위치를 그룹에 선언합니다.

[root @ linuxbox ~] # nano /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox : ~ / mail : INBOX = / var / mail / % u
mail_privileged_group = 메일
mail_access_groups = 메일

Dovecot 인증서

Dovecot은 파일의 데이터를 기반으로 테스트 인증서를 자동으로 생성합니다. /etc/pki/dovecot/dovecot-openssl.cnf. 요구 사항에 따라 새 인증서를 생성하려면 다음 단계를 수행해야합니다.

[root @ linuxbox ~] # cd / etc / pki / dovecot /
[root @ linuxbox dovecot] # nano dovecot-openssl.cnf
[ req ] default_bits = 1024 encrypt_key = yes Unique_name = req_dn x509_extensions = cert_type 프롬프트 = no [ req_dn ] # 국가(2자 코드) C=CU # 주 또는 지방 이름(전체 이름) ST=Cuba # 지역 이름(예: 도시 ) L=Havana # 조직(예: 회사) O=FromLinux.Fan # 조직 단위 이름(예: 섹션) OU=Enthusiasts # 일반 이름(*.example.com도 가능) CN=*.desdelinux.fan # 이메일 연락처 emailAddress=buzz@desdelinux.fan [ cert_type ] nsCertType = 서버

테스트 인증서 제거

[root @ linuxbox dovecot] # rm certs / dovecot.pem 
rm : "certs / dovecot.pem"일반 파일을 삭제 하시겠습니까? (y / n) y
[root @ linuxbox dovecot] # rm private / dovecot.pem 
rm : "private / dovecot.pem"일반 파일을 삭제 하시겠습니까? (y / n) y

스크립트를 복사하고 실행합니다. mkcert.sh 문서 디렉토리에서

[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh 
1024비트 RSA 개인 키 생성 .......++++++ ................++++++ '/etc/에 새 개인 키 쓰기 pki/dovecot/private/dovecot.pem' ----- 제목= /C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Enthusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan SHA1 지문=5F:4A:0C:44:EC:EC:EF:95:73:3E:1E:37:D5:05:F8:23:7E:E1:A4:5A

[root @ linuxbox dovecot] # ls -l certs /
총 4 -rw -------. 1 루트 루트 1029 22 월 16 일 08:XNUMX dovecot.pem
[root @ linuxbox dovecot] # ls -l private /
총 4 -rw -------. 1 루트 루트 916 22 월 16 일 08:XNUMX dovecot.pem

[root @ linuxbox dovecot] # 서비스 dovecot 재시작
[root @ linuxbox dovecot] # 서비스 dovecot 상태

Postfix 용 인증서

[root@linuxbox ~]# cd /etc/pki/tls/ [root@linuxbox tls]# openssl req -sha256 -x509 -nodes -newkey rsa:4096 -days 1825 \ -out certs/desdelinux.fan.crt -keyout 비공개/desdelinux.팬.키

4096비트 RSA 개인 키 생성 .......++ ..++ 'private/domain.tld.key'에 새 개인 키 쓰기 ----- 정보를 입력하라는 메시지가 표시됩니다. 이는 귀하의 인증서 요청에 통합됩니다. 입력하려는 이름은 고유 이름 또는 DN입니다. 필드가 꽤 많지만 일부 필드는 비워둘 수 있습니다. 일부 필드에는 기본값이 있으므로 '.'을 입력하면 해당 필드가 비어 있게 됩니다. ----- 국가 이름(2자 코드) [XX]:CU 주 또는 지방 이름(전체 이름) []:쿠바 지역 이름(예: 도시) [기본 도시]:Havana 조직 이름(예: 회사) [ Default Company Ltd]:FromLinux.Fan 조직 단위 이름(예: 섹션) []:Enthusiasts 일반 이름(예: 사용자 이름 또는 서버 호스트 이름) []:desdelinux.fan 이메일 주소 []:buzz@desdelinux.팬

최소 Postfix 구성

파일 끝에 추가합니다. / etc / aliases 다음과 같은

루트 : 버즈

변경 사항을 적용하려면 다음 명령을 실행합니다.

[root @ linuxbox ~] # newaliases

Postifx 구성은 파일을 직접 편집하여 수행 할 수 있습니다. /etc/postfix/main.cf 또는 명령으로 postconf -e 수정하거나 추가하려는 모든 매개 변수가 콘솔의 한 줄에 반영되는지 확인합니다.

  • 각자가 이해하고 필요한 옵션을 선언해야합니다!.
[root@linuxbox ~]# postconf -e 'myhostname = desdelinux.팬'
[root@linuxbox ~]# postconf -e 'mydomain = desdelinux.팬'
[root @ linuxbox ~] # postconf -e 'myorigin = $ mydomain'
[root @ linuxbox ~] # postconf -e 'inet_interfaces = all'
[root @ linuxbox ~] # postconf -e 'mydestination = $ myhostname, localhost. $ mydomain, localhost, $ mydomain, mail. $ mydomain, www. $ mydomain, ftp. $ mydomain'

[root @ linuxbox ~] # postconf -e 'mynetworks = 192.168.10.0/24, 172.16.10.0/24, 127.0.0.0/8'
[root @ linuxbox ~] # postconf -e 'mailbox_command = / usr / bin / procmail -a "$ EXTENSION"'
[root @ linuxbox ~] # postconf -e 'smtpd_banner = $ myhostname ESMTP $ mail_name ($ mail_version)'

파일 끝에 추가합니다. /etc/postfix/main.cf 아래에 주어진 옵션. 각각의 의미를 알기 위해 함께 제공되는 문서를 읽는 것이 좋습니다.

biff = 아니오
append_dot_mydomain = 아니오
delay_warning_time = 4 시간
readme_directory = 아니오
smtpd_tls_cert_file=/etc/pki/certs/desdelinux.fan.crt
smtpd_tls_key_file=/etc/pki/private/desdelinux.팬.키
smtpd_use_tls = 예
smtpd_tls_session_cache_database = btree : $ {data_directory} / smtpd_scache
smtp_tls_session_cache_database = btree : $ {data_directory} / smtp_scache
smtpd_relay_restrictions = allowed_mynetworks 허가_sasl_authenticated defer_unauth_destination

# 최대 사서함 크기 1024MB = 1g 및 g
사서함 크기 제한 = 1073741824

수신자 _ 구분자 = +
maximal_queue_lifetime = 7일
header_checks = regexp : / etc / postfix / header_checks
body_checks = regexp : / etc / postfix / body_checks

# 수신 메일의 사본을 다른 계정으로 보내는 계정
recipient_bcc_maps = 해시 : / etc / postfix / accounts_ forwarding_copy

다음 줄은 메일을 보내고 다른 서버로 릴레이 할 수있는 사람을 결정하는 데 중요하므로 인증되지 않은 사용자가 메일을 보낼 수 있도록 허용하는 "오픈 릴레이"를 실수로 구성하지 않습니다. 각 옵션의 의미를 이해하려면 Postfix 도움말 페이지를 참조해야합니다.

  • 각자가 이해하고 필요한 옵션을 선언해야합니다!.
smtpd_helo_restrictions = 허가_mynetworks,
 warn_if_reject_non_fqdn_hostname,
 거부_무효_호스트 이름,
 허가

smtpd_sender_restrictions = 허가_sasl_인증됨,
 allow_mynetworks,
 warn_if_reject_non_fqdn_sender,
 거부_알 수 없는_발신자_도메인,
 거부_unauth_파이프라이닝,
 허가

smtpd_client_restrictions = recognition_rbl_client sbl.spamhaus.org,
 reject_rbl_client 블랙홀.easynet.nl

# 참고 : "check_policy_service inet : 127.0.0.1 : 10023"옵션
# Postgrey 프로그램을 활성화하며 포함해서는 안됩니다.
# 그렇지 않으면 Postgrey를 사용할 것입니다.

smtpd_recipient_restrictions = recognition_unauth_pipelining,
 allow_mynetworks,
 allow_sasl_authenticated,
 거부_비_fqdn_수신자,
 Reject_unknown_recipient_domain,
 거부_unauth_destination,
 check_policy_service inet : 127.0.0.1 : 10023,
 허가

smtpd_data_restrictions=reject_unauth_pipelining

smtpd_relay_restrictions=reject_unauth_pipelining,
 allow_mynetworks,
 allow_sasl_authenticated,
 거부_비_fqdn_수신자,
 Reject_unknown_recipient_domain,
 거부_unauth_destination,
 check_policy_service inet : 127.0.0.1 : 10023,
 허가
 
smtpd_helo_required = 예
smtpd_delay_reject = 예
disable_vrfy_command = 예

우리는 파일을 만듭니다 / etc / postfix / body_checks y / etc / postfix / accounts_forwarding_copy, 파일을 수정합니다. / etc / postfix / header_checks.

  • 각자가 이해하고 필요한 옵션을 선언해야합니다!.
[root @ linuxbox ~] # nano / etc / postfix / body_checks
#이 파일이 수정되면 포스트 맵을 실행할 필요가 없습니다. # 규칙을 테스트하려면 루트로 실행하십시오. # postmap -q 'super new v1agra'regexp : / etc / postfix / body_checks
# 반환해야 함 : # REJECT 규칙 # 2 스팸 방지 메시지 본문
/ viagra / REJECT 규칙 # 1 메시지 본문의 스팸 방지
/ super new v [i1] agra / REJECT 규칙 # 2 메시지 본문의 스팸 방지

[root @ linuxbox ~] # nano / etc / postfix / accounts_ forwarding_copy
# 수정 후 다음을 실행해야합니다. # 포스트 맵 / etc / postfix / accounts_ forwarding_copy
# 파일이 생성되거나 측정됩니다. # /etc/postfix/accounts_forwarding_copy.db
# ----------------------------- # 하나의 BCC를 전달하는 하나의 계정 사본 # BCC = Black Carbon Copy # 예: # webadmin@desdelinux.팬 버즈@desdelinux.팬

[root @ linuxbox ~] # 포스트 맵 / etc / postfix / accounts_ forwarding_copy

[root @ linuxbox ~] # nano / etc / postfix / header_checks
# 파일 끝에 추가 # 정규 표현식이므로 포스트 맵이 필요하지 않습니다.
/ ^ 제목 : =? Big5? / REJECT 중국어 인코딩이이 서버에서 허용되지 않습니다.
/ ^ 제목 : =? EUC-KR? / REJECT 한국어 인코딩이이 서버에서 허용되지 않습니다.
/ ^ 제목 : ADV : / REJECT이 서버에서 허용되지 않는 광고
/^From:.*\@.*\.cn/ REJECT 죄송합니다. 여기에서는 중국어 메일을 사용할 수 없습니다.
/^From:.*\@.*\.kr/ REJECT 죄송합니다. 한글 메일은 허용되지 않습니다.
/^From:.*\@.*\.tr/ REJECT 죄송합니다. 터키어 메일은 여기에서 허용되지 않습니다.
/^From:.*\@.*\.ro/ REJECT 죄송합니다. 루마니아어 메일은 허용되지 않습니다.
/^(Received|Message-Id|X-(Mailer|Sender)):.*\b(AutoMail|E-Broadcaster|Emailer Platinum | Thunder Server | eMarksman | Extractor | e-Merge | from stealth [^.] | Global Messenger | GroupMaster | Mailcast | MailKing | Match10 | MassE-Mail | massmail \ .pl | News Breaker | Powermailer | Quick Shot | Ready Aim Fire | WindoZ | WorldMerge | Yourdora | Lite) \ b / REJECT 대량 메일러는 허용되지 않습니다.
/ ^ 보낸 사람 : "스패머 / 거부
/ ^ 보낸 사람 : "spam / REJECT
/ ^ 제목 :. * viagra / DISCARD
# 위험한 확장
/ name = [^> Iluminación * \. (bat | cmd | exe | com | pif | reg | scr | vb | vbe | vbs) / REJECT REJECT 이러한 확장자를 가진 첨부 파일은 허용되지 않습니다.

구문을 확인하고 Apache 및 Postifx를 다시 시작하고 Dovecot을 활성화 및 시작합니다.

[root @ linuxbox ~] # postfix 확인
[root @ linuxbox ~] #

[root @ linuxbox ~] # systemctl restart httpd
[root @ linuxbox ~] # systemctl 상태 httpd

[root @ linuxbox ~] # systemctl restart postfix
[root @ linuxbox ~] # systemctl 상태 접미사

[root @ linuxbox ~] # systemctl 상태 dovecot
● dovecot.service-Dovecot IMAP / POP3 이메일 서버로드 됨 :로드 됨 (/usr/lib/systemd/system/dovecot.service; 비활성화 됨, 공급 업체 사전 설정 : 비활성화 됨) 활성 : 비활성 (작동 중지됨)

[root @ linuxbox ~] # systemctl enable dovecot
[root @ linuxbox ~] # systemctl start dovecot
[root @ linuxbox ~] # systemctl restart dovecot
[root @ linuxbox ~] # systemctl 상태 dovecot

콘솔 수준 검사

  • 다른 프로그램의 설치 및 구성을 계속하기 전에 SMTP 및 POP 서비스에 대해 필요한 최소한의 검사를 수행하는 것이 매우 중요합니다..

서버 자체에서 로컬

로컬 사용자에게 이메일을 보냅니다. 레골라스.

[root @ linuxbox ~] # echo "안녕하세요. 이것은 테스트 메시지입니다"| mail -s "Test"legolas

우리는의 사서함을 확인합니다 레골라스.

[root @ linuxbox ~] # openssl s_client -crlf -connect 127.0.0.1:110 -starttls pop3

메시지 후 Dovecot이 준비되었습니다! 우리는 진행합니다 :

---
+ OK Dovecot이 준비되었습니다!
USER 레골라스 +OK PASS 레골라스 +OK 로그인되었습니다. STAT +OK 1 559 LIST +OK 1개 메시지: 1 559 . RETR 1 +OK 559 옥텟 반환 경로:desdelinux.fan> X-원본-받는 사람: 레골라스 배달받는 사람: 레골라스@desdelinux.fan 수신: 작성자: desdelinux.fan(접미사, 사용자 ID 0) ID 7EA22C11FC57; 22년 2017월 10일 월요일 47:10:0400 -22 (EDT) 날짜: 2017년 10월 47일 월요일 10:0400:XNUMX -XNUMX 받는 사람: legolas@desdelinux.fan 제목: 테스트 사용자 에이전트: Heirloom mailx 12.5 7/5/10 MIME 버전: 1.0 콘텐츠 유형: text/plain; charset=us-ascii 콘텐츠 전송 인코딩: 7비트 메시지 ID: <20170522144710.7EA22C11FC57@desdelinux.fan> 보낸 사람: root@desdelinux.fan(루트) 안녕하세요. 이것은 테스트 메시지입니다. 종료 완료
[root @ linuxbox ~] #

LAN의 컴퓨터에서 원격

다른 메시지를 보내겠습니다. 레골라스 LAN의 다른 컴퓨터에서. TLS 보안은 SME 네트워크 내에서 꼭 필요한 것은 아닙니다.

buzz @ sysadmin : ~ $ sendemail -f buzz@deslinux.fan \
-t 레골라스@desdelinux.팬\
-u "안녕하세요"\
-m "친구 Buzz의 레골라스 인사"\
- 이메일.desdelinux.fan -o tls=아니요
22 월 10 일 53:08:5866 sysadmin sendemail [XNUMX] : 이메일이 성공적으로 전송되었습니다!

연결을 시도하면 텔넷 LAN의 호스트에서 또는 인터넷에서 Dovecot까지 일반 텍스트 인증을 비활성화하기 때문에 다음과 같은 일이 발생합니다.

buzz@sysadmin:~$ 텔넷 메일.desdelinux.fan 110 시도 중...
리눅스박스에 연결되었습니다.desdelinux.팬. 이스케이프 문자는 '^]'입니다. +OK 비둘기장이 준비되었습니다! 사용자 레골라스
-ERR [AUTH] 비보안 (SSL / TLS) 연결에서 일반 텍스트 인증이 허용되지 않습니다.
quit + OK 로그 아웃 외부 호스트에 의해 연결이 종료되었습니다.
버즈 @ sysadmin : ~ $

우리는 그것을 통해 그것을해야합니다 하려면 openssl. 명령의 전체 출력은 다음과 같습니다.

buzz@sysadmin:~$ openssl s_client -crlf -메일 연결.desdelinux.fan:110 -starttls pop3
CONNECTED (00000003)
깊이=0 C = CU, ST = 쿠바, L = 하바나, O = FromLinux.Fan, OU = 매니아, CN = *.desdelinux.fan, 이메일 주소 = buzz@desdelinux.팬
확인 오류 : num = 18 : 자체 서명 된 인증서 확인 반환 : 1
깊이=0 C = CU, ST = 쿠바, L = 하바나, O = FromLinux.Fan, OU = 매니아, CN = *.desdelinux.fan, 이메일 주소 = buzz@desdelinux.팬 확인 반환:1
--- 인증서 체인 0 s:/C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Enthusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan i:/C=CU/ST=쿠바/L=하바나/O=FromLinux.Fan/OU=매니아/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- 서버 인증서 -----인증서 시작----- MIICyzCCAjSgAwIBAgIJAKUHI/2ZD+MeMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD VQQGEwJDVTENMAsGA1UECBMEQ3ViYTEPMA0GA1UEBxMGSGFiYW5hMRcwFQYDVQQK Ew5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECxMLRW50dXNpYXN0YXMxGTAXBgNVBAMU ECouZGVzZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51 eC5mYW4wHhcNMTcwNTIyMjAwODEwWhcNMTgwNTIyMjAwODEwWjCBmzELMAkGA1UE BhMCQ1UxDTALBgNVBAgTBEN1YmExDzANBgNVBAcTBkhhYmFuYTEXMBUGA1UEChMO RGVzZGVMaW51eC5GYW4xFDASBgNVBAsTC0VudHVzaWFzdGFzMRkwFwYDVQQDFBAq LmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu ZmFuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7wckAiNNfYSz5hdePzKuZ m2MMuhGDvwrDSPDEcVutznbZSgJ9bvTo445TR+Bnk+OZ80lujS2hP+nBmqxzJbpc XR7E9eWIXxr4fP4HpRrCA8NxlthEsapVMSHW+lnPBqF2b/Bt2eYyR7gJhtlP6gRG V57MmgL8BdYAJLvxqxDIxQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMCBkAwDQYJ KoZIhvcNAQEFBQADgYEAAuYU1nIXTbXtddW+QkLskum7ESryHZonKOCelfn2vnRl 8oAgHg7Hbtg/e6sR/W9m3DObP5DEp3lolKKIKor7ugxtfA4PBtmgizddfDKKMDql LT+MV5/DP1pjQbxTsaLlZfveNxfLRHkQY13asePy4fYJFOIZ4OojDEGQ6/VQBI8= -----인증서 끝----- 제목=/C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Enthusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan 발급자=/C=CU/ST=Cuba/L=Havana/O=FromLinux.Fan/OU=Enthusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- 전송된 클라이언트 인증서 CA 이름이 없습니다. 서버 임시 키: ECDH, secp384r1, 384비트 --- SSL 핸드셰이크가 1342바이트를 읽고 411바이트를 썼습니다. --- 새로운, TLSv1/SSLv3, 암호는 ECDHE-RSA-AES256입니다. -GCM-SHA384 서버 공개 키는 1024비트입니다. 보안 재협상이 지원됩니다. 압축: NONE 확장: NONE SSL-세션: 프로토콜: TLSv1.2 암호: ECDHE-RSA-AES256-GCM-SHA384 세션 ID: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB 6C5295BF4E2D73A 세션 ID- ctx : 마스터 키: 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5 키 인수: 없음 Krb5 주체: 없음 PSK ID: 없음 PSK ID 힌트: 없음 TLS 세션 티켓 수명 힌트: 300(초) TLS 세션 티켓: 0000 - 4e 3a f8 29 7a 4f 63 72- ee f7 a6 4f fc ec 7e 1c N:.)zOcr...O..~. 0010 - 2c d4 be a8 be 92 2e ae-98 7e 87 6d 45 c5 17 a8 ,......~.mE... 0020 - db 3a 86 80 df 8b dc 8d-f8 1f 68 6e db a7 e3 86 .:.hn.... 0030 - 08 35 e5 eb 98 b8 a4 98-68 b1 ea f7 72 f7 c1 79 .5......hr...r ..y 0040 - 89 4a 28 e3 85 a4 8b da-e9 7a 29 c7 77 bf 22 0d .J(......z).w.". 0050 - bd 5c f6 61 8c a1 14 bd-cb 31 27 66 7a dc 51 28 .\.a.....1'fz.Q( 0060 - b7 of 35 bd 2b 0f d4 ec-d3 e0 14 c8 65 03 b1 35 ..5.+.... ...e ..5 0070 - 38 34 f8 de 48 da ae 31-90 bd f6 b0 e6 9c cf 19 84..H..1........ 0080 - f5 42 56 13 88 b0 8c db-aa ee 5a d7 1b 2c dd 71 .BV.......Z..,.q 0090 - 7a f1 03 70 90 94 c9 0a-62 e5 0f 9c bf dc 3c a0 z..p.. ..b. ....<. 시작 시간: 1495484262 시간 초과: 300(초) 반환 코드 확인: 18(자체 서명된 인증서) ---
+ OK Dovecot이 준비되었습니다!
사용자 레골라스
+ 확인
PASS 레골라스
+ 확인 로그인했습니다.
LIST
+ OK 1 메시지 : 1 1021.
뒤로 1
+OK 1021 옥텟 반환 경로: X-Original-To: 레골라스@desdelinux.fan 배송받는 사람: legolas@desdelinux.fan 수신됨: sysadmin으로부터.desdelinux.fan (게이트웨이 [172.16.10.1]) by desdelinux.fan(접미사)(ESMTP ID 51886C11E8C0 포함)desdelinux.팬>; 22년 2017월 15일 월요일 09:11:0400 -919362.931369932 (EDT) 메시지 ID: <XNUMX-sendEmail@sysadmin> 보낸 사람: "buzz@deslinux.fan" 받는 사람: "레골라스@desdelinux.팬"desdelinux.fan> 제목: 안녕하세요 날짜: 22년 2017월 19일 월요일 09:11:0000 +1.56 X-Mailer: sendEmail-1.0 MIME-버전: 365707.724894495 콘텐츠 유형: multipart/관련; 경계="----sendEmail-1.0에 대한 MIME 구분 기호" 이는 MIME 형식의 여러 부분으로 구성된 메시지입니다. 이 메시지를 제대로 표시하려면 MIME 버전 365707.724894495 호환 이메일 프로그램이 필요합니다. ------sendEmail-8859에 대한 MIME 구분 기호 콘텐츠 유형: 텍스트/일반; charset="iso-1-7" Content-Transfer-Encoding: 365707.724894495bit 친구 Buzz의 레골라스 인사말 ------sendEmail-XNUMX--에 대한 MIME 구분 기호.
뒀어요
+ 확인 로그 아웃합니다. 닫은
버즈 @ sysadmin : ~ $

Squirrelmail

Squirrelmail 완전히 PHP로 작성된 웹 클라이언트입니다. 여기에는 IMAP 및 SMTP 프로토콜에 대한 기본 PHP 지원이 포함되어 있으며 사용중인 다른 브라우저와의 최대 호환성을 제공합니다. 모든 IMAP 서버에서 올바르게 실행됩니다. MIME 지원, 주소록 및 폴더 관리를 포함하여 이메일 클라이언트에서 필요한 모든 기능을 갖추고 있습니다.

[root @ linuxbox ~] # yum install squirrelmail
[root @ linuxbox ~] # service httpd restart

[root @ linuxbox ~] # nano /etc/squirrelmail/config.php
$도메인 = 'desdelinux.팬';
$imapServerAddress = '메일.desdelinux.팬';
$ imapPort = 143;
$smtpServerAddress = 'desdelinux.팬';

[root @ linuxbox ~] # service httpd reload

DNS 전송 정책 프레임 워크 또는 SPF 레코드

기사에서 권한있는 DNS 서버 NSD + Shorewall 우리는 Zone이 «desdelinux.fan»은 다음과 같이 구성되었습니다.

root@ns:~# 나노 /etc/nsd/desdelinux.fan.zone
$ORIGIN desdelinux.팬. $TTL 3H @ IN SOA 번호.desdelinux.팬. 뿌리.desdelinux.팬. ( 1; 직렬 1D; 1H 새로 고침; 1W 재시도; 3H 만료) ; 최소 또는 ; 네거티브 캐싱 TTL(Time to Live) ; @ IN NS ns.desdelinux.팬. @ IN MX 10 이메일.desdelinux.팬.
@ IN TXT "v=spf1 a:mail.desdelinux.팬 -모두"
; ; 발굴 문의 해결을 위한 등록 desdelinux.fan @ IN A 172.16.10.10 ; ns IN A 172.16.10.30 메일 IN CNAME   desdelinux.팬. CNAME에서 채팅   desdelinux.팬. www IN CNAME   desdelinux.팬. ; ; XMPP와 관련된 SRV 레코드
_xmpp-server._tcp IN SRV 0 0 5269 desdelinux.팬. _xmpp-client._tcp IN SRV 0 0 5222 desdelinux.팬. _jabber._tcp IN SRV 0 0 5269 desdelinux.팬.

그 안에 레지스트리가 선언됩니다.

@ IN TXT "v=spf1 a:mail.desdelinux.팬 -모두"

SME 네트워크 또는 LAN에 대해 동일한 매개 변수를 구성하려면 Dnsmasq 구성 파일을 다음과 같이 수정해야합니다.

# TXT 레코드. SPF 레코드 txt-record=를 선언할 수도 있습니다.desdelinux.fan,"v=spf1 a:mail.desdelinux.팬 -모두"

그런 다음 서비스를 다시 시작합니다.

[root @ linuxbox ~] # service dnsmasq restart
[root@linuxbox ~]# 서비스 dnsmasq 상태 [root@linuxbox ~]# 호스트 -t TXT 메일.desdelinux.팬메일.desdelinux.fan은 다음의 별칭입니다. desdelinux.팬.
desdelinux.fan 설명 텍스트 "v=spf1 a:mail.desdelinux.팬 -모두"

자체 서명 된 인증서 및 Apache 또는 httpd

브라우저에서«소유자 메일.desdelinux.팬 웹 사이트를 잘못 구성했습니다. 귀하의 정보가 도난되는 것을 방지하기 위해 Firefox는 이전에 생성 된 인증서 인이 웹 사이트에 연결되지 않았습니다. 유효합니다, 인증서를 수락 한 후 클라이언트와 서버 간의 자격 증명이 암호화되어 이동하도록 허용합니다.

원하는 경우 인증서를 통합하는 방법으로 Postfix에 대해 선언 한 것과 동일한 인증서를 Apache에 선언 할 수 있습니다. 맞습니다.

[root @ linuxbox ~] # 나노 /etc/httpd/conf.d/ssl.conf
SSL인증서 파일 /etc/pki/tls/certs/desdelinux.fan.crt
SSLCertificateKey파일 /etc/pki/tls/private/desdelinux.팬.키

[root @ linuxbox ~] # 서비스 아파치를 다시 시작
[root @ linuxbox ~] # 서비스 httpd 상태

Diffie-Hellman 그룹

보안이라는 주제는 인터넷에서 매일 더 어려워지고 있습니다. 연결에 대한 가장 일반적인 공격 중 하나 SSL, 그는 Logjam 이를 방지하려면 SSL 구성에 비표준 매개 변수를 추가해야합니다. 이를 위해 RFC-3526 «MODP (More Modular Exponential) 디피 - 헬만 그룹 IKE (인터넷 키 교환) 용".

[root @ linuxbox ~] # cd / etc / pki / tls /
[root @ linuxbox tls] # openssl dhparam -out private / dhparams.pem 2048
[root @ linuxbox tls] # chmod 600 private / dhparams.pem

설치 한 Apache 버전에 따라 파일에서 Diffie-Helman Group을 사용합니다. /etc/pki/tls/dhparams.pem. 버전 2.4.8 이상이면 파일에 추가해야합니다. /etc/httpd/conf.d/ssl.conf 다음 줄 :

SSLOpenSSLConfCmd DHParameters "/etc/pki/tls/private/dhparams.pem"

우리가 사용하는 Apache 버전은 다음과 같습니다.

[root @ linuxbox tls] # yum info httpd
로드 된 플러그인 : fastermirror, langpacks 캐시 된 호스트 파일에서 미러 속도로드 설치된 패키지 이름 : httpd 아키텍처 : x86_64
버전 : 2.4.6
릴리스 : 45.el7.centos 크기 : 9.4 M 저장소 : 설치됨 저장소에서 : Base-Repo 요약 : Apache HTTP 서버 URL : http://httpd.apache.org/ 라이센스 : ASL 2.0 설명 : Apache HTTP 서버는 강력합니다. , 효율적이며 확장 성 : 웹 서버.

2.4.8 이전 버전이 있으므로 이전에 생성 된 CRT 인증서 끝에 Diffie-Helman 그룹의 내용을 추가합니다.

[root @ linuxbox tls] # cat private / dhparams.pem >> 인증서/desdelinux.fan.crt

DH 매개 변수가 CRT 인증서에 올바르게 추가되었는지 확인하려면 다음 명령을 실행하십시오.

[root @ linuxbox tls] # cat private / dhparams.pem 
----- DH 매개 변수 시작 -----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- DH 매개 변수 종료 -----

[root@linuxbox tls]# 고양이 인증서/desdelinux.fan.crt 
-----BEGIN CERTIFICATE-----
MIIGBzCCA++gAwIBAgIJANd9FLCkDBfzMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYD
VQQGEwJDVTENMAsGA1UECAwEQ3ViYTEPMA0GA1UEBwwGSGFiYW5hMRcwFQYDVQQK
DA5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECwwLRW50dXNpYXN0YXMxFzAVBgNVBAMM
DmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu
ZmFuMB4XDTE3MDUyMjE0MDQ1MloXDTIyMDUyMTE0MDQ1MlowgZkxCzAJBgNVBAYT
AkNVMQ0wCwYDVQQIDARDdWJhMQ8wDQYDVQQHDAZIYWJhbmExFzAVBgNVBAoMDkRl
c2RlTGludXguRmFuMRQwEgYDVQQLDAtFbnR1c2lhc3RhczEXMBUGA1UEAwwOZGVz
ZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51eC5mYW4w
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCn5MkKRdeFYiN+xgGdsRn8
sYik9X75YnJcbeZrD90igfPadZ75ehtfYIxxOS+2U+omnFgr/tCKYUVJ50seq/lB
idcLP4mt7wMrMZUDpy1rlWPOZGKkG8AdStCYI8iolvJ4rQtLcsU6jhRzEXsZxfOb
O3sqc71yMIj5qko55mlsEVB3lJq3FTDQAY2PhXopJ8BThW1T9iyl1HlYpxj7OItr
/BqiFhxbP17Fpd3QLyNiEl+exVJURYZkvuZQqVPkFAlyNDh5I2fYfrI9yBVPBrZF
uOdRmT6jv6jFxsBy9gggcy+/u1nhlKssLBEhyaKfaQoItFGCAmevkyzdl1LTYDPY
ULi79NljQ1dSwWgraZ3i3ACZIVO/kHcOPljsNxE8omI6qNFWqFd1qdPH5S4c4IR1
5URRuwyVNffEHKaCJi9vF9Wn8LVKnN/+5zZGRJA8hI18HH9kF0A1sCNj1KKiB/xe
/02wTzR/Gbj8pkyO8fjVBvd/XWI8EMQyMc1gvtIAvZ00SAB8c1NEOCs5pt0Us6pm
1lOkgD6nl90Dx9p805mTKD+ZcvRaShOvTyO3HcrxCxOodFfZQCuHYuQb0dcwoK2B
yOwL77NmxNH1QVJL832lRARn8gpKoRAUrzdTSTRKmkVrOGcfvrCKhEBsJ67Gq1+T
YDLhUiGVbPXXR9rhAyyX2QIDAQABo1AwTjAdBgNVHQ4EFgQURGCMiLVLPkjIyGZK
UrZgMkO0X8QwHwYDVR0jBBgwFoAURGCMiLVLPkjIyGZKUrZgMkO0X8QwDAYDVR0T
BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAdy1tH1DwfCW47BNJE1DW8Xlyp+sZ
uYTMOKfNdnAdeSag1WshR6US6aCtU6FkzU/rtV/cXDKetAUIzR50aCYGTlfMCnDf
KKMZEPjIlX/arRwBkvIiRTU1o3HTniGp9d3jsRWD/AvB3rSus4wfuXeCoy7Tqc9U
FaXqnvxhF8/ptFeeCeZgWu16zyiGBqMj4ZaQ7RxEwcoHSd+OByg8E9IE2cYrWP2V
6P7hdCXmw8voMxCtS2s++VRd1fGqgGxXjXT8psxmY2MrseuTM2GyWzs+18A3VVFz
UXLD2lzeYs638DCMXj5/BMZtVL2a4OhMSYY4frEbggB3ZgXhDDktUb7YhnBTViM3
2sgJJOSTltOgAnyOPE0CDcyktXVCtu3PNUc+/AB3UemI9XCw4ypmTOMaIZ2Gl6Uo
pmTk41fpFuf8pqW3ntyu43lC5pKRBqhit6MoFGNOCvFYFBWcltpqnjsWfY2gG/b5
8D5HsedueqkAsVblKPBFpv1BB9X0HhBUYsrz8jNGZGbkgR4XQoIoLbQZHEB35APU
4yT1Lzc3jk34yZF5ntmFt3wETSWwJZ+0cYPw7n4E6vbs1C7iKAMQRVy+lI5f8XYS
YKfrieiPPdmQ22Zm2Tbkqi4zjJBWmstrw6ezzAQNaaAkiOiJIwvXU81KYsN37THh
Nf0/JsEjPklCugE=
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- DH 매개 변수 종료 -----

이러한 변경 후에는 Postfix 및 httpd 서비스를 다시 시작해야합니다.

[root @ linuxbox tls] # service postfix restart
[root @ linuxbox tls] # 서비스 후위 상태
[root @ linuxbox tls] # service httpd restart
[root @ linuxbox tls] # 서비스 httpd 상태

TLS 인증서에 Diffie-Helman Group을 포함하면 HTTPS를 통한 연결 속도가 약간 느려질 수 있지만 보안을 추가하면 그만한 가치가 있습니다.

다람쥐 메일 확인

DESPUÉS 인증서가 올바르게 생성되고 콘솔 명령을 사용하여 수행 한 것처럼 올바른 작동을 확인하는지 확인하고 선호하는 브라우저를 URL로 지정 http://mail.desdelinux.fan/webmail 해당 인증서를 수락 한 후 웹 클라이언트에 연결됩니다. HTTP 프로토콜을 지정하더라도 HTTPS로 리디렉션되며 이는 CentOS가 Squirrelmail에 대해 제공하는 기본 설정 때문입니다. 파일보기 /etc/httpd/conf.d/squirrelmail.conf.

사용자 사서함 정보

Dovecot은 폴더에 IMAP 사서함을 만듭니다. 각 사용자의 :

[root @ linuxbox ~] # ls -la /home/legolas/mail/.imap/
총 12 drwxrwx ---. 5 legolas mail 4096 May 22 12:39. drwx ------. 3 legolas legolas 75 May 22 11:34 .. -rw -------. 1 legolas legolas 72 22 월 11 일 34:1 dovecot.mailbox.log -rw -------. 8 레골라스 레골라스 22 May 12 39:1 dovecot-uidvalidity -r-r-r--. 0 legolas legolas 22 10 월 12 일 5922:1 dovecot-uidvalidity.1f2d56 drwxrwx ---. 22 레골라스 메일 10 23 월 2 일 56:22 INBOX drwx ------. 12 legolas legolas 39 May 2 30:22 drwx ------를 보냈습니다. 11 legolas legolas 34 XNUMX 월 XNUMX 일 XNUMX:XNUMX 휴지통

또한 / var / mail /

[root @ linuxbox ~] # less / var / mail / legolas
MAILER_DAEMON 22년 10월 28일 월요일 00:2017:22 날짜: 2017년 10월 28일 월요일 00:0400:1495463280 -1495462351 보낸 사람: 메일 시스템 내부 데이터 제목: 이 메시지를 삭제하지 마세요 -- 폴더 내부 데이터 메시지 ID: <0000000008@linuxbox> . 메일 시스템 소프트웨어에 의해 자동으로 생성됩니다. 삭제하면 중요한 폴더 데이터가 손실되며, 데이터가 초기값으로 재설정되어 다시 생성됩니다. 루트@에서desdelinux.fan Mon May 22 10:47:10 2017 반환 경로:desdelinux.fan> X-원본-받는 사람: 레골라스 배달받는 사람: 레골라스@desdelinux.fan 수신: 작성자: desdelinux.fan(접미사, 사용자 ID 0) ID 7EA22C11FC57; 22년 2017월 10일 월요일 47:10:0400 -22 (EDT) 날짜: 2017년 10월 47일 월요일 10:0400:XNUMX -XNUMX 받는 사람: legolas@desdelinux.fan 제목: 테스트 사용자 에이전트: Heirloom mailx 12.5 7/5/10 MIME 버전: 1.0 콘텐츠 유형: text/plain; charset=us-ascii 콘텐츠 전송 인코딩: 7비트 메시지 ID: <20170522144710.7EA22C11FC57@desdelinux.fan> 보낸 사람: root@desdelinux.fan(루트) X-UID: 7 상태: RO 안녕하세요. 이것은 buzz@deslinux.fan이 보낸 테스트 메시지입니다. Mon May 22 10:53:08 2017 Return-Path: X-Original-To: 레골라스@desdelinux.fan 배송받는 사람: legolas@desdelinux.fan 수신됨: sysadmin으로부터.desdelinux.fan (게이트웨이 [172.16.10.1]) by desdelinux.fan(접미사)(ESMTP ID C184DC11FC57 포함)desdelinux.팬>; 22년 2017월 10일 월요일 53:08:0400 -739874.219379516 (EDT) 메시지 ID: <XNUMX-sendEmail@sysadmin> 보낸 사람: "buzz@deslinux.fan" 받는 사람: "레골라스@desdelinux.팬"desdelinux.fan> 제목: 안녕하세요 날짜: 22년 2017월 14일 월요일 53:08:0000 +1.56 X-Mailer: sendEmail-1.0 MIME-버전: 794889.899510057 콘텐츠 유형: multipart/관련; 경계="----sendEmail-XNUMX에 대한 MIME 구분 기호
/ var / mail / legolas

PAM 미니 시리즈 요약

메일 서버의 핵심을 살펴보고 보안에 약간의 중점을 두었습니다. 이 기사가 메일 서버를 수동으로 구현하는 것만 큼 복잡하고 실수하기 쉬운 주제에 대한 진입 점 역할을하기를 바랍니다.

파일을 올바르게 읽으면 로컬 사용자 인증을 사용합니다. /etc/dovecot/conf.d/10-auth.conf, 우리는 결국 그것이 포함되어 있음을 알 수 있습니다.기본적으로-시스템 사용자의 인증 파일 ! auth-system.conf.ext 포함. 정확하게이 파일은 헤더에서 다음과 같이 알려줍니다.

[root @ linuxbox ~] # less /etc/dovecot/conf.d/auth-system.conf.ext
# 시스템 사용자를위한 인증. 10-auth.conf에 포함되었습니다. # # # # PAM 인증. 오늘날 대부분의 시스템에서 선호됩니다.
# PAM은 일반적으로 userdb passwd 또는 userdb static과 함께 사용됩니다. # 기억하세요 : 실제로 작동하려면 PAM # 인증을 위해 생성 된 /etc/pam.d/dovecot 파일이 필요합니다. passdb {driver = pam # [session = yes] [setcred = yes] [failure_show_msg = yes] [max_requests = ] # [캐시 _ 키 = ] [ ] #args = dovecot}

그리고 다른 파일이 있습니다. /etc/pam.d/도브콧:

[root @ linuxbox ~] # cat /etc/pam.d/dovecot 
# % PAM-1.0 auth required pam_nologin.so auth include password-auth account include password-auth session include password-auth

PAM 인증에 대해 무엇을 전달하려고합니까?

  • CentOS, Debian, Ubuntu 및 기타 여러 Linux 배포판은 기본적으로 로컬 인증이 활성화 된 Postifx 및 Dovecot을 설치합니다.
  • 인터넷의 많은 기사는 MySQL (최근에는 MariaDB)을 사용하여 메일 서버와 관련된 사용자 및 기타 데이터를 저장합니다. 그러나 이들은 수천 명의 사용자를위한 서버이며 수백 명의 사용자가있는 클래식 SME 네트워크 용이 아닙니다.
  • PAM을 통한 인증은이 미니 시리즈에서 본 것처럼 단일 서버에서 실행되는 한 네트워크 서비스를 제공하는 데 필요하고 충분합니다.
  • LDAP 데이터베이스에 저장된 사용자는 마치 로컬 사용자 인 것처럼 매핑 할 수 있으며 PAM 인증을 사용하여 LDAP 클라이언트 역할을하는 다른 Linux 서버에서 중앙 인증 서버로 네트워크 서비스를 제공 할 수 있습니다. 이러한 방식으로 중앙 LDAP 서버 데이터베이스에 저장된 사용자의 자격 증명으로 작업 할 수 있으며 로컬 사용자와 함께 데이터베이스를 유지 관리하는 것은 필수적이지 않습니다.

다음 모험까지!