BLOG BKHOST / Email Google Apps / Mail server Linux-Cài đặt, bảo mật, truy cập và cấu hình

Mail server Linux-Cài đặt, bảo mật, truy cập và cấu hình

Dịch vụ email online cho doanh nghiệp thường được cài đặt trên một mail server và gắn với tên miền riêng của doanh nghiệp hoặc tổ chức đó. Vậy làm thế nào để cài đặt một mail server? Bài viết này giới thiệu một giải pháp mail server linux miễn phí trên nền tảng linux.

Linux máy chủ thư

Linux máy chủ thư

Máy chủ Mail server Linux SMTP

SMTP xác định cách thư được gửi từ máy chủ này đến máy chủ khác, nó cũng là hệ thống độc lập, có nghĩa là người gửi và người nhận có thể có các hệ điều hành khác nhau.

SMTP chỉ yêu cầu một máy chủ có thể gửi văn bản ASCII thẳng đến một máy chủ khác, và điều này được thực hiện bằng cách kết nối với máy chủ trên cổng 25 là cổng SMTP chuẩn.

Hầu hết các bản phân phối Linux ngày nay được vận chuyển với hai trong số các triển khai phổ biến nhất của SMTP là sendmail và Postfix .

Sendmail là một máy chủ mail nổi tiếng và miễn phí, nhưng nó có một thiết kế phức tạp và ít an toàn hơn.

Postfix đã thực hiện máy chủ mail một bước xa hơn, nó đã được phát triển với bảo mật trong tâm trí.

Hướng dẫn cách check mail server  chi tiết nhất.

Mail server outlook là hệ thống mail gì?

Thành phần dịch vụ thư

Dịch vụ thư trên bất kỳ máy chủ thư nào có ba thành phần:

  • Tác nhân người dùng thư (MUA): thành phần này mà người dùng nhìn thấy và tương tác với như Thunderbird và Microsoft Outlook, các tác nhân người dùng này chịu trách nhiệm đọc thư và cho phép bạn soạn thư.
  • Tác nhân chuyển thư (MTA): thành phần này chịu trách nhiệm nhận thư từ trang này đến trang khác như Sendmail và Postfix.
  • Tác nhân gửi thư (MDA): thành phần này chịu trách nhiệm phân phối các thư đã nhận trên máy cục bộ tới hộp thư người dùng thích hợp như postfix-maildrop và Procmail.

Thiết lập máy chủ email

Chúng tôi đã chọn máy chủ thư Postfix, rất phổ biến và phổ biến trong số các quản trị viên hệ thống hiện nay.

Postfix là máy chủ thư mặc định trên hầu hết các bản phân phối Linux hiện đại.

Trước tiên, kiểm tra xem nó có được cài đặt trên hệ thống của bạn hay không: $ rpm – qa | grep postfix

Nếu chưa được cài đặt, bạn có thể cài đặt máy chủ thư Postfix trên các bản phân phối dựa trên Red Hat như sau: $ dnf – y cài đặt postfix

Sau đó bắt đầu dịch vụ postfix và kích hoạt nó khi khởi động hệ thống: 

$ postct bắt đầu postfix

 $ systemctl bật postfix

Trên các bản phân phối dựa trên Debian như Ubuntu, bạn có thể cài đặt nó như sau: $ apt – get – y cài đặt postfix

Bạn sẽ được nhắc chọn loại cấu hình máy chủ thư Postfix của bạn trong quá trình cài đặt.

Trong số bốn lựa chọn Không có cấu hình, trang Internet, Internet với smarthost, Hệ thống vệ tinh và Chỉ địa phương, chúng tôi sẽ chọn Không có tùy chọn cấu hình.

Cấu hình máy chủ thư Linux

Sau khi cài đặt máy chủ thư Postfix, bạn sẽ cần cấu hình nó, hầu hết các tệp cấu hình của nó có thể được tìm thấy trong thư mục / etc / postfix / .

Bạn có thể tìm cấu hình chính cho máy chủ thư Postfix trong  tập tin /etc/postfix/main.cf .

Tệp này chứa rất nhiều tùy chọn như:

myhostname

Tùy chọn này được sử dụng để chỉ định tên máy chủ của máy chủ thư. Đây là tên máy chủ Internet mà Postfix sẽ nhận được email trên đó.

Tên máy chủ có thể giống như mail.example.com, smtp.example.com.

Nó được viết như thế này:

myhostname = mail . ví dụ . com

Tên miền của tôi

Tùy chọn này là miền thư mà bạn sẽ phục vụ, như example.com

Cú pháp giống như sau:

mydomain = example. com

myorigin

Tất cả các email được gửi từ máy chủ thư này sẽ trông giống như email đến từ tùy chọn này. Bạn có thể đặt giá trị này thành $ mydomain.

myorigin = $ mydomain

Bạn có thể sử dụng bất kỳ giá trị tùy chọn nào, chỉ cần đặt trước nó với $ mydomain như $.

Dự định của tôi

Tùy chọn này liệt kê các tên miền mà máy chủ Postfix sử dụng cho các email đến.

Nó có thể lấy các giá trị như thế này:

mydestination = $ myhostname, localhost. $ mydomain, $ mydomain, thư. $ mydomain, www. $ mydomain

mail_spool_directory

Có hai chế độ phân phối mà máy chủ thư Postfix có thể sử dụng:

    • Trực tiếp đến hộp thư của người dùng.
  • Với một thư mục trung tâm, theo cách này, thư sẽ nằm trong thư mục / var / spool / mail với một tệp cho mỗi người dùng.

mail_spool_directory = / var / spool / mail

mynetworks

Tùy chọn này cho phép bạn cấu hình những gì các máy chủ có thể chuyển tiếp thông qua máy chủ Postfix của bạn.

Tùy chọn này sẽ lấy địa chỉ cục bộ như tập lệnh thư cục bộ trên máy chủ của bạn.

Nếu không, người gửi spam có thể sử dụng máy chủ thư của bạn để chuyển tiếp thư của họ và máy chủ thư của bạn bị liệt vào danh sách đen và do đó, bạn sẽ không thể nhận được nhiều email.

Tùy chọn này có cú pháp sau:

mynetworks = 127.0.0.0 / 8, 192.168.1.0 / 24

smtpd_banner

Biến này đặt thông báo được gửi khi máy khách sau khi kết nối thành công.

Tốt hơn là thay đổi biểu ngữ thành một thứ không đưa ra chỉ dẫn về máy chủ bạn đang sử dụng.

inet_protocols

Tùy chọn này chỉ định phiên bản giao thức IP được sử dụng cho các kết nối máy chủ.

inet_protocols = ipv4

Nếu bạn thay đổi tệp cấu hình cho máy chủ thư Postfix, bạn cần phải tải lại dịch vụ:

$ postct hệ ​​thống tải lại postfix

Khi bạn nhập bất kỳ cấu hình nào, bạn có thể mắc lỗi, bạn có thể kiểm tra lỗi bằng cách sử dụng lệnh sau:

$ postfix check

Công cụ này sẽ giúp bạn tìm chính xác đường kẻ và lỗi để bạn có thể sửa nó.

Kiểm tra hàng đợi thư

Đôi khi hàng đợi thư trên hệ thống của bạn được lấp đầy. Điều này có thể được gây ra bởi nhiều lý do như lỗi mạng hoặc bất kỳ lý do nào có thể trì hoãn gửi thư.

Để kiểm tra hàng đợi thư trên máy chủ thư Linux của bạn, hãy sử dụng lệnh sau:

$ mailq

Lệnh này hiển thị hàng đợi thư Postfix.

Nếu hàng đợi của bạn được lấp đầy và tin nhắn phải mất vài giờ để được gửi đi, thì bạn nên xóa hàng đợi thư.

$ postfix flush

Bây giờ, nếu bạn kiểm tra hàng đợi thư của mình, bạn sẽ thấy nó trống.

Kiểm tra máy chủ thư của Linux

