使用できるコマンドラインプログラムはありますか?
使用できるコマンドラインプログラムはありますか?
回答:
頭の中で質問をひねる必要があると思います。Active Directoryは、KerberosとNTLMの両方をサポートしています。Windowsは最初にKerberosを試行し、すべての要件が満たされない場合はNTLMにフォールバックします。
たとえば、\ server1 \ shareなどの名前でファイル共有にアクセスするとKerberosが呼び出され、適切な許可があれば成功します。ただし、IPアドレスを使用して同じファイル共有にアクセスすると、Kerberosが最初に呼び出されて失敗し(IPアドレスにSPNがないため)、NTLMにフェールオーバーします。
したがって、プログラムがどのようにADに対して認証を試みているかを判断し、使用されているプロトコルを通知する必要があります。
この質問をするきっかけは何だったのか知りたいです。
コンピューターがサーバーであるかワークステーションであるかに関係なく、ログオンイベントを実際に監査する必要があります。どのユーザーがシステムにアクセスしているかを把握し、セキュリティ関連の問題をトラブルシューティングすると役立ちます。
グループポリシーを使用して、監査ポリシーを変更できます。スタート...実行... gpedit.msc ...コンピューター構成、Windows設定、セキュリティ設定、ローカルポリシー、監査ポリシー、「ログオンイベントの監査」。[成功]および[失敗]チェックボックスをオンにします。ログアウトしてからログインして、Windowsセキュリティイベントログで一般的な540イベントを確認してください。
Netstatは、リスニングするすべてのTCPおよびUDP接続を表示します。オプション-naを使用すると、すべての接続に使用され、名前やポートの解決は行われません。「b」オプションは、関連するプログラムを表示することです。DNSが実行されている場合、他の多くの接続が表示される可能性があるため、TCPも指定できます。
Kerberosは、Active Directoryドメインコントローラーを展開する場合に最も確実に実行されます。
netstat -nab
The requested operation requires elevation.
ログオンイベントを監査すると仮定して、セキュリティイベントログを確認し、540個のイベントを探します。特定の認証がKerberosとNTLMのどちらで行われたかを教えてくれます。
public string FindAllUsers()
{
string strReturn="";
try
{
DirectoryEntry directoryEntry = new DirectoryEntry("WinNT://" + Environment.UserDomainName);
string userNames = "";
string authenticationType = "";
foreach (DirectoryEntry child in directoryEntry.Children)
{
if (child.SchemaClassName == "User")
{
userNames += child.Name + Environment.NewLine; //Iterates and binds all user using a newline
authenticationType += child.Username + Environment.NewLine;
}
}
strReturn = userNames + "\n\n" + authenticationType;
//Console.WriteLine("************************Users************************");
//Console.WriteLine(userNames);
//Console.WriteLine("*****************Authentication Type*****************");
//Console.WriteLine(authenticationType);
}
catch (Exception)
{
Console.WriteLine("Network error occured.");
strReturn = "";
}
return strReturn;
}
このツールを試すことができます。 http://blog.michelbarneveld.nl/media/p/33.aspx
これは、Webサイトで認証をテストするツールです。使用されている認証タイプが表示されます:Kerberos、NTLM、基本、なし。ただし、使用されているSPN、HTTPヘッダー、復号化されたNTLMおよびKerberos認証ヘッダーなどの他の情報も表示されます。また、Kerberosチケットを表示および削除することもできます。
関係するクライアント/サーバーに依存します。たとえば、Webページがあります(申し訳ありませんが、今すぐ検索する時間はありません)。Kerberosを使用したかNTLMを使用したかを通知するWebサイトに配置できます。ただし、SQL Serverが使用した認証方法を知る方法はありません。以前に確認されたように、セキュリティログが表示する場合があります。
なぜあなたは見つけようとしているのですか?