Điểm:0

Kerberos kết hợp với keytab không hoạt động với một số phương thức mã hóa -- MỖI NGƯỜI DÙNG

lá cờ ru

Tôi có hai người dùng, giả sử người dùngAngười dùngB. người dùngA có thể sử dụng một keytab với aes nhưng không rc4ngườ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?

user1686 avatar
lá cờ fr
Bạn có thể lấy nhật ký theo dõi của bộ _kinit dựa trên mật khẩu_ cho những người dùng đó không? Mật khẩu của những người dùng đó đã thay đổi cách đây bao lâu?
Điểm:1
lá cờ cn

msDS-SupportedEncryptionTypes có thể sẽ khác nhau giữa hai người dùng.

Nhận một phông chữ đơn cách, lật các bit bạn muốn với tài liệu trong liên kết ở trên. (AD thể hiện giá trị này dưới dạng số thập phân thông qua giao diện LDAP của nó.)

Hướng dẫn cờ bit 000000000000IHGF00000000000EDCBA
00000000000000000000000000011000 24 (Số thập phân) là những gì bạn chỉ nên muốn cho AES.
00000000000000010000000000011000 65560 (Số thập phân) chỉ là AES với FAST.

Trong OpenLDAP, điều này sẽ giống như:

$ ldapsearch -h example.com -b DC=example,DC=com,cn=tên người dùng msDS-SupportedEncryptionTypes
dn: CN=tên người dùng,OU=Người dùng miền,DC=ví dụ,DC=com
msDS-SupportedEncryptionTypes: 24

Từ kích hoạt các người dùng và máy tính nó sẽ giống như:
[Hộp thoại AD hiển thị Tùy chọn AES Kerberos]

lá cờ ru
Trường này có phải hiển thị khi tôi nhìn vào người dùng trong truy vấn ldap không? Tôi nghĩ cả người dùng đều không có bất kỳ thứ gì giống như lĩnh vực này.
84104 avatar
lá cờ cn
@rrauenza Phụ thuộc vào những gì bạn đang sử dụng để truy vấn, nhưng có. Tôi đã thêm một số ví dụ đầu ra, cho cả OpenLDAP và cả cho `Người dùng Active Directory và Máy tính`.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.