SQL qua VPN: máy khách trực tiếp hay máy trạm nội bộ?
SQL trực tiếp từ máy tính xách tay VPN và SSMS trên máy trạm được quản lý là những đường tin cậy khác nhau. So sánh địa chỉ nguồn và quyền mà mỗi cách tạo ra.
Các nhóm muốn có SSMS trên máy tính xách tay của họ, và giải pháp nhanh là công bố cổng SQL vào nhóm VPN. Câu trả lời chậm hơn hỏi tiến trình máy khách nên chạy ở đâu, vì truy cập trực tiếp và máy trạm nội bộ tạo ra địa chỉ nguồn, độ tin cậy điểm cuối và đường dữ liệu khác nhau. Cả hai đều không tự động an toàn, và chỉ riêng tư cách thành viên VPN không quyết định gì. Hãy so sánh các thiết kế trước khi có quy tắc cho phép.
Hai đường, hai địa chỉ nguồn
Khi truy cập trực tiếp, máy tính xách tay mang cấu hình máy khách và tự mở kết nối cơ sở dữ liệu. Với máy trạm từ xa, máy tính xách tay mở phiên màn hình nền, và máy trạm thực hiện kết nối SQL từ địa chỉ của chính nó. Vì vậy cơ sở dữ liệu thấy nhóm VPN hoặc một cổng đã dịch trong thiết kế đầu, và địa chỉ máy trạm trong thiết kế thứ hai. Chính khác biệt đó quyết định quy tắc tường lửa và quyền SQL nào thực sự áp dụng.
Máy tính xách tay vẫn điều khiển phiên từ xa, nên máy trạm không thay thế xác thực người dùng hay chính sách phiên.
Kiểm tra điều cơ sở dữ liệu thực sự thấy
Địa chỉ nguồn là thứ phải đo chứ không suy ra từ sơ đồ. Hãy đọc nó ở phía máy chủ của một kết nối đang hoạt động.
Test-NetConnection sql.example.com -Port 1433
sqlcmd -S tcp:sql.example.com,1433 -N -d appdb -Q "select SUSER_SNAME() as login_name, DB_NAME() as db"Bài kiểm tra kết nối chứng minh trình lắng nghe chấp nhận TCP từ mạng đó, còn truy vấn chứng minh phiên đã tới đăng nhập và cơ sở dữ liệu nào. Để xem địa chỉ máy chủ đã ghi lại, hãy truy vấn sys.dm_exec_connections cho phiên hiện tại, giá trị này trả về địa chỉ máy khách sau mọi phép dịch. Nếu giá trị đó là cổng chứ không phải máy tính xách tay, quy tắc máy chủ theo từng người dùng không thể hoạt động trên máy cơ sở dữ liệu. Ghi giá trị quan sát được cạnh thiết kế đã chọn, vì việc kết nối lại và thay đổi nhóm làm nó dịch chuyển.
Mở trình lắng nghe và không gì thêm
Chỉ mở dịch vụ mà việc triển khai cần. Cổng 1433 quen thuộc là cổng của phiên bản mặc định, không phải hằng số phổ quát.
Get-NetTCPConnection -State Listen -LocalPort 1433Các phiên bản có tên thường lắng nghe trên cổng động, với SQL Server Browser trả lời việc khám phá trên UDP 1434, và sự phụ thuộc đó là một phơi nhiễm riêng cần được biện minh. Ghim cổng cố định cho phiên bản loại bỏ nhu cầu Browser và làm các quy tắc tường lửa ổn định. Giữ các kiểm tra mã hóa và chứng chỉ mà máy khách đã thực hiện thay vì tắt chúng để một bài kiểm tra đạt. Sau đó cấp vai trò cơ sở dữ liệu cho khối lượng công việc thay vì thêm toàn bộ nhóm VPN vào một vai trò máy chủ.
Chứng minh đường được phép và đường bị từ chối
Mở phiên mới với tư cách người dùng thường đã được phê duyệt, và xác nhận danh tính máy chủ, cơ sở dữ liệu và thao tác cần thiết. Sau đó xác nhận việc loại trừ: một nguồn hoặc tài khoản ngoài chính sách phải thất bại trong cùng bài kiểm tra. Với thiết kế máy trạm, xác minh máy tính xách tay không thể vượt ranh giới bằng cách chạm trực tiếp tới cơ sở dữ liệu. Với truy cập trực tiếp, xác minh tuyến và quy tắc nguồn vẫn đúng sau khi kết nối lại.
Ghi lại máy khách đã chạy ở đâu, cơ sở dữ liệu đã quan sát nguồn nào và quy tắc nào đã cho phép. Đó là bằng chứng mà lần đánh giá tiếp theo sẽ yêu cầu.