Hướng dẫn từng bước để thiết lập chứng chỉ SSL / TLS trong máy chủ Tomcat.


Một trong những nhiệm vụ cần thiết để bảo mật Tomcat là định cấu hình chứng chỉ SSL, vì vậy ứng dụng web có thể truy cập qua HTTPS.

Có nhiều cách để đạt được điều này.

  • Bạn có thể chấm dứt SSL tại một bộ cân bằng tải
  • Triển khai SSL ở cấp độ CDN
  • Sử dụng các máy chủ web như Apache, Nginx, v.v. ở phía trước và triển khai SSL ở đó

Tuy nhiên, nếu bạn không sử dụng bất kỳ điều nào ở trên hoặc sử dụng điều này như một giao diện người dùng hoặc cần triển khai SSL trực tiếp trong Tomcat, thì những điều sau đây sẽ giúp bạn.

Trong bài viết này, chúng tôi sẽ làm như dưới đây.

  • Tạo CSR (Yêu cầu ký chứng chỉ)
  • Nhập chứng chỉ trong tệp kho khóa
  • Kích hoạt SSL trong Tomcat
  • Cấu hình giao thức TLS
  • Thay đổi Tomcat để nghe trên cổng 443
  • Kiểm tra Tomcat về lỗ hổng SSL

Hãy bắt đầu…

Chuẩn bị cho Chứng chỉ SSL / TLS

Bước đầu tiên sẽ là tạo CSR và lấy chữ ký của cơ quan cấp chứng chỉ. Chúng tôi sẽ sử dụng tiện ích keytool để quản lý các chứng chỉ.

  • Đăng nhập vào máy chủ Tomcat
  • Đi đến đường dẫn cài đặt tomcat
  • Tạo một thư mục gọi là ssl
  • Thực thi lệnh để tạo kho khóa

keytool -genkey -alias domainname -keyache RSA -keyize 2048 -keystore filename.jks

Có hai biến trong các lệnh trên mà bạn có thể muốn thay đổi.

  1. Bí danh – tốt hơn để giữ cho nó có ý nghĩa để trong tương lai bạn có thể nhanh chóng nhận ra. Tôi thích giữ nó như một tên miền.
  2. Tên tệp – một lần nữa, nó tốt để giữ tên miền.

Ví dụ:

[[email được bảo vệ] ssl] # keytool -genkey -alias bloggerflare -keyache RSA -keyize 2048 -keystore bloggerflare.jks
Nhập mật khẩu kho khóa:
Nhập lại mật khẩu mới:
Tên và họ của bạn là gì?
[Không biết]: bloggerflare.com
Tên của đơn vị tổ chức của bạn là gì?
[Không biết]: Viết blog
Tên của tổ chức của bạn là gì?
[Không biết]: Geek Flare
Tên của thành phố hoặc địa phương của bạn là gì?
[Không xác định]:
Tên tiểu bang hoặc tỉnh của bạn là gì?
[Không xác định]:
Mã quốc gia hai chữ cái cho đơn vị này là gì?
[Không xác định]:
Là CN = bloggerflare.com, OU = Blog, O = Geek Flare, L = Unknown, ST = Unknown, C = Unknown đúng?
[không]: có

Nhập mật khẩu chính cho
(TRẢ LẠI nếu giống như mật khẩu lưu trữ khóa):

[[email được bảo vệ] ssl] #

Chú ý đến câu hỏi tên và họ. Đây là một chút sai lầm tôi nghĩ. Nó không phải tên của bạn mà là tên miền mà bạn muốn bảo mật.

Khi bạn cung cấp tất cả thông tin, nó sẽ tạo một tệp kho khóa trên một thư mục làm việc hiện tại.

Tiếp theo sẽ là tạo CSR mới với kho khóa mới được tạo bằng lệnh bên dưới.

keytool -certreq -alias bloggerflare -keyache RSA -file bloggerflare.csr -keystore bloggerflare.jks

Điều này sẽ tạo một CSR mà bạn cần gửi cho cơ quan cấp chứng chỉ để được ký. Nếu bạn đang chơi xung quanh, thì bạn có thể cân nhắc sử dụng một nhà cung cấp chứng chỉ MIỄN PHÍ khác đi cho một cao cấp.

Tôi đã nhận được chứng chỉ đã ký và sẽ tiến hành nhập vào kho khóa với lệnh dưới đây.

  • Chứng chỉ gốc nhập được cung cấp bởi nhà cung cấp

keytool -importcert -alias root -file root -keystore bloggerflare.jks

  • Chứng chỉ trung cấp nhập khẩu

keytool -importcert -alias trung gian -file trung gian -keystore bloggerflare.jks

Ghi chú: không nhập root & trung gian, bạn đã thắng được có thể nhập chứng chỉ miền vào kho khóa. Nếu bạn có nhiều hơn một trung gian, thì bạn phải nhập tất cả chúng.

  • Nhập chứng chỉ miền

keytool -importcert -file bloggerflare.cer -keystore bloggerflare.jks -alias bloggerflare

và, bạn sẽ nhận được xác nhận rằng nó đã được cài đặt.

Trả lời chứng chỉ đã được cài đặt trong kho khóa

Tuyệt quá, Vì vậy, kho khóa chứng chỉ đã sẵn sàng ngay bây giờ. Hãy để di chuyển sang bước tiếp theo.

Nếu bạn chưa quen với SSL và muốn biết thêm thì hãy đăng ký khóa học trực tuyến này – Hoạt động SSL / TLS.

Kích hoạt SSL trong Tomcat

Giả sử bạn vẫn đăng nhập vào máy chủ Tomcat, hãy chuyển đến thư mục conf

  • Sao lưu tệp server.xml
  • Đi đến phần và thêm một dòng

SSLEnables ="thật" sơ đồ ="https" keystoreFile ="ssl / bloggerflare.jks" keystorePass ="chandan" clientAuth ="sai" sslProtocol ="TLS"

  • Đừng quên thay đổi tên tệp và mật khẩu của kho khóa
  • Khởi động lại tomcat và bạn sẽ thấy Tomcat có thể truy cập qua HTTPS

Ngọt!

Cổng HTTPS tiêu chuẩn

Tại sao?

Chà, nếu bạn nhìn vào ảnh chụp màn hình ở trên, tôi đang truy cập Tomcat trên 8080 với https không chuẩn và một số lý do khác.

  • Bạn không muốn yêu cầu người dùng sử dụng cổng tùy chỉnh
  • Trình duyệt sẽ đưa ra cảnh báo vì chứng chỉ được cấp trên tên miền mà không cần cổng

Vì vậy, ý tưởng là làm cho Tomcat nghe trên cổng 443 để nó có thể truy cập được trên https: // mà không cần số cổng.

Để làm như vậy, hãy chỉnh sửa server.xml bằng trình soạn thảo yêu thích của bạn

  • Đi đến 
  • Thay đổi cổng từ 8080 thành 443
  • Nó sẽ giống như thế này
  • Khởi động lại Tomcat và truy cập ứng dụng của bạn bằng https mà không cần bất kỳ số cổng nào

Ấn tượng, nó thành công!

Kiểm tra lỗ hổng SSL / TLS

Cuối cùng, chúng tôi sẽ thực hiện một thử nghiệm để đảm bảo nó không bị tổn thương trước các mối đe dọa trực tuyến.

Có nhiều công cụ trực tuyến mà tôi đã thảo luận ở đây và ở đây tôi sẽ sử dụng SSL Labs.

Và nó XANH – Một đánh giá.

Tuy nhiên, luôn luôn là một ý tưởng tốt để cuộn xuống báo cáo và xem nếu bạn tìm thấy bất kỳ lỗ hổng nào và khắc phục nó.

Vì vậy, đó là tất cả cho ngày hôm nay.

Tôi hy vọng điều này sẽ giúp bạn biết quy trình bảo mật Tomcat bằng chứng chỉ SSL / TLS. Nếu bạn quan tâm đến việc tìm hiểu thêm thì tôi rất khuyến khích điều này khóa học.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me