Tôi có hai người dùng, giả sử người dùngA
và người dùngB
. người dùngA
có thể sử dụng một keytab với aes
nhưng không rc4
và người dùngB
có thể sử dụng một keytab với rc4
nhưng không aes
.
Đây là đoạn mã tạo keytab, kiểm tra và đặt nó vào vị trí:
#!/bin/sh
HIỆU TRƯỞNG="xxxxx"
# PHƯƠNG PHÁP="rc4-hmac"
# PHƯƠNG PHÁP="aes256-cts-hmac-sha1-96"
PHƯƠNG PHÁP="rc4-hmac-exp"
KEYTAB="/tmp/$PRINCIPAL.keytab.$METHOD"
MẬT KHẨU='xxxxx'
đặt -x
ô 0007
KEYTAB_TMP=$(mktemp "/tmp/$KEYTAB.XXXXXXXXXXXXXXX")
chức năng dọn dẹp {
rm -f "$KEYTAB_TMP"
}
dọn dẹp bẫy EXIT
mong đợi << EOF
đặt thời gian chờ 10
đẻ trứng/usr/bin/ktutil
chờ đợi {
"ktutil:" { gửi "addent -password -p [email protected] -k 1 -e $METHOD\r" }
hết thời gian { đặt "Hết thời gian chờ dấu nhắc ktutil."; thoát 1; }
}
chờ đợi {
-re "Mật khẩu cho \S+: " { gửi "$PASSWORD\r" }
hết thời gian { đặt "Hết thời gian chờ nhắc mật khẩu."; thoát 1; }
}
chờ đợi {
"ktutil:" { gửi "wkt $KEYTAB_TMP\r" }
}
chờ đợi {
"ktutil:" { gửi "q\r" }
}
EOF
chown "$PRINCIPAL":root "$KEYTAB_TMP"
chmod ug=rw,o= "$KEYTAB_TMP"
nếu [ -s "$KEYTAB_TMP" ]
sau đó
nếu /usr/bin/klist -e -k -t -K "$KEYTAB_TMP"
sau đó
nếu su "$PRINCIPAL" -c "env KRB5_TRACE=/tmp/krb5_trace.$PRINCIPAL.$METHOD /usr/bin/kinit [email protected] -V -k -t $KEYTAB_TMP"
các
mv -f "$KEYTAB_TMP" "$KEYTAB"
fi
fi
fi
Đây là dấu vết cho userB sử dụng aes:
[28458] 1625700358.740403: Nhận thông tin xác thực ban đầu cho [email protected]
[28458] 1625700358.740404: Tra cứu etypes trong keytab: aes256-cts
[28458] 1625700358.740406: Gửi yêu cầu chưa được xác thực
[28458] 1625700358.740407: Gửi yêu cầu (185 byte) tới FOO.COM
[28458] 1625700358.740408: Bắt đầu kết nối TCP với luồng 10.128.65.6:88
[28458] 1625700358.740409: Gửi yêu cầu TCP tới luồng 10.128.65.6:88
[28458] 1625700358.740410: Đã nhận câu trả lời (185 byte) từ luồng 10.128.65.6:88
[28458] 1625700358.740411: Chấm dứt kết nối TCP với luồng 10.128.65.6:88
[28458] 1625700358.740412: Phản hồi từ chủ KDC
[28458] 1625700358.740413: Đã nhận lỗi từ KDC: -1765328359/Yêu cầu xác thực trước bổ sung
[28458] 1625700358.740416: Xác thực trước bằng dữ liệu phương pháp KDC
[28458] 1625700358.740417: Xử lý các loại tiền xác thực: PA-PK-AS-REQ (16), PA-PK-AS-REP_OLD (15), PA-ETYPE-INFO2 (19), PA-ENC-DẤU THỜI GIAN (2)
[28458] 1625700358.740418: Thông tin etype đã chọn: etype rc4-hmac, salt "", params ""
[28458] 1625700358.740419: Truy xuất [email protected] từ FILE:/tmp/userB.keytab.aes256-cts-hmac-sha1-96.a148ff3d6c5ccc05f4644a2cdab2b23d (vno 0, mã hóa rc4-hmac) với kết quả: -1735/Không có bảng khóa mục được tìm thấy cho [email protected]
[28458] 1625700358.740420: Mô-đun tiền mã hóa (2) (thực) được trả về: -1765328203/Không tìm thấy mục nhập bảng khóa nào cho [email protected]
Ở đây nó đang sử dụng rc4:
[28706] 1625700362.799792: Nhận thông tin xác thực ban đầu cho [email protected]
[28706] 1625700362.799793: Tra cứu etypes trong keytab: rc4-hmac-exp
[28706] 1625700362.799795: Gửi yêu cầu chưa được xác thực
[28706] 1625700362.799796: Gửi yêu cầu (185 byte) tới FOO.COM
[28706] 1625700362.799797: Bắt đầu kết nối TCP với luồng 10.128.65.6:88
[28706] 1625700362.799798: Gửi yêu cầu TCP tới luồng 10.128.65.6:88
[28706] 1625700362.799799: Đã nhận câu trả lời (185 byte) từ luồng 10.128.65.6:88
[28706] 1625700362.799800: Chấm dứt kết nối TCP với luồng 10.128.65.6:88
[28706] 1625700362.799801: Phản hồi từ chủ KDC
[28706] 1625700362.799802: Đã nhận lỗi từ KDC: -1765328359/Yêu cầu xác thực trước bổ sung
[28706] 1625700362.799805: Xác thực trước bằng dữ liệu phương pháp KDC
[28706] 1625700362.799806: Xử lý các loại tiền xác thực: PA-PK-AS-REQ (16), PA-PK-AS-REP_OLD (15), PA-ETYPE-INFO2 (19), PA-ENC-DẤU THỜI GIAN (2)
[28706] 1625700362.799807: Thông tin etype đã chọn: etype rc4-hmac, salt "", params ""
[28706] 1625700362.799808: Truy xuất [email protected] từ FILE:/tmp/userB.keytab.rc4-hmac-exp.3ddbc476378a57f4a7f4dbb700af6316 (vno 0, mã hóa rc4-hmac) với kết quả: 0/Thành công
[28706] 1625700362.799809: Khóa AS thu được cho dấu thời gian được mã hóa: rc4-hmac/B9A0
[28706] 1625700362.799811: Encrypted timestamp (for 1625700362.799810): plain 301AA011180F32303231303730373233323630325AA10502030C3442, encrypted 88F8E7E775BC3B93D0F392D9967E061B36246899F942A33EC123103A531DB6D2FB580A3C96FA97E24A74A844A41B532506F54F4C
[28706] 1625700362.799812: Mô-đun Preauth được mã hóa_timestamp (2) (thực) được trả về: 0/Thành công
[28706] 1625700362.799813: Preauth được tạo cho yêu cầu tiếp theo: PA-ENC-TIMESTAMP (2)
[28706] 1625700362.799814: Đang gửi yêu cầu (260 byte) tới FOO.COM
[28706] 1625700362.799815: Bắt đầu kết nối TCP với luồng 10.128.65.6:88
[28706] 1625700362.799816: Gửi yêu cầu TCP tới luồng 10.128.65.6:88
[28706] 1625700362.799817: Đã nhận câu trả lời (1774 byte) từ luồng 10.128.65.6:88
[28706] 1625700362.799818: Chấm dứt kết nối TCP với luồng 10.128.65.6:88
[28706] 1625700362.799819: Phản hồi từ chủ KDC
[28706] 1625700362.799820: Muối có nguồn gốc từ tiền gốc: FOO.COMuserB
[28706] 1625700362.799821: Khóa AS được xác định bởi preauth: rc4-hmac/B9A0
[28706] 1625700362.799822: Trả lời AS đã giải mã; khóa phiên là: aes256-cts/F217
[28706] 1625700362.799823: đàm phán NHANH CHÓNG: không khả dụng
[28706] 1625700362.799824: Đang khởi tạo KEYRING:persistent:207:207 với người dùng chính mặc đị[email protected]
[28706] 1625700362.799825: Lưu trữ [email protected] -> krbtgt/[email protected] trong KEYRING:persistent:207:207
[28706] 1625700362.799826: Lưu cấu hình trong KEYRING:persistent:207:207 cho krbtgt/[email protected]: pa_type: 2
[28706] 1625700362.799827: Lưu trữ [email protected] -> krb5_ccache_conf_data/pa_type/krbtgt\/FOO.COM\@FOO.COM@X-CACHECONF: trong KEYRING:persistent:207:207
Đây là mẫu kết quả đầu ra của tập lệnh dành cho người dùng B:
+ mong đợi
đẻ trứng/usr/bin/ktutil
ktutil: addent -password -p [email protected] -k 1 -e aes256-cts-hmac-sha1-96
Mật khẩu cho [email protected]:
ktutil: wkt /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
ktutil: + chown userB:root /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
+ chmod ug=rw,o= /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
+ '[' -s /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb ']'
+ /usr/bin/klist -e -k -t -K /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
Tên tab khóa: TẬP TIN:/tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
Hiệu trưởng Dấu thời gian KNO
---- --------------------------------------------- ---------------------------
1 09/07/2021 10:24:05 [email protected] (aes256-cts-hmac-sha1-96) (0xdecff4a27a46a16267567a080311195e4e33d29caf3c4a2b782d2ed53b580c14)
+ su userB -c 'env KRB5_TRACE=/tmp/krb5_trace.userB.aes256-cts-hmac-sha1-96 /usr/bin/kinit [email protected] -V -k -t /tmp/userB.keytab.aes256 -cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb'
Sử dụng bộ đệm hiện có: liên tục:207:207
Sử dụng tiền gốc: [email protected]
Sử dụng keytab: /tmp/userB.keytab.aes256-cts-hmac-sha1-96.873c0ce2947f8bd6caea07de0d1d02eb
kinit: Xác thực trước không thành công: Không tìm thấy mục nhập bảng chính nào cho [email protected] trong khi nhận thông tin xác thực ban đầu
+ mong đợi
đẻ trứng/usr/bin/ktutil
ktutil: addent -password -p [email protected] -k 1 -e rc4-hmac-exp
Mật khẩu cho [email protected]:
ktutil: wkt /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
ktutil: + chown userB:root /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
+ chmod ug=rw,o= /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
+ '[' -s /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9 ']'
+ /usr/bin/klist -e -k -t -K /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Tên tab khóa: TẬP TIN:/tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Hiệu trưởng Dấu thời gian KNO
---- --------------------------------------------- ---------------------------
1 09/07/2021 10:24:30 [email protected] (arcfour-hmac-exp) (0xd6ed7055f216ab755e1827f582b35e24)
+ su userB -c 'env KRB5_TRACE=/tmp/krb5_trace.userB.rc4-hmac-exp /usr/bin/kinit [email protected] -V -k -t /tmp/userB.keytab.rc4-hmac-exp .0db811bfd7e10197146bcca944b942d9'
Sử dụng bộ đệm hiện có: liên tục:207:207
Sử dụng tiền gốc: [email protected]
Sử dụng keytab: /tmp/userB.keytab.rc4-hmac-exp.0db811bfd7e10197146bcca944b942d9
Đã xác thực với Kerberos v5
Lưu ý cả hai dấu vết đều có ..
Thông tin etype đã chọn: etype rc4-hmac, salt "", params ""X
Nhưng userA cuối cùng lại có cả hai nhật ký, điều này không thành công theo cách KHÁC:
Thông tin etype đã chọn: etype aes256-cts ...
Tôi đang làm việc với quản trị viên kerberos -- đó là AD. Hai người dùng ở các OU khác nhau -- có thể có các chính sách khác nhau dựa trên OU không? Có điều gì tôi nên nhờ quản trị viên xem xét không?