- Công cụ tự động tạo cấu hình SSL/TLS phù hợp với nhiều phần mềm máy chủ khác nhau
- Hỗ trợ hơn 20 môi trường máy chủ như Apache, nginx, HAProxy, Tomcat, v.v.
- Cung cấp ba hồ sơ cấu hình Mozilla gồm Modern, Intermediate, Old, cho phép lựa chọn giữa mức độ bảo mật và khả năng tương thích
- Tạo cấu hình tùy chỉnh bằng cách nhập phiên bản OpenSSL và phiên bản máy chủ, bao gồm tùy chọn chuyển hướng HTTPS
- Công cụ hữu ích giúp dễ dàng triển khai cấu hình máy chủ an toàn nhờ liên kết với các hướng dẫn bảo mật của Mozilla
Tổng quan
- Mozilla SSL Configuration Generator là công cụ web hỗ trợ quản trị viên máy chủ dễ dàng tạo cấu hình SSL/TLS an toàn
- Tự động tạo script cấu hình phù hợp với từng môi trường máy chủ dựa trên chính sách bảo mật và các thiết lập TLS được Mozilla khuyến nghị
Phần mềm máy chủ được hỗ trợ
- Các đối tượng được hỗ trợ bao gồm Apache, AWS ALB/ELB, Caddy, Coturn, Dovecot, Exim, Go, HAProxy, Jetty, lighttpd, MySQL, nginx, Oracle HTTP, Postfix, PostgreSQL, ProFTPD, Redis, Squid, stunnel, Tomcat, Traefik và nhiều hơn nữa
- Cung cấp các mẫu cấu hình SSL được tối ưu hóa cho từng máy chủ
Hồ sơ cấu hình Mozilla
- Modern: Hỗ trợ TLS 1.3, dành cho các dịch vụ hiện đại không cần tương thích ngược
- Intermediate: Dành cho máy chủ thông thường có cân nhắc khả năng tương thích với nhiều loại client, được khuyến nghị cho hầu hết hệ thống
- Old: Chỉ dùng khi cần duy trì khả năng tương thích với các client rất cũ
Các mục cấu hình môi trường
- Tạo cấu hình phù hợp với môi trường bằng cách nhập Server Version và OpenSSL Version
- Bao gồm tính năng chuyển hướng HTTPS và yêu cầu bật JavaScript
Tham khảo và tài nguyên
- Cung cấp các liên kết tới tài liệu chính thức và hướng dẫn bảo mật của Mozilla
1 bình luận
Ý kiến trên Hacker News
Trong bối cảnh tương tự, có các công cụ như SecurityHeaders để quét các header bảo mật của website, SSL Labs Test để kiểm tra cấu hình TLS, và testssl.sh để quét website từ dòng lệnh
Hữu ích trong môi trường không thể truy cập Internet hoặc khi cần tạo báo cáo HTML tự động
Dù đã song song hóa và tắt bớt tùy chọn, vẫn mất ít nhất 20 giây, còn công cụ mới thì nhanh hơn 60~100 lần
Không có phân tích lỗ hổng, vì mục tiêu là trích xuất cấu hình
Mỗi header có chức năng khác nhau, và tùy mục đích của website mà có những trường hợp không nên áp dụng
Ví dụ, ngay cả khi có header CSP thì trong nhiều trường hợp nó vẫn chỉ được cấu hình cho có, thực tế không có ý nghĩa gì
Tôi không hiểu vì sao đến giờ người ta vẫn dùng thuật ngữ “SSL”
Cảm giác như quên mất những tiến bộ kỹ thuật của 10 năm qua
Khi nói với khách hàng rằng sẽ cấu hình chứng chỉ TLS, nhiều người lại lo lắng rằng “chúng tôi cần SSL”
Cuối cùng vẫn là vấn đề nhận diện thuật ngữ. Người dùng phổ thông không biết TLS là gì, còn doanh nghiệp thì tiếp tục dùng SSL để tránh gây nhầm lẫn
Ngay cả trang SSL của Cloudflare cũng dùng SSL trong đường dẫn nhưng nội dung lại xoay quanh TLS nên càng dễ gây rối
Vì Netscape Navigator sau này nối tiếp thành Mozilla nên cũng có thể hiểu được việc Mozilla vẫn dùng thuật ngữ SSL khá nhiều
Có cảm giác nếu 75% phần mềm hiện nay biến mất thì thế giới có lẽ còn tốt hơn
Sau đó nó trở thành cách gọi chung cho HTTP được mã hóa, nên dù tên giao thức đã đổi thành TLS thì người ta vẫn gọi là SSL
Không nên giao việc cấu hình mã hóa cho lập trình viên ứng dụng hay người vận hành
Có thể tham khảo bài viết TLS Cipher Suites trên blog Go
Mozilla SSL Configuration Generator rất tuyệt, nhưng thực ra đây là công cụ lẽ ra không nên cần phải tồn tại
Các thư viện như OpenSSL vốn đã có cipher preset, nên khá lạ khi trình tạo cấu hình không mở rộng từ đó
Ví dụ, nếu kết hợp như “HIGH:!kRSA:!kEDH:!SHA1:!CAMELLIA:!ARIA” thì vẫn có thể giữ được độ an toàn mà đồng thời sử dụng các thuật toán hiện đại
Cấu hình kiểu này giúp tránh việc vô tình vô hiệu hóa các cipher suite mạnh như ECC key hay ChaCha20
Đây cũng là lý do có những máy chủ không hỗ trợ EdDSA hoặc các thuật toán hybrid hậu lượng tử
Việc giờ vẫn đưa OCSP stapling vào còn khá mỉa mai
Vì trình duyệt và Let's Encrypt thực tế đã gần như khai tử OCSP rồi
Mozilla cũng cung cấp hướng dẫn cấu hình SSH
Có thể tham khảo OpenSSH Security Guidelines
Sẽ tốt hơn nếu có một cấu hình turnkey nơi lập trình viên máy chủ chỉ cần chọn năm hoặc mức độ bảo mật (secure, medium, loose)
Chuyện chọn SSL cipher gần như ở mức cargo cult, nên tôi thực sự không biết mình đang làm gì
Tôi từng thắc mắc vì sao họ khuyến nghị đặt SSLHonorCipherOrder thành Off
Các cipher ở mức Modern và Intermediate đều an toàn, nên sẽ hiệu quả hơn nếu để client chọn cipher phù hợp với phần cứng của mình
Nội dung liên quan được tổng hợp trong bình luận issue và wiki Mozilla
Khá tiếc là trình tạo cấu hình không có tùy chọn mTLS (mutual TLS)
Trong các tình huống cần chứng chỉ client thì đây sẽ là tính năng rất hữu ích, nhưng có lẽ bị bỏ qua vì quá ngách
Mục “AWS ELB” có vẻ đang ám chỉ Classic Load Balancer
Hiện nay “AWS ALB” là Application Load Balancer, nên cách dùng thuật ngữ này dễ gây nhầm lẫn
Sẽ hay nếu có một công cụ tương tự dành cho cấu hình OpenSSL