Khắc phục sự cố các vấn đề đối với Kerberos trong SharePoint – Phần 2
Ngu
ồn : quantrimang.com.vn
Jesper M. Christensen
Quản trị mạng – Trong phần 2 này chúng tôi sẽ giới thiệu cho các bạn về cấu
hình SPN, Duplicate Service Principal Names và sự không ăn khớp trong cấu
hình DNS.
Trong phần đầu của loạt bài này chúng tôi đã giới thiệu cho các bạn các vấn đề
về ngày và thời gian, tài khoản ứng dụng và cấu hình cơ bản của Service
Principal Name (SPN). Trong phần này, chúng tôi sẽ giới thiệu các chủ đề dưới
đây:
•
Cấu hình SPN - cho IIS 7
•
Duplicate Service Principal Names
•
Sự không tương xứng DNS Configuration
Cấu hình SPN – cho IIS 7
Trong phần trước của bài này, có một số vấn đề đã được chúng tôi đề cập
không thể sử dụng các website làm việc với Kerberos nếu chúng sử dụng
Internet Information Server 7 trên Windows Server 2008. Tài khoản ứng dụng và
đăng ký SPN được cấu hình đúng, tuy nhiên thông báo lỗi này vẫn xuất hiện
trong bản ghi sự kiện của hệ thống - Windows System Event Log:
KRB_AP_ERR_MODIFIED.
Vấn đề này xuất hiện vì sự thẩ
m định chế độ Kernel được kích hoạt một cách
mặc định. Thông thường các bạn nên sử dụng một máy chủ SharePoint và đăng
ký SPN vào các máy chủ NETBIOS. Tuy nhiên, trong cả một hệ thống web, bạn
cần vô hiệu hóa sự thẩm định ở chế độ Kernel hoặc cấu hình ứng dụng để có
thể sử dụng các điều khoản từ ứng dụng.
Chúng ta hãy đi xem xét tỉ mỉ môi trường củ
a mình từ phần 1 được sử dụng làm
ví dụ.
Thông tin về địa chỉ IP:
172.16.189.11 là domain controller (và KDC) DC1
172.16.189.15 là SQL Server (và KDC) SQL1
172.16.189.là website al
172.16.189.21 là SharePoint Server WSS1
172.16.189.22 là SharePoint Server WSS2
172.16.189.101 là computer PC1 đang truy cập website
Chúng tôi đã vô hiệu hóa chế độ thẩm định Kernel trong môi trường của mình
cho test này, bạn có thể kích hoạt nó trở lại (như chế độ mặc định của nó) trong
Internet Information Manager 7:
1. Trong IIS 7 Manager, chọn “Sites/<tên của SharePoint website>” và chọn
“Authentication”.
Hình 7
2. Chọn “Windows Authentication” và kích vào “Advanced Settings”
Hình 8
3. Tích vào hộp kiểm “Enable Kernel-mode authentication”, đây cũng là thiết
lập mặc định
Hình 9
4. Sau đó thiết lập lại IIS bằng lệnh: IISRESET /NOFORCE
Chúng ta muốn thấy được nhiều chi tiết về gói hơn, chính vì vậy, trước khi thực
hiện truy cập vào website, bạn cần khởi chạy Wireshark, đây là một phân tích
giao thức mạng trên DC1 và PC1 để chúng ta có thể nghiên cứu các lỗi
Kerberos trên. Chúng tôi khuyên bạn nên thiết lập một bộ lọc để chỉ hiển thị các
gói Kerberos:
Hình 10
Lúc này chúng ta sẽ truy cập vào website: al –
ở đây,
chúng ta sẽ thấy một hộp đăng ký vì có gắng đăng nhập đã bị thất bại. Bước đầu
tiên là kiểm tra bản ghi sự kiện trên máy tính đang truy cập website. Đây là sự
kiện từ Windows System Event Log trên máy tính truy cập website đã được kiểm
tra trên PC1:
Hình 11
Nếu quan sát vào các gói và các lỗi được capture trên máy PC1 bằng Wireshark,
chúng ta sẽ thấy các lỗi giống nhau:
Hình 12
Chúng ta có thể thấy những gì, trong cả bản ghi sự kiện và các gói đã capture, là
chỉ thị mã lỗi KRB_AP_ERR_MODIFIED và tài khoản đang đáp trả là wss1$. Biết
rằng máy chủ WSS1 báo cáo lỗi này khi chúng ta truy cập website. Chúng ta
cũng có thể thấy được điều đó từ địa chỉ IP nếu chúng ta quan sát thông tin địa
chỉ IP nguồn và đích trong Wireshark. Hãy quan sát trên máy chủ này.
KRB_AP_ERR_MODIFIED có nghĩa rằng máy tính cho rằng gói trao đổi
Client/Service dường như được thay đổi và các tham số
được kiểm tra là ngày
tháng, địa chỉ IP, hostname và khóa giải mã có làm việc hay không. Kiểm tra
nhanh chóng date/time, IP addresses và hostname (xem phần cấu hình DNS) và
giả sử sự thật là đúng. Khóa mã hóa và giải mã được xác định bởi việc mapping
tài khoản SPN. Tài khoản này phải là tài khoản IIS website trên máy chủ WSS1
đang sử dụng.
Chúng ta sẽ kiểm tra vấn đề đó bằng lệnh sau: