Không thể sử dụng SSL hoặc TLS để truy cập máy chủ ldap OpenDirectory


4

Tôi không thể kết nối với hệ thống openserver của mình bằng kết nối SSL / TLS.

Không có vấn đề giao tiếp mà không có SSL trên cổng 389 và có thể kết nối và truy xuất thông tin thư mục mà không gặp sự cố.

Tuy nhiên, khi sử dụng cổng 636 và mong muốn liên lạc an toàn, kết nối không kết nối được.

Kết nối openssl bên dưới cố gắng nêu chi tiết dấu vết cho biết không có kết nối ssl nào được thiết lập.

Ví dụ đầu ra từ openssl cố gắng kết nối

Hình ảnh sau đây là từ ServerAdmin cho biết SSL đã được bật và chứng chỉ đã được cung cấp cho kết nối máy chủ.

Cấu hình ServerAdmin

Cổng 636 được mở trên máy chủ ldap và không có tường lửa nào nằm giữa hai máy chủ.

sauce:Java frank$ netstat -an | grep 636
tcp6       0      0  *.636                  *.*                    LISTEN
tcp4       0      0  *.636                  *.*                    LISTEN

Kết nối telnet đến cổng 636 trên máy chủ thành công cho thấy rằng không có sự cố tường lửa nào trong khi chơi.

Bất cứ ai cũng có thể cung cấp bất kỳ mục bổ sung để kiểm tra để xác định và khắc phục nguyên nhân của vấn đề này?


Hệ điều hành máy chủ là gì và hệ điều hành của máy khách bạn đang sử dụng là gì?
Andrew U.

Hệ điều hành máy chủ là con báo tuyết, hệ điều hành máy khách cho mục đích thử nghiệm là linux
sweetfa

SSL handshake has read 0 bytes and written 319 bytes: có vẻ như đây có thể là sự cố tường lửa. Kiểm tra xem cổng đã mở chưa và thử tắt tường lửa. Bạn cũng có thể kiểm tra cổng nào được mở bằng cách sử dụng netstat -na.
bennettp123

Một suy nghĩ khác: Các cổng TCP và UDP nổi tiếng của Apple liệt kê cổng TCP 625 là "Proxy thư mục mở (ODProxy)", " duy trì các kết nối proxy đến với daemon opendirectoryd (8) cục bộ ", bất kể điều đó có nghĩa là gì. Có thể thử cổng 625 thay thế?
bennettp123

Câu trả lời:


1

Sau đây là các bước tôi đã thực hiện để giải quyết vấn đề này:

Khởi động lại máy chủ ở chế độ an toàn (giữ phím shift trong khi khởi động lại)

Hãy để nó nhàn rỗi một lúc (có vẻ như nó đang dọn dẹp bộ đệm trong chế độ này)

Dừng máy chủ slapd hiện có

 sudo launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist

Đặt chứng chỉ chính xác GUID trong tệp /etc/openldap/slapd_macosxserver.conf . Điều này có thể được xác định từ các nội dung của / etc / chứng chỉ thư mục

sudo sed -e 's/oldguid/newguid/' /etc/openldap/slapd_macosxserver.conf >/tmp/conffile
sudo mv /tmp/conffile /etc/openldap/slapd_macosxserver.conf

Xóa các giá trị chứng chỉ TLS được định cấu hình khỏi tệp /etc/openldap/slapd.d/cn=config.ldif

sudo vi /etc/openldap/slapd.d/cn=config.ldif
remove any lines beginning with olcTLSCertificate

Bắt đầu lại máy chủ slapd

 sudo launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist

Khởi động lại máy chủ một lần nữa vào chế độ tiêu chuẩn.

Sau đó, từ một máy khách có hệ điều hành linux hoặc mac osx, bạn có thể kết nối qua SSL và các chứng chỉ có đúng không bằng cách sử dụng lệnh

openssl s_client -connect ldap.yourdomain:636 -showcerts

Nếu thành công, bạn sẽ nhận được một đống chứng chỉ máy chủ cũng như mô tả chi tiết kết nối:

No client certificate CA names sent
---
SSL handshake has read 5209 bytes and written 807 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: C8E0F4A4ED24021DB4D98ACF5A9ACDC2293BC3961BF2AE90026115D899369E73
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    ...
    Start Time: 1400140597
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)

Một số lưu ý khác:

  1. Apple gợi ý rằng bạn có thể sử dụng các chuỗi chứng chỉ tự ký và sở hữu ( http://support.apple.com/kb/ht3745 ). Tôi sử dụng một chuỗi tự ký và nó đã thành công.
  2. Cổng 636 là cổng ldaps tiêu chuẩn và là cổng được sử dụng bởi OpenDirectory (slapd)
  3. TLS1 được hỗ trợ như có thể nhìn thấy từ thử nghiệm kết nối openssl
  4. Tên DNS và tên máy chủ khác nhau không thành vấn đề (Tôi đã thử cả hai cách với khởi động lại giữa)
  5. Khác biệt DNS ngược không thành vấn đề (Tôi đã thử cả hai cách với khởi động lại giữa)
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.