zDiv
Super Moderator
-
12/02/2014
-
21
-
12 bài viết
Cấu hình TLS khắc phục lỗi Logjam
Lỗ hổng Logjam vừa được công bố tồn tại trong thuật toán trao đổi khóa sử dụng mã hóa Diffie-Hellman để tạo khóa chia sẻ an toàn trong các giao thức bảo mật HTTPS, SSH, Ipsec, SMTPS và các giao thức dựa trên TLS khác.
Để đảm bảo an toàn, chúng tôi khuyến khích bạn nên tạo một Diffie-Hellman group có kích thước 2048-bit, vào sau đó đính kèm đường dẫn tới group này vào tệp tin cấu hình:
- Cách tạo Diffie-Hellman group 2048-bit:
- Ghi nhớ đường dẫn của tệp tin dhparams.pem, bạn sẽ cần dùng chúng khi cấu hình về sau.
Tùy theo HTTP Server các bạn sử dụng mà có cách khắc phục khác nhau:
- Apache HTTP Server (mod_ssl)
Sử dụng DH parameters bạn vừa tạo ở trên:
Để cho apache2 nhận cấu hình mới:
Đảm bảo đoạn cấu hình có nội dung tương tự như sau:
Cấu hình DH parameters:
Để cho nginx nhận cấu hình mới:
$ sudo nginx -s reload
- Mở rộng Computer Configuration, chọn Administrative Templates > Network > SSL Configuration Settings.
- Trong cửa sổ SSL Configuration Settings, mở SSL Cipher Suite Order setting
4. Tick vào Enable, dòng SSL Cipher Suites cấu hình như sau:
Đảm bảo cipher suites được cấu hình tương tự như sau:
Đối với cấu hình DH parameters:
Khởi động lại service để lighttpd cập nhật cấu hình mới
Cấu hình APR:
Đảm báo cipher suites được cấu hình như sau:
Đối với DH params:
Để cho Postfix SMTP cập nhật cấu hình:
Đảm bảo cipher suites có dạng như sau:
Với DH parameters:
Khởi chạy lại Sendmail:
$ sudo service sendmail restart
Cipher suites:
Đối với DH parameters:
Để Dovecot nhận cấu hình mới:
DH parameters có thể được thêm vào tệp tin .crt
Để đảm bảo an toàn, chúng tôi khuyến khích bạn nên tạo một Diffie-Hellman group có kích thước 2048-bit, vào sau đó đính kèm đường dẫn tới group này vào tệp tin cấu hình:
- Cách tạo Diffie-Hellman group 2048-bit:
Mã:
openssl dhparam -out dhparams.pem 2048
- Ghi nhớ đường dẫn của tệp tin dhparams.pem, bạn sẽ cần dùng chúng khi cấu hình về sau.
Tùy theo HTTP Server các bạn sử dụng mà có cách khắc phục khác nhau:
- Apache HTTP Server (mod_ssl)
- Cấu hình SSL của Apache HTTP Server thường được đặt trong file httpd.conf
- Vô hiệu hóa khả năng hỗ trợ SSLv2 và SSLv3, kích hoạt TLS thay thế
Mã:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder on
Sử dụng DH parameters bạn vừa tạo ở trên:
Mã:
SSLOpenSSLConfCmd DHParameters "{đường dẫn tới tệp tin dhparams.pem}"
Để cho apache2 nhận cấu hình mới:
Mã:
$ sudo service apache2 reload
- nginx
Đảm bảo đoạn cấu hình có nội dung tương tự như sau:
Mã:
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
Cấu hình DH parameters:
Mã:
ssl_dhparam [I]{đường dẫn tới dhparams.pem}[/I]
Để cho nginx nhận cấu hình mới:
$ sudo nginx -s reload
- IIS
- Mở rộng Computer Configuration, chọn Administrative Templates > Network > SSL Configuration Settings.
- Trong cửa sổ SSL Configuration Settings, mở SSL Cipher Suite Order setting
4. Tick vào Enable, dòng SSL Cipher Suites cấu hình như sau:
Mã:
TLS_RSA_EXPORT_WITH_RC4_40_MD5,TLS_RSA_EXPORT1024_WITH_RC4_56_SHA,TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA,SSL_CK_RC4_128_EXPORT40_MD5,SSL_CK_DES_64_CBC_WITH_MD5,TLS_RSA_WITH_DES_CBC_SHA,TLS_RSA_WITH_NULL_MD5,TLS_RSA_WITH_NULL_SHA,TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA,TLS_DHE_DSS_WITH_DES_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521
- Lighttpd:
Đảm bảo cipher suites được cấu hình tương tự như sau:
Mã:
ssl.cipher-list = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA "
Đối với cấu hình DH parameters:
Mã:
ssl.dh-file="[I]{đường dẫn tới dhparams.pem}[/I]"
Khởi động lại service để lighttpd cập nhật cấu hình mới
Mã:
$ sudo service lighttpd restart
- Apache Tomcat
Mã:
Cấu hình APR:
Mã:
- Postfix SMTP:
Đảm báo cipher suites được cấu hình như sau:
Mã:
smtpd_tls_mandatory_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA
Đối với DH params:
Mã:
smtpd_tls_dh1024_param_file = $[I]{đường dẫn tới thư mục config}[/I]/dhparams.pem
Để cho Postfix SMTP cập nhật cấu hình:
Mã:
$ sudo postfix reload
- Sendmail
Đảm bảo cipher suites có dạng như sau:
Mã:
O CipherList=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Với DH parameters:
Mã:
O DHParameters=[I]{đường dẫn tới tệp tin dhparams.pem}[/I]
Khởi chạy lại Sendmail:
$ sudo service sendmail restart
- Dovecot
Cipher suites:
Mã:
ssl_cipher_list=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_prefer_server_ciphers = yes (Dovecot 2.2.6 or greater)
Đối với DH parameters:
Mã:
#regenerates every week
ssl_dh_parameters_length = 2048
Để Dovecot nhận cấu hình mới:
Mã:
$ sudo doveadm reload
- HAProxy
Mã:
ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
DH parameters có thể được thêm vào tệp tin .crt
Chỉnh sửa lần cuối bởi người điều hành: