SASL là gì?
SASL là viết tắt của Lớp xác thực và bảo mật đơn giản, đó là một khung cho phép các nhà phát triển thực hiện các cơ chế xác thực khác nhau và cho phép khách hàng(client) và máy chủ đàm phán một cơ chế chấp nhận lẫn nhau cho mỗi kết nối (thay vì mã hóa cứng hoặc định cấu hình trước chúng).
Tại sao nên cài SASL
Nếu mail server chuyển thư đến một miền khác (nghĩa là địa chỉ của người nhận không thuộc miền của chúng ta) và thư bắt nguồn từ bên ngoài mạng của chúng tôi, server được gọi là chuyển tiếp mở (open replay) .
Trong tình huống này, những kẻ gửi thư rác thường xuyên theo dõi và lợi dụng gửi email spam. Postfix cố gắng bảo vệ chúng ta theo mặc định bằng cách chỉ chuyển tiếp các mail đến từ network của chúng ta. Thật không may, việc hạn chế người dùng hợp pháp chỉ gửi e-mail qua máy chủ là không thực tế khi họ dùng chung network của chúng ta.
Vậy nên, công thức này hướng dẫn bạn cách thêm xác thực Lớp bảo mật và Xác thực Đơn giản (SASL) vào cấu hình của Postfix và Dovecot. Sau đó, Postfix sẽ chuyển tiếp email cho người dùng đã xác thực , bất kể vị trí network của họ, trong khi vẫn từ chối làm như vậy cho bất kỳ ai khác.
Hướng dẫn thêm SASL vào Postfix với Dovecot
Bước 1 - Mở và edit file /etc/dovecot/conf.d/10-master.conf
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
Bước 2 - Mở và edit file /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms= plain login
Bước 3 - Mở và edit file /etc/postfix/main.cf
Thêm đoạn code bên dưới
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
Bước 4 - Restart postfix và dovecot
systemctl restart postfix.service
systemctl restart dovecot.service
Bước 5 - Kiểm tra
Tạo một user để test bằng cách làm theo lần lượt như sau
# tạo user account
useradd ruan
echo password | passwd --stdin ruan
#Encode text theo Base64
perl -MMIME::Base64 -e 'print encode_base64("ruan");'
#kết quả : cnVhbg==
perl -MMIME::Base64 -e 'print encode_base64("password");'
#kết quả : cGFzc3dvcmQ=
Sau đó nhập
$telnet smtp.nguyenphudung.com 25
ehlo smtp.nguyenphudung.com
EHLO smtp.nguyenphudung.com
250-relay.smtp.nguyenphudung.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH LOGIN
334 VXNlcm5hbWU6
cnVhbg==
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
235 2.7.0 Authentication successful
Nếu xuất hiện như trên là bạn đã cài đặt thành công