Định cấu hình mTLS gốc của Cassandra

Giới thiệu

Theo mặc định, các thành phần khác nhau của Edge cho Đám mây riêng tư (chẳng hạn như trình xử lý thông báo, máy chủ quản lý và bộ định tuyến) kết nối với các nút Cassandra qua một kênh văn bản thuần tuý. Trên những kênh như vậy, dữ liệu đến và đi từ Cassandra được truyền đi dưới dạng văn bản thuần tuý. Apigee mTLS là một tính năng dựa trên lưới dịch vụ consul, giúp tăng cường tính bảo mật cho các hoạt động giao tiếp giữa các thành phần trong cụm Edge for Private Cloud. Dịch vụ này của Apigee cũng bổ sung tính năng bảo mật TLS cho kênh giao tiếp giữa các thành phần máy khách và Cassandra.

Bài viết này trình bày về một sản phẩm thay thế mới của Apigee, trong đó hoạt động giao tiếp giữa các thành phần máy khách và Cassandra trong Edge cho Đám mây riêng tư được bảo mật thông qua TLS hai chiều (còn gọi là TLS 2 chiều) bằng các tính năng có sẵn trong Cassandra mà không cần sử dụng một lưới dịch vụ bên ngoài.

Tính năng mTLS gốc

Việc bật mTLS giữa Cassandra và các thành phần máy khách được mô tả trong bài viết này dựa trên các tính năng TLS do Apache Cassandra cung cấp một cách tự nhiên. Khi được bật, các kết nối của máy khách với Cassandra (trên cổng truyền tải gốc CQL 9042) sẽ thực hiện quy trình bắt tay TLS 2 chiều với máy khách trước khi cho phép thiết lập kết nối. Với mục đích kết nối TLS 2 chiều này, Cassandra đóng vai trò là máy chủ và nhiều ứng dụng kết nối với Cassandra (chẳng hạn như edge-message-processor, công cụ cqlsh, v.v.) đóng vai trò là ứng dụng.

Đối với TLS 2 chiều (hoặc TLS tương hỗ hay mTLS), cả Cassandra và các máy khách đều cần được thiết lập bằng kho khoá riêng. Mỗi kho khoá của nút Cassandra phải chứa khoá và chứng chỉ riêng. Mỗi kho khoá của ứng dụng khách phải chứa khoá và chứng chỉ của ứng dụng khách cụ thể đó. Bạn nên thêm một truststore chứa các chứng chỉ và chuỗi liên kết của đối tác vào cả Cassandra và ứng dụng khách. Truststore của mỗi nút Cassandra phải chứa các chứng chỉ của máy khách và truststore của mỗi máy khách phải chứa các chứng chỉ của tất cả các nút Cassandra. Bạn có thể tham khảo bài viết về TLS/SSL hai chiều của Apigee để biết thêm thông tin về cách hoạt động chung của quy trình bắt tay TLS hai chiều.

Liên kết chứng chỉ

Thông thường, trong TLS hai chiều, bạn có thể tạo chứng chỉ máy chủ, chứng chỉ máy khách, chuỗi chứng chỉ, kho khoá và kho tin cậy theo nhiều cách. Điều này cũng áp dụng cho Cassandra và mTLS gốc của máy khách. Căn cứ vào cách các tổ chức thường vận hành các cụm Edge cho Private Cloud và số lượng cặp kết nối duy nhất từ ứng dụng đến Cassandra có thể được thiết lập, Apigee đề xuất áp dụng phương pháp chung sau đây để định cấu hình khoá và chứng chỉ cho tính năng này. Có những phương thức khác cũng khả thi, nhưng phương thức dưới đây có khả năng mang lại sự cân bằng giữa tính bảo mật và chi phí bảo trì.

  1. Mua một chứng chỉ gốc và một cặp khoá/chứng chỉ trung gian do gốc ký. Có thể bạn đã có sẵn những khoá và chứng chỉ như vậy. Nếu không, bạn có thể tạo các khoá và chứng chỉ gốc và trung gian tự ký bằng cách làm theo các bước trong Phụ lục 1.

  2. Sử dụng khoá/chứng chỉ trung gian chung ở trên để ký tất cả các khoá và chứng chỉ dành riêng cho ứng dụng (lá).

Việc có một khoá/chứng chỉ trung gian chung trên 1 cụm giúp bạn định cấu hình một truststore chung (chứa cùng một chuỗi chứng chỉ gốc và trung gian) trên mọi nút Cassandra và nút ứng dụng. Mỗi nút Cassandra và ứng dụng khách đều có khoá và chứng chỉ riêng biệt được ký bằng khoá/chứng chỉ trung gian chung.

  1. Việc xoay chứng chỉ gốc của một nút Cassandra hoặc ứng dụng khách là điều không đáng kể.
  2. Việc xoay vòng chứng chỉ trung gian hoặc chứng chỉ gốc vẫn là một thao tác khá phức tạp, nhưng tần suất xoay vòng như vậy sẽ thấp hơn nhiều so với tần suất xoay vòng chứng chỉ lá.

Sử dụng các biện pháp bảo mật của tổ chức để quyết định xem có nên sử dụng các chứng chỉ gốc và trung gian phổ biến trên nhiều cụm đám mây riêng hay không. Bạn có thể tham khảo Phụ lục 2 để biết các chế độ thiết lập chứng chỉ thay thế.

Các bước còn lại trong bài viết này cung cấp thông tin chi tiết về phương pháp thiết kế khoá và chứng chỉ nêu trên.

Giới hạn và cảnh báo

Tính năng này có những hạn chế sau.

  • Dịch vụ mTLS gốc này giữa các thành phần ứng dụng và Cassandra KHÔNG tương thích với apigee-mtls. Nếu đang sử dụng tính năng này, bạn sẽ không thể sử dụng apigee-mtls và ngược lại.
  • Việc bật mTLS giữa các thành phần ứng dụng và Cassandra sẽ ảnh hưởng đến hiệu suất của các kết nối được thiết lập giữa ứng dụng và Cassandra. Các thao tác như khởi động ứng dụng hoặc mở rộng quy mô kết nối Cassandra có thể diễn ra chậm hơn vì Cassandra và ứng dụng phải thương lượng TLS trước khi bắt đầu giao tiếp. Tác động này thường không đáng kể và không dễ nhận thấy.
  • Trên Cassandra, bạn có thể tuỳ ý thực thi mTLS trên các kết nối máy khách đến. Mặc dù bạn có thể bật chế độ thực thi, nhưng bạn phải tắt chế độ này trong các tác vụ vận hành như nâng cấp phần mềm Apigee, bật/tắt các tính năng TLS và một số loại hoạt động xoay vòng chứng chỉ. Hãy xem phần Thao tác và cấu hình để biết thêm thông tin chi tiết.
  • Khách hàng chịu trách nhiệm quản lý và duy trì chứng chỉ.
  • Việc xoay vòng chứng chỉ có nhiều sắc thái. Vui lòng tham khảo phần Xoay vòng chứng chỉ để biết thêm thông tin chi tiết

Bật mTLS gốc

Nhìn chung, việc bật mTLS gốc là một quy trình gồm 3 bước như mô tả dưới đây:

  1. Mua một chứng chỉ gốc và một cặp khoá/chứng chỉ trung gian.
  2. Tạo một cặp khoá/chứng chỉ gốc của 1 nút Cassandra, ký tên, lưu trữ trong kho khoá và định cấu hình Cassandra cho mTLS không bắt buộc. Lặp lại các bước cho từng nút Cassandra một lần.
  3. Tạo một cặp khoá/chứng chỉ gốc của 1 ứng dụng khách, ký, lưu trữ trong kho khoá và định cấu hình ứng dụng khách cho mTLS. Lặp lại các bước trên từng ứng dụng khách một lần. Ứng dụng khách:
    1. edge-management-server
    2. edge-message-processor
    3. edge-router

Các bước này được trình bày chi tiết bên dưới:

Mua chứng chỉ gốc và chứng chỉ trung gian

Mua một chứng chỉ gốc và một cặp khoá/chứng chỉ trung gian do gốc ký. Sử dụng chứng chỉ gốc và chứng chỉ trung gian có chữ ký của CA của tổ chức bạn hoặc tạo chứng chỉ tự ký. Lưu trữ chuỗi chứng chỉ gốc và chứng chỉ trung gian trong một truststore. Hãy tham khảo Phụ lục 1 để biết các lệnh hữu ích. Các lệnh tiếp theo giả định rằng bạn có quyền truy cập vào các tệp sau:

  • intermediate.key – tệp khoá cho chứng chỉ trung gian để ký chứng chỉ gốc
  • intermediate-cert.pem – chứng chỉ trung gian

Định cấu hình các nút Cassandra

  1. Chọn một nút Cassandra
  2. Tạo một cặp khoá và chứng chỉ gốc rồi ký bằng chứng chỉ trung gian. Lưu khoá và chứng chỉ đã ký vào một kho khoá. Ví dụ bên dưới:
    
    # Generate Leaf key and csr
    openssl req -newkey rsa:2048 -keyout cass-node1.key -out cass-node1-req.pem -sha256 -days 365 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=yourip/emailAddress=cassnode1@yourorg.com"
    
    # leaf cert signed by intermediate
    openssl x509 -req -in cass-node1-req.pem -CAkey intermediate.key -CA intermediate-cert.pem -days 365 -CAcreateserial -out cass-node1-cert.pem
    
    # keystore packaging leaf key and cert
    openssl pkcs12 -export -clcerts -in cass-node1-cert.pem -inkey cass-node1.key -out cass-node1-keystore.pfx -name nativemtls -password pass:keystorepass

    Đặt tệp kho khoá và kho khoá tin cậy ở một vị trí cụ thể trên nút và đảm bảo người dùng apigee có thể truy cập vào các tệp này

    cp cass-node1-keystore.pfx /opt/apigee/customer/application/
    cp truststore.pfx /opt/apigee/customer/application/
    
    chown apigee:apigee /opt/apigee/customer/application/cass-node1-keystore.pfx
    chown apigee:apigee /opt/apigee/customer/application/truststore.pfx

  3. Tạo hoặc chỉnh sửa tệp /opt/apigee/customer/application/cassandra.properties. Thêm nội dung sau vào tệp này:
    ### Enable Cassandra TLS on CQL connections
    conf_cassandra_client_encryption_enabled=true
    
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=true
    
    ### Keystore details
    conf_cassandra_client_encryption_keystore=/opt/apigee/customer/application/cass-node1-keystore.pfx
    conf_cassandra_client_encryption_keystore_password=keystorepass
    conf_cassandra_server_encryption_store_type=PKCS12
    
    ### Whether to enable 2-way TLS (or mTLS) - true or false
    conf_cassandra_client_encryption_require_client_auth=true
    
    ### When 2-way TLS is enabled, client certificate details need to be provided via a truststore
    conf_cassandra_client_encryption_truststore=/opt/apigee/customer/application/truststore.pfx
    conf_cassandra_client_encryption_truststore_password=trustpass
    conf_cassandra_client_encryption_store_type=PKCS12
    

    Ngoài ra, đối với các hệ điều hành có hỗ trợ FIPS, hãy thêm thuộc tính sau vào tệp /opt/apigee/customer/application/cassandra.properties:

    conf_cassandra_client_encryption_protocol=TLSv1.2

    Đảm bảo người dùng apigee sở hữu và có thể đọc tệp:

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  4. Định cấu hình và khởi động lại nút Cassandra
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  5. Lặp lại các bước trên cho từng nút Cassandra tại một thời điểm

Định cấu hình ứng dụng khách

Phần này áp dụng cho các thành phần máy khách sau đây kết nối với Cassandra:

  • edge-management-server
  • edge-message-processor
  • edge-router

  1. Chọn một thành phần ứng dụng khách
  2. Tạo một cặp khoá và chứng chỉ gốc rồi ký bằng chứng chỉ trung gian. Lưu khoá và chứng chỉ đã ký vào một kho khoá. Ví dụ bên dưới:
    
    # Generate Leaf key and csr
    openssl req -newkey rsa:2048 -keyout mgmt-node1.key -out mgmt-node1-req.pem -sha256 -days 365 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=yourip/emailAddress=mgmtnode1@yourorg.com"
    
    # leaf cert signed by intermediate
    openssl x509 -req -in mgmt-node1-req.pem -CAkey intermediate.key -CA intermediate-cert.pem -days 365 -CAcreateserial -out mgmt-node1-cert.pem
    
    # keystore packaging leaf key and cert
    openssl pkcs12 -export -clcerts -in mgmt-node1-cert.pem -inkey mgmt-node1.key -out mgmt-node1-keystore.pfx -name nativemtls -password pass:keystorepass
    

    Đặt tệp kho khoá và kho khoá tin cậy ở một vị trí cụ thể trên nút và đảm bảo người dùng apigee có thể truy cập vào các tệp này

    cp mgmt-node1-keystore.pfx /opt/apigee/customer/application/
    cp truststore.pfx /opt/apigee/customer/application/
    
    chown apigee:apigee /opt/apigee/customer/application/mgmt-node1-keystore.pfx
    chown apigee:apigee /opt/apigee/customer/application/truststore.pfx

  3. Tạo và chỉnh sửa tệp cấu hình dựa trên ứng dụng mà bạn đang định cấu hình
    Ứng dụng Tệp cấu hình
    Máy chủ quản lý /opt/apigee/customer/application/management-server.properties
    Bộ xử lý quản lý /opt/apigee/customer/application/message-processor.properties
    Bộ định tuyến /opt/apigee/customer/application/router.properties

    Thêm các cấu hình sau vào tệp:

    ### Enable TLS on CQL connections
    conf_cassandra_sslconfig.enable.tls=true
    conf_cassandra_sslconfig.enable.mtls=true
    
    ### Keystore Details
    conf_cassandra_sslconfig.keystore.path=/opt/apigee/customer/application/mgmt-node1-keystore.pfx
    conf_cassandra_sslconfig.keystore.password=keystorepass
    conf_cassandra_sslconfig.keystore.type=PKCS12
    
    ### Truststore Details
    conf_cassandra_sslconfig.truststore.path=/opt/apigee/customer/application/truststore.pfx
    conf_cassandra_sslconfig.truststore.password=trustpass
    conf_cassandra_sslconfig.truststore.type=PKCS12
    

    Đảm bảo người dùng apigee sở hữu và có thể đọc tệp cấu hình

    chown apigee:apigee configuration file
    
    ### Example:
    chown apigee:apigee /opt/apigee/customer/application/management-server.properties
    

  4. Khởi động lại ứng dụng khách
    # Configure and restart service:
    apigee-service component configure
    apigee-service component restart
    # Example, to configure and restart message processor application
    apigee-service edge-message-processor configure
    apigee-service edge-message-processor restart
    
  5. Bạn có thể xác thực rằng SSL đã được định cấu hình đúng trong ứng dụng khách bằng cách tìm nhật ký theo các dòng bên dưới trong nhật ký hệ thống của ứng dụng thích hợp:

    Đã thêm các lựa chọn SSL vào kết nối cassandra

  6. Lặp lại các bước trên cho từng ứng dụng khách một lần

Thao tác và cấu hình

Thực thi mTLS

Khi mTLS không được thực thi trong Cassandra, Cassandra sẽ chấp nhận các kết nối văn bản thuần tuý từ các máy khách hoặc các máy khách mà Cassandra có thể thực hiện thành công quy trình bắt tay TLS 2 chiều. Để quy trình thực thi mTLS hoạt động, trước tiên, bạn phải định cấu hình mTLS trong Cassandra. Bạn có thể thiết lập chế độ thực thi mTLS trong Cassandra bằng cách làm theo các bước dưới đây:

  1. Chọn một nút Cassandra
  2. Tạo hoặc chỉnh sửa tệp /opt/apigee/customer/application/cassandra.properties. Thêm hoặc chỉnh sửa thuộc tính sau trong tệp này:
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=false
    

    Đảm bảo người dùng apigee sở hữu và có thể đọc tệp

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    
  3. Định cấu hình và khởi động lại nút Cassandra
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  4. Lặp lại các bước trên cho từng nút Cassandra tại một thời điểm

Sau khi mTLS được thực thi trong Cassandra, công cụ truy vấn Cassandra tiêu chuẩn cqlsh không thể kết nối trực tiếp với Cassandra. Để định cấu hình cqlsh cho SSL, hãy tạo khoá và chứng chỉ leaf mới (tương tự như khoá và chứng chỉ leaf cho các ứng dụng khách) rồi làm như sau:

  1. Tạo hoặc chỉnh sửa tệp $HOME/.cassandra/cqlshrc
  2. Thêm nội dung sau vào tệp:
    [ssl]
    certfile = /home/admin-user/certs/inter-root.pem
    validate = false
    userkey = /home/admin-user/certs/cqlsh1.key
    usercert = /home/admin-user/certs/cqlsh1-cert.pem
    
    • certfile – Tệp chứng chỉ chứa chuỗi chứng chỉ gốc và trung gian
    • userkey – khoá ứng dụng mà cqlsh sẽ dùng. Đây phải là một cặp khoá/chứng chỉ gốc mà bạn có thể tạo và ký bằng chứng chỉ trung gian.
    • usercert – chứng chỉ máy khách mà cqlsh sẽ sử dụng. Đây phải là khoá/chứng chỉ gốc mà bạn có thể tạo và ký bằng chứng chỉ trung gian.
  3. Chạy lệnh cqlsh như bình thường trong khi cung cấp đối số --ssl. Ví dụ:
    $  /opt/apigee/apigee-cassandra/bin/cqlsh --ssl X.X.X.X
    Connected to Apigee at X.X.X.X:9042
    [cqlsh 6.0.0 | Cassandra 4.0.13 | CQL spec 3.4.5 | Native protocol v5]
    Use HELP for help.
    cqlsh>
    

Tắt chế độ thực thi mTLS trên Cassandra

Để tắt chế độ thực thi mTLS trong Cassandra, hãy làm theo các bước bên dưới:

  1. Chọn một nút Cassandra
  2. Tạo hoặc chỉnh sửa tệp /opt/apigee/customer/application/cassandra.properties. Thêm hoặc chỉnh sửa thuộc tính sau trong tệp này:
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=true
    

    Đảm bảo người dùng apigee sở hữu và có thể đọc tệp

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    
  3. Định cấu hình và khởi động lại nút Cassandra
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  4. Lặp lại các bước trên cho từng nút Cassandra tại một thời điểm

Tắt mTLS gốc

Việc tắt mTLS gốc là một quy trình gồm nhiều bước, tương tự như quy trình bật mTLS gốc. Sau đây là các bước tổng quát:

  1. Tắt chế độ thực thi mTLS trong Cassandra (Nếu được thực thi)
  2. Tắt mTLS trong từng nút của các ứng dụng khách sau đây:
    • edge-management-server
    • edge-message-processor
    • edge-router
    1. Tạo và chỉnh sửa tệp cấu hình dựa trên ứng dụng mà bạn đang định cấu hình:
      Ứng dụng Tệp cấu hình
      Máy chủ quản lý /opt/apigee/customer/application/management-server.properties
      Bộ xử lý quản lý /opt/apigee/customer/application/message-processor.properties
      Bộ định tuyến /opt/apigee/customer/application/router.properties
    2. Thêm hoặc chỉnh sửa các thuộc tính sau trong tệp cấu hình:
      ### TLS on CQL connections
      conf_cassandra_sslconfig.enable.tls=false
      conf_cassandra_sslconfig.enable.mtls=false
      
    3. Đảm bảo người dùng apigee sở hữu và có thể đọc tệp cấu hình:
      chown apigee:apigee configuration file
      
      ### Example:
      chown apigee:apigee /opt/apigee/customer/application/management-server.properties
    4. Khởi động lại ứng dụng khách:
      
      # Configure and restart service:
      apigee-service component configure
      apigee-service component restart
      
      # Example, to configure and restart message processor application
      apigee-service edge-message-processor configure
      apigee-service edge-message-processor restart
      
    5. Lặp lại các bước từ #a đến #d trên từng ứng dụng khách, mỗi lần một ứng dụng.
  3. Tắt mTLS trên tất cả các nút Cassandra lần lượt:
    1. Chọn một nút Cassandra.
    2. Tạo hoặc chỉnh sửa tệp /opt/apigee/customer/application/cassandra.properties. Thêm hoặc chỉnh sửa thuộc tính sau trong tệp này:
      ### Cassandra TLS on CQL connections
      conf_cassandra_client_encryption_enabled=false
      

      Đảm bảo người dùng apigee sở hữu và có thể đọc tệp

      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
      
    3. Định cấu hình và khởi động lại nút Cassandra
    4. apigee-service apigee-cassandra configure
      apigee-service apigee-cassandra restart
      
    5. Lặp lại các bước từ #a đến #c trên từng nút Cassandra, mỗi lần một nút.

Thay đổi định kỳ chứng chỉ

Chỉ xoay vòng cho chứng chỉ Leaf (giữ nguyên chứng chỉ Trung gian và chứng chỉ gốc)

Bạn có thể làm theo các bước tương tự như Định cấu hình ứng dụng khách:

  1. Tạo khoá/chứng chỉ mới cho một ứng dụng bằng cách sử dụng cùng một khoá/chứng chỉ trung gian
  2. Định cấu hình đường dẫn đến khoá/chứng chỉ gốc mới trong ứng dụng cùng với mật khẩu và loại kho khoá
  3. Khởi động lại ứng dụng
Xoay vòng chứng chỉ gốc hoặc chứng chỉ trung gian

