Bảo mật OneFS và Kiểm soát thiết bị USB

Như chúng ta đã thấy trong nhiều bài viết gần đây, OneFS 9.5 cung cấp nhiều tính năng tập trung vào bảo mật. Chúng bao gồm các lĩnh vực hệ thống tệp cốt lõi, giao thức, dịch vụ dữ liệu, nền tảng và thiết bị ngoại vi. Trong số những cải tiến về bảo mật này là khả năng vô hiệu hóa thủ công hoặc tự động các cổng USB của cụm từ CLI, API nền tảng hoặc bằng cách kích hoạt chính sách tăng cường bảo mật.

Để hỗ trợ chức năng này, kiến ​​trúc điều khiển cổng USB cơ bản như sau:

Đồ họa mô tả kiến ​​trúc điều khiển cổng USB cơ bản.

Để tạo điều kiện thuận lợi cho việc này, OneFS 9.5 và các bản phát hành tiếp theo có thêm biến gconfig mới, ‘usb_ports_disabled’, trong ‘security_config’, cụ thể là để theo dõi trạng thái của Cổng USB trên một cụm. Khi nhận được yêu cầu quản trị từ CLI hoặc trình xử lý API nền tảng để vô hiệu hóa cổng USB, OneFS sẽ sửa đổi tham số cấu hình bảo mật trong gconfig. Ví dụ:

# isi_gconfig -t security_config | grep -i usb
usb_ports_disabled (bool) = đúng

Dưới lớp vỏ, daemon MCP (quy trình điều khiển chính) theo dõi mọi thay đổi đối với tệp cấu hình bảo mật ‘isi_security.gcfg’ trên cụm. Nếu giá trị cho biến ‘usb_ports_disabled’ trong tệp ‘isi_security.gcfg’ được cập nhật, thì MCP sẽ thực thi tiện ích ‘isi_config_usb’ để thực hiện thay đổi mong muốn. Lưu ý rằng vì ‘isi_config_usb’ hoạt động trên từng nút nhưng các hành động MCP là toàn cục (thực thi trên toàn cụm), isi_config_usb được gọi trên mỗi nút bằng một tập lệnh Python để bật hoặc tắt Cổng USB của cụm.

Tính năng bật/tắt Cổng USB chỉ được hỗ trợ trên các cụm PowerScale F900, F600, F200, H700/7000 và A300/3000 chạy OneFS 9.5 trở lên và PowerScale F710 và F210 chạy OneFS 9.7 trở lên.

Trong OneFS 9.5 trở lên, chức năng điều khiển cổng USB có thể được cấu hình thủ công từ CLI hoặc API nền tảng.

Đồ họa hiển thị cấu hình điều khiển cổng USB theo cách thủ công từ CLI hoặc API nền tảng.

Xin lưu ý rằng hiện tại không có tùy chọn WebUI.

Bảng sau đây liệt kê các tùy chọn cấu hình CLI và API nền tảng để kiểm soát cổng USB trong OneFS 9.5 trở lên:

Hoạt động Cú pháp CLI Sự miêu tả
Xem chế độ xem cài đặt bảo mật isi Báo cáo trạng thái các cổng USB của cụm.
Cho phép thiết lập bảo mật isi sửa đổi –usb-ports-disabled=False  Kích hoạt các cổng USB của cụm.
Vô hiệu hóa thiết lập bảo mật isi sửa đổi –usb-ports-disabled=True Vô hiệu hóa các cổng USB của cụm.

Ví dụ:

# isi thiết lập bảo mật xem | grep -i usb
      Cổng USB bị vô hiệu hóa: Không
# isi thiết lập bảo mật sửa đổi --usb-ports-disabled=True
# isi thiết lập bảo mật xem | grep -i usb
      Cổng USB bị vô hiệu hóa: Có

Tương tự như vậy, để kích hoạt lại các cổng USB của cụm:

# isi thiết lập bảo mật sửa đổi --usb-ports-disabled=False
# isi thiết lập bảo mật xem | grep -i usb
      Cổng USB bị vô hiệu hóa: Không

Lưu ý rằng cần có tài khoản người dùng có đặc quyền OneFS ISI_PRIV_CLUSTER RBAC để cấu hình thay đổi cổng USB trên cụm.

Ngoài lệnh CLI ‘isi security settings’, còn có một tiện ích CLI node-local:

# isi_config_usb ở đâu
isi_config_usb: /usr/bin/isi_hwtools/isi_config_usb

Như đã đề cập trước đó, ‘isi security settings’ hoạt động trên toàn cụm, sử dụng ‘isi_config_usb’ để thực hiện các thay đổi trên mỗi nút.

Ngoài ra, các cổng USB cụm cũng có thể được bật và tắt bằng API nền tảng OneFS với các điểm cuối sau:

Giao diện lập trình ứng dụng (API) Phương pháp Lý lẽ Đầu ra
/16/bảo mật/cài đặt LẤY Không cần phải tranh luận. Đối tượng JSON cho cài đặt bảo mật với cổng USB.
/16/bảo mật/cài đặt ĐẶT Đối tượng JSON có giá trị boolean cho cài đặt cổng USB. Không có hoặc có lỗi.

Ví dụ:

# curl -k -u <tên người dùng>: <mật khẩu> https://localhost:8080/platform/security/settings”
 
 {
 "cài đặt" :
 {
 "fips_mode_enabled" : sai,
 "restricted_shell_enabled" : sai,
 "usb_ports_disabled" : đúng
 }
 }

Ngoài cấu hình thủ công, các cổng USB sẽ tự động bị vô hiệu hóa nếu cấu hình tăng cường bảo mật STIG được áp dụng cho một cụm. 

Đồ họa mô tả các cổng USB bị tự động vô hiệu hóa nếu cấu hình tăng cường bảo mật STIG được áp dụng cho một cụm. 

Điều này được điều chỉnh bởi phần mã XML sau trong tệp cấu hình isi_hardening, có thể tìm thấy tại /etc/isi_hardening/profiles/isi_hardening.xml:

<CONFIG_ITEM id = "isi_usb_ports" phiên bản = "1">
              <Chiến dịch Papi>
                           <LÀM>
                                        <URI>/bảo mật/cài đặt</URI>
                                        <BODY>{"usb_ports_disabled": true}</BODY>
                                        <KEY>cài đặt</KEY>
                           </THỰC HIỆN>
                           <HỦY BỎ>
                                        <URI>/bảo mật/cài đặt</URI>
                                        <BODY>{"usb_ports_disabled": sai}</BODY>
                                        <KEY>cài đặt</KEY>
                           </HOÀN TÁC>
                           <ACTION_SCOPE>CỤM</ACTION_SCOPE>
                           <BỎ QUA>SAI</BỎ QUA>
              </Hoạt động Papi>
 </CONFIG_ITEM>

Tiện ích CLI ‘isi_config_usb’ có thể được sử dụng để hiển thị trạng thái cổng USB trên một tập hợp con các nút. Ví dụ:

# isi_config_usb --nodes 1-10 --mode hiển thị
    Nút | Hiện tại | Đang chờ xử lý
-----------------------------------
    TME-9 | UNSUP | THÔNG TIN: Nền tảng này không được hỗ trợ để chạy tập lệnh này.
    TME-8 | UNSUP | THÔNG TIN: Nền tảng này không được hỗ trợ để chạy tập lệnh này.
    TME-1 | Trên |
    TME-3 | Trên |
    TME-2 | Trên |
   TME-10 | Trên |
    TME-7 | Tất cả trên |
    TME-5 | Tất cả trên |
    TME-6 | Tất cả trên |
Không thể kết nối: TME-4

Lưu ý : Ngoài trạng thái cổng, đầu ra sẽ xác định bất kỳ nút nào không hỗ trợ điều khiển cổng USB (nút 8 và 9 ở trên) hoặc không thể truy cập được (nút 4 ở trên).

Khi điều tra hoặc khắc phục sự cố liên quan đến điều khiển cổng USB, các tệp nhật ký sau đây là nơi đầu tiên cần kiểm tra:

Tệp nhật ký Sự miêu tả
/var/log/isi_papi_d.log Sẽ ghi lại mọi yêu cầu bật hoặc tắt cổng USB.
/var/log/isi_config_usb.log Ghi nhật ký hoạt động từ quá trình thực thi tập lệnh isi_config_usb.
/var/log/isi_mcp Ghi lại hoạt động liên quan đến hành động MCP khi gọi API.

Tác giả : Nick Trimbee