Mã hóa SMB Redirector

Khi mã hóa trực tuyến ngày càng trở nên phổ biến và thường được yêu cầu thông qua các yêu cầu bảo mật tuân thủ theo quy định, các chính sách được áp dụng trong mạng doanh nghiệp đang nhanh chóng chuyển sang mã hóa hoàn toàn mọi lưu lượng truy cập.

Việc triển khai giao thức OneFS SMB (lwio) đã hỗ trợ mã hóa cho Windows và các kết nối máy khách SMB khác tới cụm PowerScale kể từ OneFS 8.1.1.

Tuy nhiên, trước OneFS 9.5, điều này không bao gồm các giao tiếp được mã hóa giữa SMB redirector và bộ điều khiển miền Active Directory (AD) (DC). Trong khi Microsoft đã thêm hỗ trợ cho mã hóa SMB trong SMB 3.0, redirector trong OneFS 9.4 và các bản phát hành trước đó chỉ hỗ trợ phương ngữ SMB 2.002 trước đó của Microsoft.

Khi OneFS kết nối với Active Directory để thực hiện các tác vụ yêu cầu lệnh gọi thủ tục từ xa (RPC), chẳng hạn như tham gia miền, xác thực NTLM hoặc giải quyết tên người dùng và SID, các kết nối SMB này được thiết lập từ OneFS khi máy khách kết nối với máy chủ bộ điều khiển miền.

Như đã nêu trong  tài liệu bảo mật Windows SMB , theo mặc định và bắt đầu từ Windows 2012 R2, quản trị viên miền có thể chọn mã hóa quyền truy cập vào chia sẻ tệp, có thể bao gồm bộ điều khiển miền. Khi mã hóa được bật, chỉ các kết nối SMB3 mới được phép.

Với OneFS 9.5, trình chuyển hướng OneFS SMB hiện hỗ trợ SMB3, do đó cho phép daemon Local Security Authority Subsystem Service (LSASS) giao tiếp với bộ điều khiển miền chạy Windows Server 2012 R2 trở lên qua phiên được mã hóa.

OneFS redirector, còn được gọi là ‘rdr driver’, là một máy khách SMB được tinh giản với chức năng tối thiểu, chỉ hỗ trợ những gì thực sự cần thiết.

Về cơ bản, mã hóa và giải mã OneFS SMB sử dụng các hàm OpenSSL chuẩn và mã hóa AES-128-CCM được đàm phán trong giai đoạn đàm phán SMB.

Mặc dù mọi thứ đều bắt nguồn từ xác thực NTLM được máy chủ SMB yêu cầu, nhưng trình tự các cuộc gọi sẽ dẫn đến việc bộ chuyển hướng thiết lập kết nối SMB với bộ điều khiển miền AD.

Với OneFS 9.5, không cần cấu hình để bật mã hóa SMB trong hầu hết các trường hợp và không có cài đặt cấu hình WebUI HOẶC CLI cho trình chuyển hướng.

Với cấu hình OneFS mặc định, redirector hỗ trợ mã hóa nếu được thương lượng nhưng không yêu cầu. Tương tự, nếu miền Active Directory yêu cầu mã hóa, redirector OneFS sẽ tự động bật và sử dụng mã hóa. Tuy nhiên, nếu redirector OneFS được cấu hình rõ ràng để yêu cầu mã hóa và bộ điều khiển miền không hỗ trợ mã hóa, kết nối sẽ không thành công.

Cài đặt mã hóa chuyển hướng OneFS bao gồm:

Chìa khóa Giá trị Sự miêu tả
Đã bật mã hóa Smb3 Boolean. Mặc định là ‘1’ == Đã bật Bật hoặc tắt mã hóa SMB3 cho trình chuyển hướng OneFS.
Smb3EncryptionYêu cầu Boolean. Mặc định là ‘0’ == Không bắt buộc. Yêu cầu hoặc không yêu cầu kết nối chuyển hướng phải được mã hóa.
MaxSmb2Phiên bản phương ngữ Mặc định là ‘max’ == SMB 3.0.2 Đặt phương ngữ SMB để trình chuyển hướng hỗ trợ. Tối đa hiện tại là SMB 3.0.2.

 

Các khóa và giá trị trên được lưu trữ trong sổ đăng ký OneFS Also SMB và có thể được xem và cấu hình bằng tiện ích ‘lwreqshell’. Ví dụ, để xem cài đặt cấu hình mã hóa chuyển hướng SMB:

# /usr/likewise/bin/lwregshell list_values ​​”HKEY_THIS_MACHINE\Services\lwio\Parameters\Drivers\rdr” | grep -i mã hóa

    “Smb3EncryptionEnabled” REG_DWORD 0x00000001 (1)

    “Smb3EncryptionRequired” REG_DWORD 0x00000000 (0)

Có thể sử dụng cú pháp sau để vô hiệu hóa tham số ‘Smb3EncryptionRequired’ bằng cách đặt nó thành giá trị ‘1’:

# /usr/likewise/bin/lwregshell set_value “[HKEY_THIS_MACHINE\Services\lwio\Parameters\Drivers\rdr]” “Smb3EncryptionRequired” “0x00000001”

# /usr/likewise/bin/lwregshell list_values ​​”HKEY_THIS_MACHINE\Services\lwio\Parameters\Drivers\rdr” | grep -i mã hóa

    “Smb3EncryptionEnabled” REG_DWORD 0x00000001 (1)

   “Smb3EncryptionRequired” REG_DWORD 0x00000001 (1)

Tương tự như vậy, để khôi phục giá trị mặc định là ‘0’ (tức là không bắt buộc) của tham số ‘Smb3EncryptionRequired’:

# /usr/likewise/bin/lwregshell set_value “[HKEY_THIS_MACHINE\Services\lwio\Parameters\Drivers\rdr]” “Smb3EncryptionEnabled” “0x00000001”

Lưu ý rằng trong quá trình nâng cấp lên OneFS 9.5, bất kỳ nút nào vẫn đang chạy phiên bản cũ sẽ không thể xác thực NTLM nếu DC mà chúng có mối quan hệ yêu cầu mã hóa.

Trong khi mã hóa redirector được triển khai trong không gian người dùng (trái ngược với máy chủ SMB, nằm trong kernel), vì  nó liên quan đến OpenSSL, thư viện tận dụng khả năng tăng tốc phần cứng trên bộ xử lý và sử dụng AES-NI . Do đó,  hiệu suất chỉ bị ảnh hưởng tối thiểu khi số lượng xác thực NTLM vào miền AD rất lớn.

Ngoài ra, lưu ý rằng mã hóa redirector hiện chỉ hỗ trợ mã hóa AES-128-CCM được cung cấp trong phương ngữ SMB 3.0.0 và 3.0.2. OneFS không sử dụng mã hóa AES-128-GCM, có sẵn trong phương ngữ SMB 3.1.1 (mới nhất), tại thời điểm này.

Khi nói đến việc khắc phục sự cố redirector, công cụ lwregshell có thể được sử dụng để xác minh các thiết lập cấu hình của nó. Ví dụ, để xem các thiết lập mã hóa redirector:

# /usr/likewise/bin/lwregshell list_values ​​”HKEY_THIS_MACHINE\Services\lwio\Parameters\Drivers\rdr” | grep -i mã hóa

    “Smb3EncryptionEnabled” REG_DWORD 0x00000001 (1)

    “Smb3EncryptionRequired” REG_DWORD 0x00000000 (0)

Tương tự như vậy, để tìm phiên bản SMB tối đa được trình chuyển hướng hỗ trợ:

# /usr/likewise/bin/lwregshell list_values ​​”HKEY_THIS_MACHINE\Services\lwio\Parameters\Drivers\rdr” | grep -i dialect

    “MaxSmb2DialectVersion” REG_SZ “tối đa”

Tiện ích CLI ‘lwsm’ với cú pháp sau sẽ xác nhận trạng thái của các thành phần lsass khác nhau:

# /usr/likewise/bin/lwsm danh sách | grep lsass

lsass [dịch vụ] đang chạy (lsass: 5164)

netlogon [dịch vụ] đang chạy (lsass: 5164)

rdr [trình điều khiển] đang chạy (lsass: 5164)

Nó cũng có thể được sử dụng để hiển thị và sửa đổi mức ghi nhật ký. Ví dụ:

# /usr/likewise/bin/lwsm lấy nhật ký rdr

<mặc định>: syslog LOG_CIFS tại CẢNH BÁO

# /usr/likewise/bin/lwsm set-log-level rdr – gỡ lỗi

# /usr/likewise/bin/lwsm lấy nhật ký rdr

<mặc định>: syslog LOG_CIFS tại DEBUG

Khi hoàn tất, việc ghi nhật ký rdr có thể được trả về mức nhật ký trước đó như sau:

# /usr/likewise/bin/lwsm set-log-level rdr – cảnh báo

# /usr/likewise/bin/lwsm lấy nhật ký rdr

<mặc định>: syslog LOG_CIFS tại CẢNH BÁO

Ngoài ra, tiện ích ‘lwio-tool’ hiện có đã được sửa đổi trong OneFS 9.5 để bao gồm chức năng cho phép kết nối thử nghiệm đơn giản tới bộ điều khiển miền (không có NTLM) thông qua cú pháp ‘rdr’ mới:

# /usr/likewise/bin/lwio-tool rdr openpipe //<bộ điều khiển miền>/NETLOGON

Cách sử dụng ‘lwio-tool’ trong OneFS 9.5 như sau:

# /usr/likewise/bin/lwio-tool -h

Cách sử dụng: lwio-tool <lệnh> [command-args]

   lệnh:

    tóm tắt iotest

    rdr [openpipe|openfile] tên người dùng@mật khẩu://tên miền/đường dẫn

    srvtest transport [truy vấn|bắt đầu|dừng]

    testfileapi [tạo|createnp] <đường dẫn>

 

Tác giả : Nick Trimbee