Nếu đang lên kế hoạch xoay vòng chứng chỉ trung gian hoặc chứng chỉ gốc, bạn nên thực hiện việc này theo quy trình nhiều bước:

  1. Tắt mTLS gốc của Cassandra trên cụm.
  2. Sử dụng các chứng chỉ gốc và chứng chỉ trung gian mới để tạo chứng chỉ ứng dụng hoặc chứng chỉ lá mới.
  3. Làm theo các bước để bật mTLS gốc của Cassandra bằng bộ khoá và chứng chỉ mới.

Các hoạt động chung của Apigee

Để thực hiện các thao tác chung trên Apigee như nâng cấp phần mềm Apigee, thêm hoặc xoá các nút Cassandra, thêm hoặc xoá trung tâm dữ liệu, bật hoặc tắt xác thực Cassandra, v.v., hãy đảm bảo rằng mTLS không được thực thi trong Cassandra. Nếu bạn đã thực thi mTLS, hãy tắt chế độ thực thi trước khi tiếp tục thực hiện các thao tác này.

Phụ lục 1

Bạn có thể làm theo các bước trong phần phụ lục này để tạo một cặp khoá/chứng chỉ gốc và trung gian tự ký, đồng thời thêm chuỗi chứng chỉ này vào một truststore.

Tạo chứng chỉ gốc và chứng chỉ trung gian tự ký

# Create self-signed root key and cert
openssl req -x509 -newkey rsa:2048 -keyout root.key -out root-cert.pem -sha256 -days 3650 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=root.yourorg.com/emailAddress=apigeeroot@yourorg.com"

# Create intermediate key and cert (signed by root)
openssl req -newkey rsa:2048 -keyout intermediate.key -out intermediate-req.pem -sha256 -days 3650 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=inter.yourorg.com/emailAddress=apigeeinter@yourorg.com"

openssl x509 -req -in intermediate-req.pem -CAkey root.key -CA root-cert.pem -days 3650 -CAcreateserial -out intermediate-cert.pem

Tạo truststore

# Merge root and intermediate cert into 1 file
cat intermediate-cert.pem > inter-root.pem
cat root-cert.pem >> inter-root.pem

# Create truststore to be used everywhere
keytool -keystore truststore.pfx -storetype PKCS12 -importcert -file inter-root.pem -keypass trustpass -storepass trustpass -alias nativemtls -noprompt

Phụ lục 2: Các chế độ thiết lập chuỗi chứng chỉ thay thế

Mặc dù bài viết này đề xuất một chế độ thiết lập chuỗi chứng chỉ cụ thể để cân bằng giữa tính bảo mật và sự dễ dàng trong hoạt động, nhưng vẫn có các lựa chọn thay thế và được mô tả dưới đây. Hầu hết các nguyên tắc chung cũng áp dụng cho các phương pháp khác, chẳng hạn như:

  1. Có các khoá và chứng chỉ gốc trực tiếp cho mọi nút Cassandra hoặc ứng dụng khách (không có bất kỳ chứng chỉ gốc hoặc chứng chỉ trung gian nào để ký). Điều này có thể khiến việc xoay vòng chứng chỉ trở nên phức tạp.
  2. Có nhiều bộ gốc và bộ trung gian cho các trường hợp sử dụng khác nhau. Ví dụ: các nút Cassandra có 1 chứng chỉ gốc/trung gian được thiết lập để ký tất cả các chứng chỉ lá của Cassandra. Tương tự, tất cả ứng dụng khách có thể có một bộ gốc/trung gian riêng biệt để ký chứng chỉ lá của ứng dụng. Bạn có thể thiết lập như vậy nhưng phải thêm chuỗi chứng chỉ gốc/trung gian vào kho lưu trữ đáng tin cậy thích hợp. Trong ví dụ này, truststore của Cassandra phải chứa chứng chỉ gốc/trung gian của ứng dụng khách và ứng dụng khách phải có chuỗi gốc/trung gian của các nút Cassandra trong truststore.
  3. Tương tự như trên, bạn có thể có nhiều nhóm chứng chỉ gốc và trung gian cho các khu vực khác nhau nhưng tất cả máy khách ở tất cả các khu vực và tất cả máy chủ ở tất cả các khu vực đều cần biết tất cả các chuỗi gốc và trung gian bằng cách thêm tất cả các chuỗi đó vào kho lưu trữ đáng tin cậy đã định cấu hình.