Sau khi cấu hình máy chủ thư Postfix chính xác, bạn nên kiểm tra máy chủ thư của bạn.

Bước đầu tiên là sử dụng một tác nhân người dùng thư cục bộ như mailx hoặc mail là một liên kết tượng trưng đến mailx.

Hãy thử gửi thư cho người khác trên cùng một máy chủ, nếu nó hoạt động, sau đó gửi đến một trang web từ xa.

$ echo “Đây là nội dung thư” | mailx – s “Đây là chủ đề” – r “likegeeks <likegeeks@example.com >” – a / path / to / attachment @ ai đó ví dụ . com

Sau đó thử nhận thư từ một trang web từ xa.

Nếu bạn gặp bất kỳ sự cố nào, hãy kiểm tra nhật ký. Tệp nhật ký trên các bản phân phối dựa trên Red Hat trong tệp / var / log / maillog và trên các bản phân phối dựa trên Debian trong / var / log / mail .  tệp nhật ký hoặc như được định nghĩa trong cấu hình rsyslogd.

Tôi khuyên bạn nên xem lại máy chủ Linux Syslog để có giải thích chi tiết về nhật ký và cách định cấu hình rsyslogd.

Nếu bạn vẫn gặp sự cố, hãy thử kiểm tra cài đặt DNS của bạn và kiểm tra bản ghi MX bằng các lệnh mạng Linux .

 Hộp thư an toàn từ spam bằng SpamAssassin

Một trong những cách để chống spam là quét các hộp thư của một số công cụ, tìm kiếm các mẫu nhất định liên quan đến spam.

Một trong những giải pháp tốt nhất là SpamAssassin, là mã nguồn mở.

Bạn có thể cài đặt nó như thế này:

$ dnf – y cài đặt spamassassin

Sau đó khởi động dịch vụ và kích hoạt nó khi khởi động:

$ systemctl bắt đầu spamassassin

$ systemctl bật spamassassin

Khi bạn đã cài đặt nó, bạn có thể kiểm tra cấu hình trong  / etc / mail / spamassassin / local.  tệp cf.

SpamAssassin xác định xem email có phải là spam hay không dựa trên kết quả của các điểm tập lệnh khác nhau.

Nếu thư có số điểm cao hơn, điều đó có nghĩa là khả năng thư bị spam cao hơn.

Trong tệp cấu hình, tham số required_hits 5 cho biết rằng SpamAssassin sẽ đánh dấu email là spam nếu điểm số của nó là năm hoặc cao hơn.

Các  report_safe tùy chọn có giá trị 0, 1, hoặc 2. Nếu thiết lập là 0 có nghĩa là email được đánh dấu là thư rác được gửi đi như nó có, chỉ sửa đổi các tiêu đề để chứng minh rằng nó là thư rác.

Nếu nó có giá trị 1 hoặc 2, một tin nhắn báo cáo mới được tạo bởi SpamAssassin và được gửi đến người nhận.

Nếu giá trị là 1, điều đó có nghĩa là thư spam được mã hóa dưới dạng nội dung / rfc822, trong khi nếu giá trị là 2, điều đó có nghĩa là thư được mã hóa dưới dạng văn bản / nội dung thuần túy.

Văn bản / đồng bằng là an toàn hơn vì một số ứng dụng thư khách thực thi thư / rfc822 và có thể lây nhiễm sang máy khách.

Bây giờ chúng ta cần tích hợp nó vào postfix. Cách đơn giản nhất để làm điều này có lẽ là bằng cách sử dụng procmail.

Chúng ta sẽ phải tạo một tệp, có tên / etc / procmailrc và thêm nội dung sau:

: 0 hbfw

| / usr / bin / spamc

Sau đó, chúng tôi chỉnh sửa tập tin cấu hình Postfix /etc/postfix/main.cf và thay đổi mailbox_command như sau:

mailbox_command = / usr / bin / procmail

Cuối cùng, khởi động lại dịch vụ Postfix và SpamAssassin:

$ postct khởi động lại postfix

$ systemctl khởi động lại spamassassin

Tuy nhiên, đôi khi SpamAssassin không nhận ra các thư rác, dẫn đến hộp thư chứa đầy thư rác.

May mắn thay, bạn có thể lọc các thư trước khi chúng vào máy chủ Postfix bằng cách sử dụng Danh sách lỗ đen thời gian thực ( RBLs ). Điều đó sẽ làm giảm tải trên máy chủ thư của bạn và giữ cho máy chủ thư của bạn luôn sạch sẽ.

Mở tệp cấu hình của máy chủ  postfix /etc/postfix/main.cf  và thay đổi tùy chọn smtpd_recipient_restrictions và thêm các tùy chọn sau như sau:

strict_rfc821_envelopes = yes

relay_domains_reject_code = 554

unknown_address_reject_code = 554

unknown_client_reject_code = 554

unknown_hostname_reject_code = 554

unknown_local_recipient_reject_code = 554

unknown_relay_recipient_reject_code = 554

unverified_recipient_reject_code = 554

smtpd_recipient_restrictions =

reject_invalid_hostname,

reject_unknown_recipient_domain,

reject_unauth_pipelining,

allowed_mynetworks,

allowed_sasl_authenticated,

reject_unauth_destination,

reject_rbl_client dsn.rfc-ignorant.org,

reject_rbl_client dul.dnsbl.sorbs.net,

reject_rbl_client list.dsbl.org,

reject_rbl_client sbl-xbl.spamhaus.org,

reject_rbl_client bl.spamcop.net,

reject_rbl_client dnsbl.sorbs.net,

giấy phép

Sau đó khởi động lại máy chủ postfix của bạn: $ postct khởi động lại postfix

Các RBL trên đây là các RBL phổ biến, bạn có thể tìm thấy nhiều danh sách hơn trên web và thử chúng.

Bảo mật kết nối SMTP

Tốt hơn là chuyển lưu lượng SMTP của bạn qua TLS để bảo vệ nó khỏi bị sửa đổi ở giữa.

Đầu tiên, chúng ta cần tạo chứng chỉ và khóa bằng lệnh openssl:

$ openssl genrsa -des3 -out mail.key

 $ openssl req -new -key mail.key -out mail.csr

 $ cp mail.key mail.key.original

 $ openssl rsa -in mail.key.original -out mail_secure.key

 $ openssl x509 -req -days 365 -in mail_secure.csr -ignkey mail_secure.key -out mail_secure.crt

 $ cp mail_secure.crt / etc / postfix /

 $ cp mail_secure.key / etc / postfix /

Sau đó thêm tùy chọn sau vào tệp cấu hình Postfix /etc/postfix/main.cf:

smtpd_use_tls = yes

 smtpd_tls_cert_file = /etc/postfix/mail_secure.crt

 smtpd_tls_key_file = /etc/postfix/mail_secure.key

 smtp_tls_security_level = may

Cuối cùng, khởi động lại dịch vụ postfix của bạn: $ postct khởi động lại postfix

Bây giờ, bạn phải chọn TLS trên máy khách của bạn khi kết nối với máy chủ.

Bạn sẽ nhận được cảnh báo khi bạn gửi thư lần đầu tiên sau khi thay đổi cài đặt vì chứng chỉ không được ký.

Sử dụng Hãy mã hóa chứng chỉ

Hãy mã hóa là một nhà cung cấp chứng chỉ SSL miễn phí cho phép bạn mã hóa lưu lượng truy cập của mình.

Thay vì sử dụng các chứng chỉ tự ký mà làm phiền người dùng của bạn về việc tin tưởng họ, bạn có thể sử dụng giải pháp tốt này.

Đầu tiên, cài đặt letsencrypt:

$ yum install letsencrypt

Hoặc nếu bạn đang sử dụng bản phân phối dựa trên Debian, bạn có thể sử dụng lệnh sau:

$ apt – get install letsencrypt

Sau đó chạy allowencrypt như thế này:

$ letsencrypt certonly – độc lập – d yourdomain .com

Bạn nên thay thế yourdomain.com bằng miền thực của bạn.

Sau khi trả lời các câu hỏi được nhắc về email liên hệ, miền máy chủ email và giấy phép, mọi thứ sẽ ổn ngay bây giờ.

Các chứng chỉ sẽ được lưu trữ trong / etc / letsencrypt / live / yourdomain .com /

Một điều cuối cùng bạn phải làm đó là làm cho postfix sử dụng những chứng chỉ đó, bạn có thể sử dụng các lệnh sau:

sudo postconf -e ‘smtpd_tls_cert_file = /etc/letsencrypt/live/yourdomain.com/fullchain.pem’

 sudo postconf -e ‘smtpd_tls_key_file = /etc/letsencrypt/live/yourdomain.com/privkey.pem’

Đừng quên thay thế yourdomain.com bằng tên miền thực của bạn.

Cuối cùng, khởi động lại máy chủ postfix của bạn: $ postct khởi động lại postfix

Cơ sở giao thức POP3 và IMAP

Cho đến nay chúng ta đã thấy cách SMTP mail server gửi và nhận email mà không gặp vấn đề gì, nhưng hãy xem xét các tình huống sau:

    • Người dùng cần bản sao địa phương của e-mail để xem ngoại tuyến.
    • Định dạng tệp mbox không được hỗ trợ. Định dạng mbox được sử dụng bởi nhiều tác nhân người dùng thư như mailx và mutt.
    • Người dùng không thể kết nối với mạng nhanh để lấy bản sao cục bộ để đọc ngoại tuyến.
  • Một số máy chủ thư không cấp quyền truy cập vào các thư mục thư rác được chia sẻ vì lý do bảo mật.

Để xử lý các trường hợp này, một lớp giao thức khác đã được giới thiệu. Kiểu giao thức này có thể được mô tả như là các giao thức truy cập thư.

Hai giao thức truy cập thư phổ biến nhất là Giao thức Bưu điện (POP) và Giao thức Truy cập Thư Internet (IMAP).

Ý tưởng đằng sau POP rất đơn giản: Máy chủ thư trung tâm của Linux luôn trực tuyến mọi lúc và nhận và lưu trữ email cho tất cả người dùng. 

Khi người dùng muốn gửi email, ứng dụng email sẽ chuyển tiếp nó qua máy chủ thư trung tâm của Linux thông qua SMTP bình thường.

Lưu ý rằng máy chủ SMTP và máy chủ POP có thể ở trên cùng một hệ thống mà không gặp bất kỳ sự cố nào. Hầu hết các máy chủ làm điều này ngày hôm nay.

Các tính năng như giữ bản sao chính của email của người dùng trên máy chủ bị thiếu, dẫn đến sự phát triển của IMAP.

Bằng cách sử dụng IMAP, máy chủ thư Linux của bạn sẽ hỗ trợ ba chế độ truy cập:

    • Các chế độ trực tuyến tương tự như có trực tiếp truy cập hệ thống tập tin đến mail server Linux.
    • Các chế độ offline cũng tương tự như POP công trình như thế nào, nơi mà các khách hàng bị ngắt kết nối từ mạng trừ khi grabbing email của mình. Trong chế độ này, máy chủ thường không giữ lại một bản sao của email.
  • Các chế độ ngắt kết nối hoạt động bằng cách cho phép người dùng giữ bản sao cache của email của họ và máy chủ giữ lại một bản sao của email.

Có một số triển khai cho IMAP và POP, phổ biến nhất là máy chủ Dovecot cung cấp cả hai giao thức.

POP3, POP3S, IMAP và IMAPS nghe trên cổng 110 , 995 , 143 và 993 tương ứng.

Cài đặt Dovecot

Hầu hết các bản phân phối Linux đi kèm với dovecot được cài đặt sẵn, tuy nhiên, bạn có thể cài đặt dovecot trong các bản phân phối dựa trên Red Hat như sau:

$ dnf – y cài đặt dovecot

Trên các bản phân phối dựa trên Debian, chức năng IMAP và POP3 được cung cấp trong hai gói riêng biệt, bạn có thể cài đặt chúng như sau:

$ apt – get – y install dovecot – imapd dovecot – pop3d

Bạn sẽ được nhắc tạo chứng chỉ tự ký để sử dụng IMAP và POP3 qua SSL / TLS. Chọn yes và nhập tên máy cho hệ thống của bạn khi được nhắc.

Sau đó, bạn có thể chạy dịch vụ và kích hoạt nó khi khởi động như sau:

$ systemctl bắt đầu dovecot

$ systemctl bật dovecot

Định cấu hình Dovecot

Tệp cấu hình chính cho Dovecot là / etc / dovecot / dovecot .  tệp conf .

Một số bản phân phối Linux đặt cấu hình trong / etc / dovecot / conf . d /  thư mục và sử dụng chỉ thị bao gồm để bao gồm các thiết lập trong các tập tin.

Danh sách sau đây là một số tham số được sử dụng để cấu hình dovecot:

giao thức : các giao thức bạn muốn hỗ trợ.

protocol = imap pop3 lmtp

lmtp nghĩa là giao thức truyền thư cục bộ.

listen : địa chỉ IP để nghe.

nghe = *, ::

Dấu hoa thị có nghĩa là tất cả các giao diện ipv4 và :: có nghĩa là tất cả các giao diện ipv6

userdb : cơ sở dữ liệu người dùng để xác thực người dùng.

userdb {

 driver = pam

 }

passdb : cơ sở dữ liệu mật khẩu để xác thực người dùng.

passdb {

 driver = passwd

 }

mail_location : mục này trong / etc / dovecot / conf . d / 10 – thư . conf  file, và nó được viết như thế này:

mail_location = mbox: ~ / mail: INBOX = / var / mail /% u

Dovecot an toàn

Dovecot đi kèm với chứng chỉ SSL chung và các tệp khóa được sử dụng trong / etc / dovecot /conf . d / 10 – ssl . conf

ssl_cert = </etc/pki/dovecot/certs/dovecot.pem

 ssl_key = </etc/pki/dovecot/private/dovecot.pem

Khi người dùng cố gắng kết nối với máy chủ dovecot, nó sẽ hiển thị cảnh báo vì chứng chỉ không được ký, bạn có thể mua chứng chỉ từ tổ chức phát hành chứng chỉ nếu bạn muốn.

Hoặc nếu bạn đi với Let’s Encrypt certificate, bạn có thể trỏ tới chúng:

ssl_cert = </etc/letsencrypt/live/yourdomain.com/fullchain.pem

 ssl_key = </etc/letsencrypt/live/yourdomain.com/privkey.pem

Đừng quên mở các cổng máy chủ dovecot trong tường lửa iptables của bạn bằng cách thêm các quy tắc iptables cho các cổng 110, 995, 143, 993, 25.

Sau đó lưu các quy tắc .

Hoặc nếu bạn đang sử dụng firewalld, bạn có thể thực hiện các thao tác sau:

$ firewall-cmd –permanent –add-port = 110 / tcp –add-port = 995

 $ firewall-cmd –permanent –add-port = 143 / tcp –add-port = 993

 $ firewall-cmd –reload

Và một lần nữa, để khắc phục sự cố, bạn kiểm tra các tệp nhật ký / var / log / messages , / var / log / maillog và /var/log/mail.log .

Mail server Linux là một trong những máy chủ dễ sử dụng nhất, đặc biệt là máy chủ thư Postfix. Chúng tôi hy vọng bạn thấy bài đăng hữu ích và thú vị. Ngoài ra để tìm hiểu thêm về gói email doanh nghiệp, xin vui lòng liên hệ tới bkhost.vn để được phục vụ tốt nhất.

About ppo.nam

XEM THÊM

Mail Google App là gì?

Email hosting, Email google apps là gì?

Email hosting, Email google apps là gì? Đó là câu hỏi mà chúng tôi thường gặp từ đại đa số người dùng các dịch vụ website.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *