Postfix + Dovecot + Squirrelmail và người dùng cục bộ - Mạng SME

Chỉ số chung của bộ truyện: Mạng máy tính cho doanh nghiệp vừa và nhỏ: Giới thiệu

Bài viết này là phần tiếp theo và cuối cùng của các miniseries:

Xin chào quý vị và các bạn!

Các Người say mê họ muốn có máy chủ thư của riêng họ. Họ không muốn sử dụng các máy chủ có "Quyền riêng tư" nằm giữa các dấu chấm hỏi. Người chịu trách nhiệm triển khai dịch vụ trên máy chủ nhỏ của bạn không phải là chuyên gia về chủ đề này và ban đầu sẽ cố gắng cài đặt cốt lõi của một máy chủ thư hoàn chỉnh và trong tương lai. Đó có phải là "phương trình" để tạo ra một Full Mailserver hơi khó hiểu và khó áp dụng. 😉

Chú thích lề

  • Cần phải rõ ràng về các chức năng mà mỗi chương trình liên quan đến Mailserver thực hiện. Theo hướng dẫn ban đầu, chúng tôi đưa ra một loạt các liên kết hữu ích với mục đích đã khai báo mà chúng được truy cập.
  • Thực hiện một Dịch vụ Thư Hoàn chỉnh theo cách thủ công và từ đầu là một quá trình mệt mỏi, trừ khi bạn là một trong những "Người được chọn" thực hiện loại nhiệm vụ này hàng ngày. Máy chủ Thư được hình thành - theo một cách chung - bởi các chương trình khác nhau xử lý riêng SMTP, POP / IMAP, Lưu trữ cục bộ các tin nhắn, các nhiệm vụ liên quan đến việc xử lý SPAM, Chống vi-rút, v.v. TẤT CẢ các chương trình này phải giao tiếp chính xác với nhau.
  • Không có một kích thước phù hợp với tất cả hoặc "phương pháp hay nhất" về cách quản lý người dùng; nơi và làm thế nào để lưu trữ thông báo hoặc làm thế nào để làm cho tất cả các thành phần hoạt động như một tổng thể duy nhất.
  • Việc lắp ráp và tinh chỉnh Mailserver có xu hướng trở nên khó chịu trong các vấn đề như quyền và chủ sở hữu tệp, chọn người dùng nào sẽ phụ trách một quy trình nhất định và trong các lỗi nhỏ được thực hiện trong một số tệp cấu hình bí truyền.
  • Trừ khi bạn biết rất rõ mình đang làm gì, kết quả cuối cùng sẽ là một Máy chủ Thư không an toàn hoặc hơi không hoạt động. Điều đó vào cuối việc thực hiện Nó không hoạt động, nó sẽ có thể ít tệ nạn hơn.
  • Chúng ta có thể tìm thấy trên Internet rất nhiều công thức về cách tạo một Máy chủ Thư. Một trong những hoàn chỉnh nhất -theo ý kiến ​​cá nhân của tôi- là cái do tác giả đưa ra ivar abrahamsen trong ấn bản thứ mười ba của nó vào tháng 2017 năm XNUMX «Cách thiết lập máy chủ thư trên hệ thống GNU / Linux".
  • Chúng tôi cũng khuyên bạn nên đọc bài báo «Một Mailserver trên Ubuntu 14.04: Postfix, Dovecot, MySQL«, hoặc là "Một Mailserver trên Ubuntu 16.04: Postfix, Dovecot, MySQL".
  • Thật. Tài liệu tốt nhất về vấn đề này có thể được tìm thấy bằng tiếng Anh.
    • Mặc dù chúng tôi không bao giờ tạo ra một Mailserver được hướng dẫn một cách trung thực bởi Làm thế nào để ... đã đề cập trong đoạn trước, chỉ cần làm theo từng bước sẽ cho chúng ta một ý tưởng rất tốt về những gì chúng ta sẽ phải đối mặt.
  • Nếu bạn muốn có một Mailserver hoàn chỉnh chỉ trong vài bước, bạn có thể tải hình ảnh về iRedOS-0.6.0-CentOS-5.5-i386.isohoặc tìm kiếm một cái hiện đại hơn, có thể là iRedOS hoặc iRedMail. Đó là cách mà cá nhân tôi khuyên bạn nên làm.

Chúng tôi sẽ cài đặt và cấu hình:

Nó vẫn phải được thực hiện:

Ít nhất các dịch vụ sau sẽ vẫn được triển khai:

  • postgrey: Chính sách máy chủ Postfix cho Danh sách xám và từ chối Thư rác.
  • Amavisd-mới: script tạo giao diện giữa MTA, trình quét virus và bộ lọc nội dung.
  • Clamav Antivirus: bộ chống vi-rút
  • SpamAssassin: trích xuất Thư rác
  • dao cạo (pyzor): Chụp SPAM thông qua mạng phân tán và cộng tác. Mạng Vipul Razor duy trì một danh mục cập nhật về việc lan truyền thư rác hoặc SPAM.
  • Bản ghi DNS "Thư được xác định DomainKeys" hoặc DKIM.

Gói postgrey, amavisd-new, ngaoav, spamassassin, dao cạo râu y pyzor Chúng được tìm thấy trong kho chương trình. Chúng tôi cũng sẽ tìm thấy chương trình openkim.

  • Việc khai báo chính xác các bản ghi DNS "SPF" và "DKIM" là điều cần thiết nếu chúng tôi không muốn máy chủ thư của mình vừa mới đi vào hoạt động, bị tuyên bố là không mong muốn hoặc là nơi tạo ra SPAM hoặc Thư rác, bởi các dịch vụ thư khác như Gmail, Yahoo, Hotmail, Vân vân.

Kiểm tra ban đầu

Hãy nhớ rằng bài viết này là sự tiếp nối của những bài khác bắt đầu trong Xác thực Squid + PAM trên CentOS 7.

Giao diện LAN Ens32 được kết nối với Mạng nội bộ

[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 = công khai

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

Giao diện WAN Ens34 được kết nối với Internet

[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 # Bộ định tuyến ADSL được kết nối với # giao diện này với # địa chỉ sau IP GATEWAY = 172.16.10.1 DOMAIN = desdelinux.fan DNS1 = 127.0.0.1
ZONE = bên ngoài

Phân giải DNS từ mạng LAN

[root @ linuxbox ~] # cat /etc/resolv.conf tìm kiếm từ máy chủ tên linux.fan 127.0.0.1 máy chủ định danh 172.16.10.30 [root @ linuxbox ~] # host mail
mail.desdelinux.fan là bí danh của linuxbox.desdelinux.fan. linuxbox.desdelinux.fan có địa chỉ 192.168.10.5 mail linuxbox.desdelinux.fan do 1 mail.desdelinux.fan xử lý.

[root @ linuxbox ~] # host mail.fromlinux.fan
mail.desdelinux.fan là bí danh của linuxbox.desdelinux.fan. linuxbox.desdelinux.fan có địa chỉ 192.168.10.5 mail linuxbox.desdelinux.fan do 1 mail.desdelinux.fan xử lý.

Phân giải DNS từ Internet

buzz @ sysadmin: ~ $ host mail.fromlinux.fan 172.16.10.30
Sử dụng máy chủ miền: Tên: 172.16.10.30 Địa chỉ: 172.16.10.30 # 53 Bí danh: mail.desdelinux.fan là bí danh cho desdelinux.fan.
từ linux.fan có địa chỉ 172.16.10.10
thư desdelinux.fan được xử lý bởi 10 mail.desdelinux.fan.

Sự cố khi giải quyết cục bộ tên máy chủ "desdelinux.fan"

Nếu bạn gặp sự cố khi giải quyết tên máy chủ «fromlinux.fan" từ LAN, hãy thử bình luận dòng tệp /etc/dnsmasq.conf nơi nó được khai báo local = / from linux.fan /. Sau đó, khởi động lại Dnsmasq.

[root @ linuxbox ~] # nano /etc/dnsmasq.conf # Bình luận dòng bên dưới:
# local = / desdelinux.fan /

[root @ linuxbox ~] Khởi động lại # dịch vụ dnsmasq
Chuyển hướng đến / bin / systemctl khởi động lại dnsmasq.service

[root @ linuxbox ~] # trạng thái dnsmasq dịch vụ

[root @ linuxbox ~] # máy chủ từ linux.fan
desdelinux.fan có địa chỉ 172.16.10.10 Thư desdelinux.fan được xử lý bởi 10 mail.desdelinux.fan.

Postfix và Dovecot

Tài liệu rất phong phú về Postfix và Dovecot có thể được tìm thấy tại:

[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 ví dụ README_FILES TLS_LICENSE

[root @ linuxbox ~] # ls /usr/share/doc/dovecot-2.2.10/
CÁC TÁC GIẢ SAO CHÉP.MIT dovecot-openssl.cnf TIN TỨC wiki SAO CHÉP ChangeLog example-config README SAO CHÉP.LGPL document.txt mkcert.sh solr-schema.xml

Trong CentOS 7, Postfix MTA được cài đặt theo mặc định khi chúng tôi chọn tùy chọn của Máy chủ cơ sở hạ tầng. Chúng ta phải kiểm tra xem ngữ cảnh SELinux có cho phép ghi vào Potfix trong hàng đợi tin nhắn cục bộ hay không:

[root @ linuxbox ~] # getsebool -a | sửa lỗi grep
postfix_local_write_mail_spool -> on

Các sửa đổi trong FirewallD

Sử dụng giao diện đồ họa để định cấu hình FirewallD, chúng ta phải đảm bảo rằng các dịch vụ và cổng sau được bật cho từng Vùng:

# ------------------------------------------------- -----
# Bản sửa lỗi trong Tường lửaD
# ------------------------------------------------- -----
# Bức tường lửa
# Khu vực công cộng: Dịch vụ http, https, imap, pop3, smtp
# Khu công cộng: cổng 80, 443, 143, 110, 25

# Khu vực bên ngoài: Dịch vụ http, https, imap, pop3s, smtp
# Vùng bên ngoài: cổng 80, 443, 143, 995, 25

Chúng tôi cài đặt Dovecot và các chương trình cần thiết

[root @ linuxbox ~] # yum cài đặt dovecot mod_ssl procmail telnet

Cấu hình Dovecot tối thiểu

[root @ linuxbox ~] # nano /etc/dovecot/dovecot.conf
giao thức = imap pop3 lmtp
nghe = *, ::
login_greeting = Dovecot đã sẵn sàng!

Chúng tôi vô hiệu hóa rõ ràng xác thực bản rõ của Dovecot:

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

Chúng tôi tuyên bố Nhóm có các đặc quyền cần thiết để tương tác với Dovecot và vị trí của các tin nhắn:

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

Giấy chứng nhận cho Dovecot

Dovecot tự động tạo chứng chỉ kiểm tra của bạn dựa trên dữ liệu trong tệp /etc/pki/dovecot/dovecot-openssl.cnf. Để tạo chứng chỉ mới theo yêu cầu của chúng tôi, chúng tôi phải thực hiện các bước sau:

[root @ linuxbox ~] # cd / etc / pki / dovecot /
[root @ linuxbox dovecot] # nano dovecot-openssl.cnf
[req] default_bits = 1024 encode_key = yes difference_name = req_dn x509_extensions = cert_type prompt = no [req_dn] # country (2 ký tự mã) C = CU # Tên bang hoặc tỉnh (tên đầy đủ) ST = Cuba # Tên địa phương (ví dụ: thành phố ) L = Habana # Tổ chức (ví dụ: Công ty) O = FromLinux.Fan # Tên đơn vị tổ chức (ví dụ. Bộ phận) OU = Người đam mê # Tên chung (* .example.com cũng có thể) CN = *. Desdelinux.fan # E -mail liên hệ emailAddress=buzz@desdelinux.fan [cert_type] nsCertType = server

Chúng tôi loại bỏ chứng chỉ kiểm tra

[root @ linuxbox dovecot] # rm certs / dovecot.pem 
rm: xóa tệp thông thường "certs / dovecot.pem"? (y / n) y
[root @ linuxbox dovecot] # rm private / dovecot.pem 
rm: xóa tệp thông thường "private / dovecot.pem"? (y / n) y

Chúng tôi sao chép và thực thi tập lệnh mkcert.sh từ thư mục tài liệu

[root @ linuxbox dovecot] # cp /usr/share/doc/dovecot-2.2.10/mkcert.sh. [root @ linuxbox dovecot] # bash mkcert.sh 
Tạo khóa cá nhân RSA 1024 bit ...... ++++++ ................ ++++++ ghi khóa cá nhân mới vào '/ etc / pki / dovecot / private / dovecot.pem '----- subject = /C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN=*.desdelinux.fan/emailAddress= buzz@desdelinux.fan SHA1 Vân tay = 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 /
tổng 4 -rw -------. 1 gốc rễ 1029 22 tháng 16 08:XNUMX dovecot.pem
[root @ linuxbox dovecot] # ls -l riêng tư /
tổng 4 -rw -------. 1 gốc rễ 916 22 tháng 16 08:XNUMX dovecot.pem

[root @ linuxbox dovecot] Khởi động lại # dịch vụ dovecot
[root @ linuxbox dovecot] # trạng thái dovecot dịch vụ

Chứng chỉ cho 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 private / desdelinux.fan.key

Tạo khóa cá nhân RSA 4096 bit ......... ++ .. ++ viết khóa riêng mới vào 'private / domain.tld.key' ----- Bạn sắp được yêu cầu nhập thông tin sẽ được kết hợp vào yêu cầu chứng chỉ của bạn. Những gì bạn sắp nhập được gọi là Tên phân biệt hoặc DN. Có khá nhiều trường nhưng bạn có thể để trống Đối với một số trường sẽ có giá trị mặc định, Nếu bạn nhập '.', Trường sẽ được để trống. ----- Tên quốc gia (mã 2 chữ cái) [XX]: Tên Tiểu bang hoặc Tỉnh CU (tên đầy đủ) []: Tên địa phương Cuba (ví dụ: thành phố) [Thành phố mặc định]: Tên tổ chức Habana (ví dụ: công ty) [ Default Company Ltd]: desdeLinux.Fan Tên đơn vị tổ chức (ví dụ: section) []: Entusiasts Common Name (ví dụ: tên của bạn hoặc tên máy chủ của bạn) []: desdelinux.fan Địa chỉ Email []: buzz@desdelinux.fan

Cấu hình Postfix tối thiểu

Chúng tôi thêm vào cuối tệp / etc / aliases tiếp theo:

root: buzz

Để các thay đổi có hiệu lực, chúng tôi thực hiện lệnh sau:

[root @ linuxbox ~] # newaliases

Cấu hình Postifx có thể được thực hiện bằng cách chỉnh sửa trực tiếp tệp /etc/postfix/main.cf hoặc theo lệnh postconf -e lưu ý rằng tất cả các tham số mà chúng tôi muốn sửa đổi hoặc thêm được phản ánh trong một dòng duy nhất của bảng điều khiển:

  • Mỗi người phải khai báo các tùy chọn mà họ hiểu và cần!.
[root @ linuxbox ~] # postconf -e 'myhostname = desdelinux.fan'
[root @ linuxbox ~] # postconf -e 'mydomain = desdelinux.fan'
[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)'

Chúng tôi thêm vào cuối tệp /etc/postfix/main.cf các tùy chọn được đưa ra bên dưới. Để biết ý nghĩa của từng loại, chúng tôi khuyên bạn nên đọc tài liệu đi kèm.

biff = không
append_dot_mydomain = không
delay_warning_time = 4 giờ
readme_directory = không
smtpd_tls_cert_file = / etc / pki / certs / desdelinux.fan.crt
smtpd_tls_key_file = / etc / pki / private / desdelinux.fan.key
smtpd_use_tls = vâng
smtpd_tls_session_cache_database = btree: $ {data_directory} / smtpd_scache
smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache
smtpd_relay_restrictions = allow_mynetworks allow_sasl_authenticated defer_unauth_destination

# Kích thước hộp thư tối đa 1024 megabyte = 1 g và g
mailbox_size_limit = 1073741824

receiver_delimiter = +
maxal_queue_lifetime = 7ngày
header_checks = regexp: / etc / postfix / header_checks
body_checks = regexp: / etc / postfix / body_checks

# Tài khoản gửi bản sao thư đến đến tài khoản khác
receiver_bcc_maps = hash: / etc / postfix / account_ forwarding_copy

Các dòng sau rất quan trọng để xác định ai có thể gửi thư và chuyển tiếp đến các máy chủ khác, để chúng tôi không vô tình định cấu hình "chuyển tiếp mở" cho phép người dùng chưa được xác thực gửi thư. Chúng tôi phải tham khảo các trang trợ giúp Postfix để hiểu ý nghĩa của từng tùy chọn.

  • Mỗi người phải khai báo các tùy chọn mà họ hiểu và cần!.
smtpd_helo_restrictions = allow_mynetworks,
 warning_if_rejectject_non_fqdn_hostname,
 từ chối_invalid_hostname,
 Giấy phép

smtpd_sender_restrictions = allow_sasl_authenticated,
 allow_mynetworks,
 warning_if_rejectject_non_fqdn_sender,
 từ chối_unknown_sender_domain,
 từ chối_unauth_pipelining,
 Giấy phép

smtpd_client_restrictions = allow_rbl_client sbl.spamhaus.org,
 từ chối_rbl_client blackholes.easynet.nl

# LƯU Ý: Tùy chọn "check_policy_service inet: 127.0.0.1: 10023"
# kích hoạt chương trình Postgrey và chúng tôi không nên đưa nó vào
# nếu không, chúng tôi sẽ sử dụng Postgrey

smtpd_recipient_restrictions = allow_unauth_pipelining,
 allow_mynetworks,
 allow_sasl_authenticated,
 từ chối_non_fqdn_recipient,
 từ chối_unknown_recipient_domain,
 từ chối_unauth_destination,
 check_policy_service inet: 127.0.0.1: 10023,
 Giấy phép

smtpd_data_restrictions = allow_unauth_pipelining

smtpd_relay_restrictions = allow_unauth_pipelining,
 allow_mynetworks,
 allow_sasl_authenticated,
 từ chối_non_fqdn_recipient,
 từ chối_unknown_recipient_domain,
 từ chối_unauth_destination,
 check_policy_service inet: 127.0.0.1: 10023,
 Giấy phép
 
smtpd_helo_required = vâng
smtpd_delay_reject = vâng
disable_vrfy_command = yes

Chúng tôi tạo các tệp / etc / postfix / body_checks y / etc / postfix / account_osysteming_copyvà chúng tôi sửa đổi tệp / etc / postfix / header_checks.

  • Mỗi người phải khai báo các tùy chọn mà họ hiểu và cần!.
[root @ linuxbox ~] # nano / etc / postfix / body_checks
# Nếu tệp này được sửa đổi, không cần # chạy postmap # Để kiểm tra các quy tắc, hãy chạy dưới quyền root: # postmap -q 'siêu mới v1agra' regexp: / etc / postfix / body_checks
# Nên quay lại: # Nội dung thư chống thư rác quy tắc từ chối # 2
/ viagra / REJECT Rule # 1 Chống Spam nội dung thư
/ super new v [i1] agra / REJECT Rule # 2 Chống Spam nội dung thư

[root @ linuxbox ~] # nano / etc / postfix / account_osysteming_copy
# Sau khi sửa đổi, bạn phải thực hiện: # postmap / etc / postfix / account_ forwarding_copy
# và tệp được tạo hoặc đo lường: # /etc/postfix/accounts_nticing_copy.db
# ------------------------------------------ # Một tài khoản duy nhất để chuyển tiếp một tài khoản BCC copy # BCC = Black Carbon Copy # Ví dụ: # webadmin@desdelinux.fan buzz@desdelinux.fan

[root @ linuxbox ~] # postmap / etc / postfix / account_ forwarding_copy

[root @ linuxbox ~] # nano / etc / postfix / header_checks
# Thêm vào cuối tệp # KHÔNG YÊU CẦU Postmap vì chúng là Biểu thức chính quy
/ ^ Chủ đề: =? Big5? / REJECT Mã hóa tiếng Trung không được máy chủ này chấp nhận
/ ^ Chủ đề: =? EUC-KR? / REJECT Mã hóa tiếng Hàn không được máy chủ này cho phép
/ ^ Chủ đề: ADV: / REJECT Quảng cáo không được máy chủ này chấp nhận
/^From:.*\@.*\.cn/ TỪ CHỐI Xin lỗi, thư tiếng Trung không được phép ở đây
/^From:.*\@.*\.kr/ TỪ CHỐI Xin lỗi, thư tiếng Hàn không được phép ở đây
/^From:.*\@.*\.tr/ TỪ CHỐI Xin lỗi, thư tiếng Thổ Nhĩ Kỳ không được phép ở đây
/^From:.*\@.*\.ro/ TỪ CHỐI Xin lỗi, thư bằng tiếng Rumani không được phép ở đây
/^(Receive|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 / TỪ CHỐI Không cho phép gửi thư hàng loạt.
/ ^ Từ: "spammer / REJECT
/ ^ Từ: "spam / REJECT
/^Subject:.*viagra/ TIẾT KIỆM
# Tiện ích mở rộng nguy hiểm
/ name = [^> Iluminación * \. (bat | cmd | exe | com | pif | reg | scr | vb | vbe | vbs) / TỪ CHỐI Chúng tôi không chấp nhận các tệp đính kèm có các phần mở rộng này

Chúng tôi kiểm tra cú pháp, khởi động lại Apache và Postifx, bật và khởi động Dovecot

[root @ linuxbox ~] # kiểm tra bản sửa lỗi
[root @ linuxbox ~] #

[root @ linuxbox ~] # systemctl khởi động lại httpd
[root @ linuxbox ~] # trạng thái systemctl httpd

[root @ linuxbox ~] # systemctl khởi động lại postfix
[root @ linuxbox ~] # postfix trạng thái systemctl

[root @ linuxbox ~] # systemctl status dovecot
● dovecot.service - Máy chủ email Dovecot IMAP / POP3 Đã tải: đã tải (/usr/lib/systemd/system/dovecot.service; bị vô hiệu hóa; đặt trước của nhà cung cấp: bị vô hiệu hóa) Đang hoạt động: không hoạt động (đã chết)

[root @ linuxbox ~] # systemctl bật dovecot
[root @ linuxbox ~] # systemctl start dovecot
[root @ linuxbox ~] # systemctl khởi động lại dovecot
[root @ linuxbox ~] # systemctl status dovecot

Kiểm tra cấp bảng điều khiển

  • Điều rất quan trọng là trước khi tiếp tục cài đặt và cấu hình các chương trình khác, phải thực hiện các kiểm tra cần thiết tối thiểu của các dịch vụ SMTP và POP.

Cục bộ từ chính máy chủ

Chúng tôi gửi một email đến người dùng địa phương Legolas.

[root @ linuxbox ~] # echo "Xin chào. Đây là thư thử nghiệm" | mail -s "Thử nghiệm" legolas

Chúng tôi kiểm tra hộp thư của Legolas.

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

Sau tin nhắn Dovecot đã sẵn sàng! chúng tôi tiến hành:

---
+ OK Dovecot đã sẵn sàng!
USER legolas + OK PASS legolas + OK Đã đăng nhập. STAT + OK 1 DANH SÁCH 559 + OK 1 tin nhắn: 1 559. RETR 1 + OK 559 octet Đường dẫn trở lại: X-Original-To: legolas Đã gửi đến: legolas@desdelinux.fan Đã nhận: bởi desdelinux.fan (Postfix, từ userid 0) id 7EA22C11FC57; Thứ 22, ngày 2017 tháng 10 năm 47 10:0400:22 -2017 (EDT) Ngày: Thứ hai, ngày 10 tháng 47 năm 10 0400:12.5:7 -5 Tới: legolas@desdelinux.fan Chủ đề: Kiểm tra tác nhân người dùng: Thư gia truyềnx 10 1.0/7 / 20170522144710.7 MIME-Phiên bản: 22 Nội dung-Loại: văn bản / đơn giản; charset = us-ascii Content-Transfer-Encoding: 11bit Message-Id: <57EAXNUMXCXNUMXFCXNUMX@desdelinux.fan> Từ: root@desdelinux.fan (root) Xin chào. Đây là một tin nhắn thử nghiệm. QUIT DONE
[root @ linuxbox ~] #

Điều khiển từ một máy tính trong mạng LAN

Hãy gửi một tin nhắn khác tới Legolas từ một máy tính khác trong mạng LAN. Lưu ý rằng bảo mật TLS KHÔNG hoàn toàn cần thiết trong Mạng SME.

buzz @ sysadmin: ~ $ sendemail -f buzz@deslinux.fan \
-t legolas@desdelinux.fan \
-u "Xin chào" \
-m "Xin chào Legolas từ bạn của bạn Buzz" \
-s mail.desdelinux.fan -o tls = không
22 tháng 10 53:08:5866 sysadmin sendemail [XNUMX]: Email đã được gửi thành công!

Nếu chúng tôi cố gắng kết nối thông qua telnet Từ một máy chủ trên mạng LAN - tất nhiên là từ Internet - đến Dovecot, những điều sau sẽ xảy ra vì chúng tôi vô hiệu hóa xác thực bản rõ:

buzz @ sysadmin: ~ $ telnet mail.fromlinux.fan 110 Đang thử 192.168.10.5 ...
Đã kết nối với linuxbox.fromlinux.fan. Ký tự thoát là '^]'. + OK Dovecot đã sẵn sàng! người dùng Legolas
-ERR [AUTH] Xác thực bản rõ không được phép trên các kết nối không an toàn (SSL / TLS).
thoát + OK Đăng xuất Kết nối bị đóng bởi máy chủ nước ngoài.
buzz @ sysadmin: ~ $

Chúng ta phải làm điều đó thông qua openssl. Đầu ra hoàn chỉnh của lệnh sẽ là:

buzz @ sysadmin: ~ $ openssl s_client -crlf -connect mail.fromlinux.fan:110 -starttls pop3
LIÊN QUAN (00000003)
deep = 0 C = CU, ST = Cuba, L = Havana, O = FromLinux.Fan, OU = Người say mê, CN = * .fromlinux.fan, emailAddress = buzz@desdelinux.fan
xác minh lỗi: num = 18: chứng chỉ tự ký xác minh trả về: 1
deep = 0 C = CU, ST = Cuba, L = Havana, O = FromLinux.Fan, OU = E say mê, CN = * .fromlinux.fan, emailAddress = buzz@fromlinux.fan xác minh trả về: 1
--- Chuỗi chứng chỉ 0 s: /C=CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN = *. Desdelinux.fan/emailAddress=buzz@desdelinux.fan i: / C =CU/ST=Cuba/L=Habana/O=DesdeLinux.Fan/OU=Entusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan --- Chứng chỉ máy chủ ----- BEGIN CHỨNG NHẬN-- --- MIICyzCCAjSgAwIBAgIJAKUHI / 2ZD + MeMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD VQQGEwJDVTENMAsGA1UECBMEQ3ViYTEPMA0GA1UEBxMGSGFiYW5hMRcwFQYDVQQK Ew5EZXNkZUxpbnV4LkZhbjEUMBIGA1UECxMLRW50dXNpYXN0YXMxGTAXBgNVBAMU ECouZGVzZGVsaW51eC5mYW4xIjAgBgkqhkiG9w0BCQEWE2J1enpAZGVzZGVsaW51 eC5mYW4wHhcNMTcwNTIyMjAwODEwWhcNMTgwNTIyMjAwODEwWjCBmzELMAkGA1UE BhMCQ1UxDTALBgNVBAgTBEN1YmExDzANBgNVBAcTBkhhYmFuYTEXMBUGA1UEChMO RGVzZGVMaW51eC5GYW4xFDASBgNVBAsTC0VudHVzaWFzdGFzMRkwFwYDVQQDFBAq LmRlc2RlbGludXguZmFuMSIwIAYJKoZIhvcNAQkBFhNidXp6QGRlc2RlbGludXgu ZmFuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7wckAiNNfYSz5hdePzKuZ BNK m2MMuhGDvwrDSPDEcVutznbZSgJ9bvTo445TR + + + nBmqxzJbpc OZ80lujS2hP XR7E9eWIXxr4fP4HpRrCA8NxlthEsapVMSHW + lnPBqF2b / Bt2eYyR7g JhtlP6gRG V57MmgL8BdYAJLvxqxDIxQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMCBkAwDQYJ KoZIhvcNAQEFBQADgYEAAuYU1nIXTbXtddW + QkLskum7ESryHZonKOCelfn2vnRl 8oAgHg7Hbtg / e6sR / W9m3DObP5DEp3lolKKIKor7ugxtfA4PBtmgizddfDKKMDql LT + MV5 / DP1pjQbxTsaLlZfveNxfLRHkQY13asePy4fYJFOIZ4OojDEGQ6 / VQBI8 = ----- ----- END CERTIFICATE chủ đề = / C = CU / ST = Cuba / L = Havana / O = DesdeLinux.Fan /OU=Entusiasts/CN=*.desdelinux.fan/emailAddress=buzz@desdelinux.fan nhà phát hành = / C = CU / ST = Cuba / L = Habana / O = DesdeLinux.Fan / OU = Entusiasts / CN = *. Desdelinux .fan / emailAddress = buzz @ desdelinux.fan --- Không có chứng chỉ ứng dụng khách nào tên CA được gửi Khóa tạm thời của máy chủ: ECDH, secp384r1, 384 bit --- SSL bắt tay đã đọc 1342 byte và ghi 411 byte --- Mới, TLSv1 / SSLv3 , Mật mã là ECDHE-RSA-AES256-GCM-SHA384 Khóa công khai của máy chủ là 1024 bit Bảo mật Gia hạn được hỗ trợ Nén: NONE Mở rộng: NONE SSL-Phiên: Giao thức: TLSv1.2 Mật mã: ECDHE-RSA-AES256-GCM-SHA384 Phiên- ID: C745B4A0236204E16234CB15DC9CDBC3D084125FF5989F5DB6C5295BF4E2D73A Session-ID-ctx: Master-Key : 1904D204C564B76361CEA50373F8879AF793AF7D7506C04473777F6F3503A9FD919CD1F837BC67BFF29E309F352526F5 Khóa-Arg: Không krb5 chính: Không PSK 300 sắc: Không sắc PSK gợi ý: HS 0000F4F3A8FD29CD7F4BC63BFF72E7F6F4 Khóa-Arg: Không krb7 chính: Không 1 PSK sắc: sắc Không PSK gợi ý: HS XNUMX TLS phiên XNUMX giây XNUMX f Nonec phiên vé XNUMX XNUMX f XNUMX giây XNUMX FXNUMXFXNUMX vé ec XNUMXe XNUMXc 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 ...... h ... 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 de 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 ..... <.

+ OK Dovecot đã sẵn sàng!
USER Legolas
+ OK
PASS legolas
+ OK Đã đăng nhập.
DANH SÁCH
+ OK 1 tin nhắn: 1 1021.
RETR 1
+ OK 1021 octet Return-Path: X-Original-To: legolas@desdelinux.fan Đã gửi-Đến: legolas@desdelinux.fan Đã nhận: từ sysadmin.desdelinux.fan (gateway [172.16.10.1]) bởi desdelinux.fan (Postfix) với ESMTP id 51886C11E8C0 cho ; Thứ Hai, ngày 22 tháng 2017 năm 15 09:11:0400 -919362.931369932 (EDT) ID tin nhắn: <22-sendEmail@sysadmin> Từ: "buzz@deslinux.fan" Tới: "legolas@desdelinux.fan" Chủ đề: Xin chào Ngày: Thứ Hai, ngày 2017 tháng 19 năm 09 11:0000:1.56 +1.0 X-Mailer: sendEmail-365707.724894495 MIME-Phiên bản: 1.0 Nội dung-Loại: nhiều phần / liên quan; ranh giới = "---- Dấu phân cách MIME cho sendEmail-365707.724894495" Đây là một thư gồm nhiều phần ở định dạng MIME. Để hiển thị đúng thông báo này, bạn cần có chương trình Email tương thích MIME-Phiên bản 8859. ------ Dấu phân cách MIME cho sendEmail-1 Nội dung-Loại: văn bản / đơn giản; charset = "iso-7-365707.724894495" Nội dung-Chuyển-Mã hoá: XNUMXbit Lời chào Legolas từ bạn bè của bạn Buzz ------ Dấu phân cách MIME cho sendEmail-XNUMX--.
QUIT
+ OK Đăng xuất. đóng cửa
buzz @ sysadmin: ~ $

Thư sóc

Thư sóc là một ứng dụng web được viết hoàn toàn bằng PHP. Nó bao gồm hỗ trợ PHP bản địa cho các giao thức IMAP và SMTP, đồng thời cung cấp khả năng tương thích tối đa với các trình duyệt khác nhau đang được sử dụng. Nó chạy chính xác trên bất kỳ máy chủ IMAP nào. Nó có tất cả các chức năng mà bạn cần từ một ứng dụng email bao gồm hỗ trợ MIME, sổ địa chỉ và quản lý thư mục.

[root @ linuxbox ~] # yum cài đặt squirrelmail
[root @ linuxbox ~] # dịch vụ httpd khởi động lại

[root @ linuxbox ~] # nano /etc/squirrelmail/config.php
$ domain = 'desdelinux.fan';
$ imapServerAddress = 'mail.fromlinux.fan';
$ imapPort = 143;
$ smtpServerAddress = 'desdelinux.fan';

[root @ linuxbox ~] Tải lại # dịch vụ httpd

Khung chính sách gửi DNS hoặc bản ghi SPF

Trong bài báo Máy chủ DNS độc quyền NSD + Tường lửa Chúng tôi thấy rằng Vùng "desdelinux.fan" được định cấu hình như sau:

root @ ns: ~ # nano /etc/nsd/desdelinux.fan.zone
$ ORIGIN từ linux.fan. $ TTL 3H @ TRONG SOA ns.fromlinux.fan. root.fromlinux.fan. (1; nối tiếp 1D; làm mới 1H; thử lại 1W; hết hạn 3H); tối thiểu hoặc; Thời gian tồn tại của bộ nhớ đệm âm; @ TRONG NS ns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan.
@ TRONG TXT "v = spf1 a: mail.desdelinux.fan -all"
; ; Ghi nhật ký để giải quyết các truy vấn đào từ linux.fan @ IN A 172.16.10.10; ns IN A 172.16.10.30 mail IN CNAME từ linux.fan. trò chuyện TRONG CNAME từ linux.fan. www TRONG CNAME từ linux.fan. ; ; Bản ghi SRV liên quan đến XMPP
_xmpp-server._tcp IN SRV 0 0 5269 từ linux.fan. _xmpp-client._tcp IN SRV 0 0 5222 từ linux.fan. _jabber._tcp IN SRV 0 0 5269 từ linux.fan.

Trong đó sổ đăng ký được khai báo:

@ TRONG TXT "v = spf1 a: mail.desdelinux.fan -all"

Để có cùng một tham số được định cấu hình cho Mạng SME hoặc LAN, chúng ta phải sửa đổi tệp cấu hình Dnsmasq như sau:

# Bản ghi TXT. Chúng ta cũng có thể khai báo một bản ghi SPF txt-record = desdelinux.fan, "v = spf1 a: mail.desdelinux.fan -all"

Sau đó, chúng tôi khởi động lại dịch vụ:

[root @ linuxbox ~] Khởi động lại # dịch vụ dnsmasq
[root @ linuxbox ~] # service dnsmasq status [root @ linuxbox ~] # host -t TXT mail.fromlinux.fan mail.fromlinux.fan là bí danh cho fromlinux.fan. desdelinux.fan văn bản mô tả "v = spf1 a: mail.desdelinux.fan -all"

Chứng chỉ tự ký và Apache hoặc httpd

Ngay cả khi trình duyệt của bạn cho bạn biết rằng «Chủ sở hữu của mail.fromlinux.fan Bạn đã định cấu hình trang web của mình không chính xác. Để ngăn thông tin của bạn bị đánh cắp, Firefox đã không kết nối với trang web này ”, chứng chỉ được tạo trước đó NÓ HỢP LỆvà sẽ cho phép thông tin đăng nhập giữa máy khách và máy chủ được mã hóa sau khi chúng tôi chấp nhận chứng chỉ.

Nếu bạn muốn, và như một cách để thống nhất các chứng chỉ, bạn có thể khai báo cho Apache chính các chứng chỉ mà bạn đã khai báo cho Postfix, điều này là chính xác.

[root @ linuxbox ~] # nano /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/fromlinux.fan.crt
SSLCertificateKeyFile /etc/pki/tls/private/fromlinux.fan.key

[root @ linuxbox ~] # dịch vụ httpd khởi động lại
[root @ linuxbox ~] # trạng thái httpd dịch vụ

Nhóm Diffie-Hellman

Chủ đề An ninh trở nên khó hơn mỗi ngày trên Internet. Một trong những cuộc tấn công phổ biến nhất vào các kết nối SSL, là anh ấy logjam và để chống lại nó, cần phải thêm các tham số không chuẩn vào cấu hình SSL. Đối với điều này có RFC-3526 «Thêm theo cấp số nhân mô-đun (MODP) Diffie – Hellman nhóm cho Internet Key Exchange (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

Theo phiên bản Apache mà chúng tôi đã cài đặt, chúng tôi sẽ sử dụng Nhóm Diffie-Helman từ tệp /etc/pki/tls/dhparams.pem. Nếu đó là phiên bản 2.4.8 trở lên, thì chúng tôi sẽ phải thêm vào tệp /etc/httpd/conf.d/ssl.conf dòng sau:

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

Phiên bản Apache mà chúng tôi đang sử dụng là:

[root @ linuxbox tls] # yum thông tin httpd
Các plugin đã tải: quickmirror, langpacks Đang tải tốc độ nhân bản từ hostfile được lưu trong bộ nhớ cache Các gói đã cài đặt Tên: httpd Kiến trúc: x86_64
Phiên bản: 2.4.6
Bản phát hành: 45.el7.centos Kích thước: 9.4 M Kho lưu trữ: đã cài đặt Từ kho: Cơ sở-Kho Tóm tắt: Apache HTTP Server URL: http://httpd.apache.org/ Giấy phép: ASL 2.0 Mô tả: Apache HTTP Server là một mạnh mẽ, hiệu quả và có thể mở rộng: máy chủ web.

Vì chúng tôi có phiên bản trước 2.4.8, chúng tôi thêm vào cuối chứng chỉ CRT đã tạo trước đó, nội dung của Nhóm Diffie-Helman:

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

Nếu bạn muốn kiểm tra xem các tham số DH đã được thêm đúng vào chứng chỉ CRT chưa, hãy chạy các lệnh sau:

[root @ linuxbox tls] # cat private / dhparams.pem 
----- BẮT ĐẦU CÁC THÔNG SỐ DH -----
MIIBCAKCAQEAnwfWSlirEuMwJft0hgAdB0km9d3qGGiErRXPfeZU+Tqp/ZFOCdzP
/O6NeXuHI4vnsTDWEAjXmpRzq/z1ZEWQa6j+l1PgTgk2XqaMViD/gN+sFPnx2EmV
keVcMDqG03gnmCgO9R4aLYT8uts5T6kBRhvxUcrk9Q7hIpGCzGtdgwaVf1cbvgOe
8kfpc5COh9IxAYahmNt+5pBta0SDlmoDz4Rk/4AFXk2mjpDYoizaYMPeIInGUzOv
/LE6Y7VVRY/BJG9EZ5pVYJPCruPCUHkhvm+r9Tt56slk+HE2d52uFRSDd2FxK3n3
cN1vJ5ogsvmHayWUjVUA18LLfGSxEFsc4wIBAg==
----- HẾT THAM SỐ DH -----

[root @ linuxbox tls] # cat certs / 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==
----- HẾT THAM SỐ DH -----

Sau những thay đổi này, chúng tôi phải khởi động lại dịch vụ Postfix và httpd:

[root @ linuxbox tls] Khởi động lại # dịch vụ postfix
[root @ linuxbox tls] # trạng thái postfix dịch vụ
[root @ linuxbox tls] # dịch vụ httpd khởi động lại
[root @ linuxbox tls] # trạng thái httpd dịch vụ

Việc đưa Nhóm Diffie-Helman vào chứng chỉ TLS của chúng tôi có thể khiến kết nối qua HTTPS chậm hơn một chút, nhưng việc bổ sung bảo mật là rất xứng đáng.

Kiểm tra thư sóc

SAU ĐÓ rằng các chứng chỉ được tạo chính xác và chúng tôi xác minh hoạt động chính xác của chúng như chúng tôi đã làm thông qua các lệnh bảng điều khiển, hãy trỏ trình duyệt ưa thích của bạn đến URL http://mail.desdelinux.fan/webmail và nó sẽ kết nối với máy khách web sau khi chấp nhận chứng chỉ tương ứng. Lưu ý rằng, ngay cả khi bạn chỉ định giao thức HTTP, nó sẽ được chuyển hướng đến HTTPS và điều này là do cài đặt mặc định mà CentOS cung cấp cho Squirrelmail. Xem tập tin /etc/httpd/conf.d/squirrelmail.conf.

Giới thiệu về hộp thư của người dùng

Dovecot tạo các hộp thư IMAP trong thư mục nhà của mỗi người dùng:

[root @ linuxbox ~] # ls -la /home/legolas/mail/.imap/
tổng 12 drwxrwx ---. 5 legolas mail 4096 ngày 22 tháng 12 39:3. drwx ------. 75 legolas legolas 22 ngày 11 tháng 34 1:72 .. -rw -------. 22 legolas legolas 11 Ngày 34 tháng 1 8:22 dovecot.mailbox.log -rw -------. 12 legolas legolas 39 ngày 1 tháng 0 22:10 dovecot-uidvalidity -r - r - r--. 12 legolas legolas 5922 1 tháng 1 2:56 dovecot-uidvalidity.22f10d23 drwxrwx ---. 2 legolas mail 56 22 tháng 12 39:2 INBOX drwx ------. 30 legolas legolas 22 Ngày 11 tháng 34 XNUMX:XNUMX Đã gửi drwx ------. XNUMX legolas legolas XNUMX ngày XNUMX tháng XNUMX XNUMX:XNUMX Thùng rác

Chúng cũng được lưu trữ trong / var / mail /

[root @ linuxbox ~] # less / var / mail / legolas
Từ MAILER_DAEMON Thứ Hai 22 tháng 10 28:00:2017 22 Ngày: Thứ Hai, 2017 tháng 10, 28 00:0400:1495463280 -1495462351 Từ: Dữ liệu nội bộ của Hệ thống Thư Chủ đề: ĐỪNG XÓA TIN NHẮN NÀY - THƯ MỤC DỮ LIỆU NỘI BỘ ID Thư: <0000000008 @ linuxbox> X-IMAP: 22 10 Trạng thái: RO Văn bản này là một phần của định dạng nội bộ của thư mục thư của bạn và không phải là thư thực . Nó được tạo tự động bởi phần mềm hệ thống thư. Nếu bị xóa, dữ liệu thư mục quan trọng sẽ bị mất và nó sẽ được tạo lại với dữ liệu được đặt lại về giá trị ban đầu. Từ root@desdelinux.fan Thứ Hai ngày 47 tháng 10 2017:0:7 Năm 22 Đường dẫn trở lại: X-Original-To: legolas Đã gửi đến: legolas@desdelinux.fan Đã nhận: bởi desdelinux.fan (Postfix, từ userid 11) id 57EA22C2017FC10; Thứ 47, ngày 10 tháng 0400 năm 22 2017:10:47 -10 (EDT) Ngày: Thứ hai, ngày 0400 tháng 12.5 năm 7 5:10:1.0 -7 Tới: legolas@desdelinux.fan Chủ đề: Thử nghiệm tác nhân người dùng: Thư gia truyềnx 20170522144710.7 22/11 / 57 MIME-Phiên bản: 7 Nội dung-Loại: văn bản / đơn giản; charset = us-ascii Content-Transfer-Encoding: 22bit Message-Id: <10EA53C08FC2017@desdelinux.fan> From: root@desdelinux.fan (root) X-UID: 172.16.10.1 Trạng thái: RO Xin chào. Đây là tin nhắn thử nghiệm Từ buzz@deslinux.fan Thứ Hai ngày 184 tháng 11 57:22:2017 10 Return-Path: X-Original-To: legolas@desdelinux.fan Đã gửi-Đến: legolas@desdelinux.fan Đã nhận: từ sysadmin.desdelinux.fan (gateway [53]) bởi desdelinux.fan (Postfix) với ESMTP id C08DC0400FC739874.219379516 cho ; Thứ Hai, ngày 22 tháng 2017 năm 14 53:08:0000 -1.56 (EDT) ID tin nhắn: <1.0-sendEmail@sysadmin> Từ: "buzz@deslinux.fan" Tới: "legolas@desdelinux.fan" Chủ đề: Xin chào Ngày: Thứ Hai, ngày 794889.899510057 tháng XNUMX năm XNUMX XNUMX:XNUMX:XNUMX +XNUMX X-Mailer: sendEmail-XNUMX MIME-Phiên bản: XNUMX Loại-Nội dung: nhiều phần / liên quan; ranh giới = "---- Dấu phân cách MIME cho sendEmail-XNUMX
/ var / mail / legolas

Tóm tắt các miniseries PAM

Chúng tôi đã xem xét cốt lõi của Mailserver và nhấn mạnh một chút vào bảo mật. Chúng tôi hy vọng rằng bài viết đóng vai trò là một Điểm vào cho một chủ đề phức tạp và dễ mắc phải sai lầm vì nó là việc triển khai Máy chủ Thư theo cách thủ công.

Chúng tôi sử dụng xác thực người dùng cục bộ vì nếu chúng tôi đọc đúng tệp /etc/dovecot/conf.d/10-auth.conf, chúng ta sẽ thấy rằng cuối cùng thì nó được bao gồm -theo mặc định- tệp xác thực của người dùng hệ thống ! include auth-system.conf.ext. Chính xác thì tệp này cho chúng ta biết trong tiêu đề của nó rằng:

[root @ linuxbox ~] # less /etc/dovecot/conf.d/auth-system.conf.ext
# Xác thực cho người dùng hệ thống. Bao gồm từ 10-auth.conf. # # # # Xác thực PAM. Được ưa chuộng hiện nay bởi hầu hết các hệ thống.
# PAM thường được sử dụng với mật khẩu userdb hoặc userdb tĩnh. # NHỚ: Bạn sẽ cần tệp /etc/pam.d/dovecot được tạo để xác thực PAM # thực sự hoạt động. passdb {driver = pam # [session = yes] [setcred = yes] [fail_show_msg = yes] [max_requests = ] # [cache_key = ] [ ] #args = dovecot}

Và tệp khác tồn tại /etc/pam.d/dovecot:

[root @ linuxbox ~] # cat /etc/pam.d/dovecot 
#% PAM-1.0 auth yêu cầu pam_nologin.so auth bao gồm mật khẩu-auth tài khoản bao gồm mật khẩu-auth phiên bao gồm mật khẩu-auth

Chúng tôi đang cố gắng truyền đạt điều gì về xác thực PAM?

  • CentOS, Debian, Ubuntu và nhiều bản phân phối Linux khác cài đặt Postifx và Dovecot với xác thực cục bộ được bật theo mặc định.
  • Nhiều bài báo trên Internet sử dụng MySQL - và gần đây là MariaDB - để lưu trữ người dùng và các dữ liệu khác liên quan đến Mailserver. NHƯNG đây là những máy chủ dành cho HÀNG NGÀN NGƯỜI DÙNG chứ không phải dành cho một Mạng SME cổ điển với - có lẽ - hàng trăm người dùng.
  • Xác thực thông qua PAM là cần thiết và đủ để cung cấp dịch vụ mạng miễn là chúng chạy trên một máy chủ duy nhất như chúng ta đã thấy trong miniseries này.
  • Người dùng được lưu trữ trong cơ sở dữ liệu LDAP có thể được ánh xạ như thể họ là người dùng cục bộ và xác thực PAM có thể được sử dụng để cung cấp dịch vụ mạng từ các máy chủ Linux khác nhau hoạt động như máy khách LDAP đến máy chủ xác thực trung tâm. Theo cách này, chúng tôi sẽ làm việc với thông tin đăng nhập của người dùng được lưu trữ trong cơ sở dữ liệu của máy chủ LDAP trung tâm và sẽ KHÔNG cần thiết phải duy trì cơ sở dữ liệu với người dùng cục bộ.

Cho đến cuộc phiêu lưu tiếp theo!


Nội dung bài viết tuân thủ các nguyên tắc của chúng tôi về đạo đức biên tập. Để báo lỗi, hãy nhấp vào đây.

9 bình luận, để lại của bạn

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố.

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   con thằn lằn dijo

    Hãy tin tôi rằng trong thực tế, đây là một quá trình khiến nhiều hơn một sysadmin đau đầu nghiêm trọng, tôi tin rằng trong tương lai, nó sẽ là một hướng dẫn tham khảo cho bất kỳ ai muốn quản lý email của riêng mình, một trường hợp thực tế trong abc khi tích hợp postfix, dovecot, squirrelmail ..

    Cảm ơn bạn rất nhiều vì đóng góp đáng khen ngợi của bạn,

  2.   Darko dijo

    Tại sao không sử dụng Mailpile, khi nói đến bảo mật, với PGP? Ngoài ra Roundcube có giao diện trực quan hơn nhiều và cũng có thể tích hợp PGP.

  3.   một giống én dijo

    Cách đây 3 ngày em đọc được bài, em biết cảm ơn anh. Tôi không có kế hoạch cài đặt một máy chủ thư nhưng luôn hữu ích khi thấy việc tạo chứng chỉ, hữu ích cho các ứng dụng khác và những hướng dẫn này hầu như không hết hạn (đặc biệt là khi bạn sử dụng centOS).

  4.   Federico dijo

    Manuel Cillero: Cảm ơn bạn đã liên kết đến và từ blog của bạn, bài viết này là cốt lõi tối thiểu của một máy chủ thư dựa trên Postfix và Dovecot.

    Lizard: Như mọi khi, đánh giá của bạn rất được chú ý. Cảm ơn bạn.

    Darko: Trong hầu hết các bài viết của mình, tôi ít nhiều bày tỏ rằng "Mọi người đều triển khai các dịch vụ với các chương trình mà họ thích nhất." Cảm ơn vì đã bình luận.

    Martin: Cảm ơn bạn cũng đã đọc bài báo và tôi hy vọng nó sẽ giúp ích cho bạn trong công việc.

  5.   Zodiac Carburus dijo

    Người bạn có bài viết tuyệt vời Federico. Cảm ơn bạn rất nhiều cho một hướng dẫn tốt như vậy.

  6.   bắn cung dijo

    tuyệt vời mặc dù tôi sẽ sử dụng "người dùng ảo" để tránh tạo người dùng hệ thống mỗi khi tôi thêm email, cảm ơn tôi đã học được rất nhiều điều mới và đây là loại bài đăng mà tôi đang chờ đợi

  7.   Willinton Acevedo Rueda dijo

    Chào buổi chiều,

    Họ dám làm điều tương tự với máy chủ thư mục fedora + postifx + dovecot + sấm sét hoặc triển vọng.

    Mình có một phần nhưng còn vướng mắc, rất vui lòng chia sẻ tài liệu đến cộng đồng @desdelinux

  8.   phico dijo

    Tôi không tưởng tượng rằng nó sẽ đạt hơn 3000 lượt truy cập !!!

    Chào Lizard!

  9.   cuối cùng dijo

    Đồng nghiệp hướng dẫn xuất sắc.
    Bạn có thể làm điều đó cho Debian 10 với người dùng Active Directory được gắn trên Samba4 không ???
    Tôi tưởng tượng nó sẽ gần giống như vậy nhưng thay đổi kiểu xác thực.
    Phần mà bạn dành để tạo chứng chỉ tự ký rất thú vị.

bool (đúng)