Trong bài viết này tôi sẽ hướng dẫn các bạn tạo chứng chỉ SSL cho Mail Server nội bộ nhằm tăng tính bảo mật cho Mail Server
1. Preliminary Note
Để tạo SSL Certificate cho Mail Server bạn cần phải có Local Mail Sever bạn có thể tham khảo cách cấu hình Local Mail Server trên CentOS 6.5 theo link bên dưới
Cấu hình Local Mail Server trên CentOS 6.5
Disable SELinux
nano /etc/selinux/config
SELINUX=disabled
Tắt Firewall , vì trong mô hình Lab nên tôi sẽ tắt Firewall nếu như các bạn triển khai trên mô hình thực tế bạn nên mở các port cần thiết
service iptables stop chkconfig iptables off
Cụ thể chúng ta sẽ mở 2 port 995 cho POP3 secure và 465 cho SMTP secure , bên cạnh đo nếu bạn dùng webmail thì mở thêm port 80
-A INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
2. Create SSL Certificate
cd /etc/pki/tls/certs
Tạo file server.key và đặt password
make server.key
umask 77 ; \ /usr/bin/openssl genrsa -aes128 2048 > server.key Generating RSA private key, 2048 bit long modulus .....................................................................+++ ......................+++ e is 65537 (0x10001) Enter pass phrase: <-- your password Verifying - Enter pass phrase: <-- your password
Tạo file server.csr
make server.csr
[root@server certs]# make server.csr umask 77 ; \ /usr/bin/openssl req -utf8 -new -key server.key -out server.csr Enter pass phrase for server.key: <-- your password You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:VN State or Province Name (full name) []:HCM Locality Name (eg, city) [Default City]:HCM Organization Name (eg, company) [Default Company Ltd]:adminvietnam Organizational Unit Name (eg, section) []:IT Common Name (eg, your name or your server's hostname) []:www.adminvietnam.org Email Address []:[email protected] Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: <-- ENTER An optional company name []: <-- ENTER
Tạo ra một bộ chứng chỉ có thời hạn 10 năm
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
[root@server certs]# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365 Signature ok subject=/C=VN/ST=HCM/L=HCM/O=adminvietnam/OU=IT/CN=www.adminvietnam.org/[email protected] Getting Private key Enter pass phrase for server.key: <-- your password
Cấp quyền cho các file
cd /etc/pki/tls/certs chmod 400 server.*
3. Configure SSL Certificate for Postfix & Dovecot
Postfix
Chỉnh sửa file main.cf , thêm các dòng sau vào cuối file
nano /etc/postfix/main.cf
smtpd_use_tls = yes smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt smtpd_tls_key_file = /etc/pki/tls/certs/server.key smtp_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
Chỉnh sửa file master.cf
nano /etc/postfix/master.cf
Xóa # các dòng sau
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes # -o smtpd_client_restrictions=permit_sasl_authenticated,reject
Dovecot
Chỉnh sửa file 10-ssl.conf
Xóa # các dòng sau và chỉnh sửa đường dẫn đến các crt , key
# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> ssl = yes # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before # dropping root privileges, so keep the key file unreadable by anyone but # root. Included doc/mkcert.sh can be used to easily generate self-signed # certificate, just make sure to update the domains in dovecot-openssl.cnf ssl_cert = </etc/pki/tls/certs/server.crt ssl_key = </etc/pki/tls/certs/server.key # If key file is password protected, give the password here. Alternatively
Khởi động lại các dịch vụ
service dovecot restart service postfix restart
4. Testing
Mở MS Outlook tại cửa sổ Add Acount , chọn Manual setup or additional server type , chọn Next
Tiếp theo chọn POP or IMAP , chọn Next
Tiếp theo ta điền thông tin Email và IP Mail Server , chọn More Settings
Trong cửa sổ More Settings , ta chọn port 995 cho POP3 và 465 cho SMTP chọn OK
bỏ chọn Automatic test account settings… , chọn Next , ta nhận được thông báo Internet Security Warning chọn YES
Kiểm tra Email luanpm nhận mail gửi mail thành công
LuanPM – Adminvietnam.org