0

NTLM を使用し、サーバー モジュールを使用せずに、Windows ドメインにない Linux マシン上の Apache2 サーバーで Windows ドメインに SSO を作成しようとしています。これが可能かどうかもわかりません。しかし、私が理解したことと、次に知るべきことをここで示します。

Authorizationまず、ブラウザ (IE および FF)が NTLM データ (メッセージ タイプ 1) を含むヘッダーを送信するオプションをオンにしました。これは機能します。次のような文字列が得られます。

NTLMSSP²¢1 (±USERS-PCDOMAIN

しかし、次は何ですか?この文字列を、AD が正しく実行されているサーバーに送信する必要がありますか? したがって、私のサーバーは IP として知られSERVER1.DOMAINており、IP を持っています192.168.1.14

メッセージ タイプ 1 を AD サーバーに送信して NTLM チャレンジ メッセージ (タイプ 2) を返すには、どのプロトコルを使用し、どのような方法で行うことができますか?

私は次のようなものを書く必要があると思います:

<?php

$fp = fsockopen("192.168.1.14", 80 /* <--- which port? */, $errno, $errstr, 30);

if (!$fp)
    die("$errstr ($errno)");

fwrite($fp, $headers['Authorization'] . "\r\n");

$ntlmChallengeData = '';

while (!feof($fp)) {
    $ntlmChallengeData .= fgets($fp, 128);
}

fclose($fp);

var_dump($ntlmChallengeData); // The challenge data

しかし、Windows Server はどのポートで NTLM データに応答するのでしょうか?

4

1 に答える 1