Xác thực Kerberos cho các máy trạm không có trên miền


8

Tôi có hiểu biết cơ bản về cách Kerberos hoạt động trong môi trường Active Directory và các phương thức mà nó sử dụng để xác thực người dùng và máy trạm trên mạng, nhưng câu hỏi của tôi là .. vì Kerberos dựa vào việc phát hành mã thông báo bảo mật mà người dùng cuối sử dụng để truy cập tài nguyên mạng, làm thế nào các hệ thống (máy tính xách tay) không có trên miền có thể truy cập cùng một tài nguyên mạng chỉ bằng tên người dùng và mật khẩu của người dùng thư mục hoạt động?

Tôi đoán sẽ có ý nghĩa hơn nếu chỉ sử dụng thông tin đăng nhập của người dùng, Kerberos tạo mã thông báo bảo mật và cấp cho hệ thống, nhưng có vẻ như cần có thêm bảo mật để ngăn hệ thống không truy cập vào tài nguyên mạng.

Nếu bất cứ ai có thể khai sáng cho tôi, tôi sẽ đánh giá cao nó!


Câu hỏi ngu ngốc .. với việc sử dụng Kerberos trong môi trường Active Directory .. có cần phải bật NTLM không? Không phải tôi hoàn toàn chắc chắn rằng nó có thể bị vô hiệu hóa, nhưng tôi nhận thấy trên trang wiki joeqwerty được liên kết để nói rằng Microsoft không khuyến nghị sử dụng nó.
Eric

Nếu bạn duyệt đến một máy chủ không theo tên (ví dụ: \ 10.12.181,29) thì bạn sẽ chuyển sang NTLM; bởi vì kerberos phụ thuộc vào tên của các máy chủ khớp với chứng chỉ của họ.
Ian Boyd

Câu trả lời:


3

Câu hỏi ngu ngốc .. với việc sử dụng Kerberos trong môi trường Active Directory .. có cần phải bật NTLM không? Không phải tôi hoàn toàn chắc chắn rằng nó có thể bị vô hiệu hóa, nhưng tôi nhận thấy trên trang wiki mà bạn liên kết nói rằng Microsoft không khuyến nghị sử dụng nó.
Eric

5

Làm thế nào các hệ thống (máy tính xách tay) không có trên miền có thể truy cập cùng một tài nguyên mạng chỉ bằng tên người dùng và mật khẩu của người dùng thư mục hoạt động?

Nó phụ thuộc vào "tài nguyên mạng" nào có liên quan. Trên máy tính Windows đã gia nhập miền mà bạn đã đăng nhập, có ít nhất hai danh tính khách hàng Kerberos đang chơi:

  • bạn, người dùng @ DOMAIN
  • máy tính, máy trạm $ @ DOMAIN

Ngoài ra còn có máy chủ / máy trạm @ DOMAIN, nhưng nói chung đó là nhận dạng của một dịch vụ đang chạy trên máy chủ, được truy cập từ nơi khác. Nếu một quy trình đặc quyền trên máy chủ muốn thực hiện điều gì đó - giả sử, hãy thêm tên của nó vào DNS bằng DNS động được xác thực Kerberos - nó sẽ sử dụng danh tính của nó để làm như vậy, máy trạm $ @ DOMAIN. Tuy nhiên, nếu trong phiên đăng nhập của bạn tự truy cập một số tài nguyên - giả sử chia sẻ mạng CIFS hoặc URL HTTP được xác thực - thì danh tính khách hàng là tên chính của bạn , người dùng @ DOMAIN (thông tin đăng nhập được lấy tự động cho bạn bằng cách sử dụng mật khẩu bạn đã nhập để đăng nhập). Từ câu hỏi của bạn, bạn dường như nghĩ rằng một số kết hợp có liên quan; Không phải, chúng là riêng biệt.

Đây là lý do tại sao không có vấn đề gì khi sử dụng Kerberos để truy cập các tài nguyên dựa trên Windows từ các nền tảng khác. Bạn cũng có thể nhập "kinit user" trên hộp Linux, nhập mật khẩu của bạn để nhận thông tin xác thực Kerberos (TGT) từ bộ điều khiển miền và sau đó sử dụng Firefox để truy cập trang web được xác thực Kerberos trên IIS. Các giao thức cho tất cả điều này là tiêu chuẩn và bạn không cần bất cứ điều gì ngoại trừ thông tin người dùng của bạn.

Một câu trả lời trước đây cho rằng NTLM là bắt buộc trong trường hợp này; đó là sai (mặc dù chắc chắn nó có thể được sử dụng). Tuy nhiên, khi bạn truy cập một số tài nguyên từ một máy tính không thuộc miền và được nhắc nhập tên người dùng và mật khẩu của bạn, bạn không nhất thiết phải biết phương thức xác thực nào đang được sử dụng. Nó có thể sử dụng Kerberos. Nó cũng có thể quay trở lại cơ chế dựa trên mật khẩu, theo đó nó sẽ gửi tên người dùng và mật khẩu của bạn đến máy chủ để xác minh và sau đó lưu mật khẩu của bạn để bạn không phải nhập lại. Nhiều giao thức cho phép cả hai thông qua các sơ đồ trừu tượng như SASL. Bạn sẽ phải nhìn vào dây để xem chuyện gì đang xảy ra.


Nếu Kerberos đã được sử dụng, thì sau đó bạn có thể thấy vé dịch vụ được lưu trong bộ nhớ cache bằng lệnh "klist". Nếu bạn có quyền truy cập mà không có điều này khiến vé dịch vụ được lưu vào bộ nhớ cache, bạn có thể đã sử dụng NTLM thay thế. Để thực sự xác nhận rằng bạn đã sử dụng Kerberos, có lẽ bạn phải tắt NTLM (trong trường hợp Windows vẫn có thể quay lại từ Kerberos về NTLM sau khi đã lấy được vé dịch vụ).
Markus Kuhn

1

Các hướng dẫn bên dưới là về cách xác thực với máy chủ Samba bằng Kerberos từ máy khách Windows 7/10 (có thể là người khác). Tôi chưa thử nghiệm phiên bản máy khách và máy chủ khác:

Trên máy khách Windows, "Chạy với tư cách quản trị viên" cmd.exe. Sau đó nhập lệnh này để cung cấp cho Windows kiến ​​thức về bộ điều khiển miền Kerberos (KDC) cho kerberos REALM.COM.

Nếu KDC ở trong DNS:

ksetup /addkdc REALM.COM

Nếu không thì:

ksetup /addkdc REALM.COM kdc01.realm.com

(Nhập thêm KDC cho vương quốc REALM.COM nếu chúng tồn tại. Ngoài ra, có thể thêm các cảnh giới khác theo bất kỳ phong cách nào.)

Sau đó sử dụng Explorer để truy cập vào mạng chia sẻ quan tâm. (Ví dụ: \\samba.realm.com\sharetrong thanh địa chỉ.) Dấu nhắc mật khẩu sẽ mở nếu chia sẻ được bảo vệ.

Bạn sẽ cần chỉ định vương quốc trong tên người dùng. Điều này có thể được thực hiện như user@REALM.COMhoặc REALM.COM\user.

Sau đó nhập mật khẩu.


0

Tôi biết ít nhất một hệ thống có thể sử dụng kerberos hoạt động từ các máy trạm không thuộc miền. Tên của ứng dụng này là "Cổng thông tin SAP NETweAVER". Tôi đã thực hiện một số phát hiện mạng trên máy trạm và liên lạc, khi tôi đăng nhập vào ứng dụng web nằm giữa máy trạm và bộ điều khiển miền. Trước đó, một truy vấn dns cho các bản ghi srv _krb của tên miền mà tôi đã chuyển đến trường tên người dùng (phải là định dạng tên miền FQDN, ví dụ mydomain.local \ myusername) được tạo. Sau đó, một số khung kerberos xảy ra.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.