Windows

Windows 認証情報メニュー項目には、SMB アカウント名、パスワード、ドメイン名などの情報を Nessus に提供する設定があります。デフォルトで、Windows ホストにログインするためのユーザー名、パスワード、ドメインを指定できます。また、Nessus では、Windows ベースのシステム用に複数の異なるタイプの認証方法がサポートされています。

認証方法について

  • Lanman 認証の方法は、Windows NT と初期の Windows 2000 サーバーのデプロイメントで普及していました。Lanman 認証方法は、下位互換性用に保持されています。
  • Windows NT で導入された NTLM 認証方法 は、 Lanman 認証よりもセキュリティが向上しています。拡張バージョンである NTLMv2 は、NTLM よりも暗号学的に安全性が高く、Nessus が Windows Server にログインしようとするときに選択するデフォルトの認証方法となっています。NTLMv2 は SMB 署名を使用できます。
  • SMB 署名は、Windows Server との間のすべての SMB トラフィックに適用される暗号化チェックサムです。システム管理者の多くは、サーバーで SMB 署名機能を有効化し、リモートユーザーが 100% 認証されており、ドメインの一部であることを確認します。さらに、John the Ripper や L0phtCrack などのツールによる辞書攻撃で簡単に破られることのない強力なパスワードの使用を義務付けるポリシーを実施するようにしてください。SMB 署名は、リモートの Windows Server から求められた場合、Nessus が自動的に使用します。Windows セキュリティに対し、コンピューターからの不正なハッシュの再利用によるサーバーの攻撃など、さまざまな種類の攻撃が行われています。SMB 署名は、これらの中間者攻撃を防ぐためにセキュリティ層を追加します。
  • SPNEGO (Simple and Protected Negotiate) プロトコルは、ユーザーの Windows ログイン認証情報を介して、Windows クライアントからさまざまな保護リソースへのシングルサインオン (SSO) 機能を提供します。Nessus は、SPNEGO スキャンとポリシーの使用をサポートします : LMv2 認証付きの NTLMSSP または Kerberos と RC4 暗号化のいずれかで 151 のうち 54 をスキャンします。SPNEGO 認証は、NTLM または Kerberos 認証を通じて行われます。Nessus ポリシーで設定する必要はありません。
  • 拡張セキュリティスキーム (Kerberos、SPNEGO など) がサポートされていないか、または失敗した場合、Nessus は NTLMSSP/LMv2 認証を介してログインを試みます。それが失敗した場合、Nessus は NTLM 認証を使用してログインを試行します。
  • Nessus は、Windows ドメインでの Kerberos 認証の使用もサポートしています。上記を設定するには、Kerberos ドメインコントローラーの IP アドレス (実際には、Windows Active Directory サーバーの IP アドレス) を提供する必要があります。

サーバーメッセージブロック (SMB) は、コンピューターがネットワーク全体で情報を共有できるようにするファイル共有プロトコルです。この情報を Nessus に提供することで、リモートの Windows ホストからローカル情報を見つけられるようになります。たとえば、認証情報を使用すると、Nessus は重要なセキュリティパッチが適用されているかどうかを判断できます。他の SMB パラメーターをデフォルト設定から変更する必要はありません。

SMB ドメイン設定はオプションであり、Nessus はこの設定がなくてもドメイン認証情報を使用してログオンできます。ユーザー名、パスワード、オプションのドメインは、ターゲットのマシンが認識しているアカウントを参照します。たとえば、joesmith というユーザー名と my4x4mpl3 というパスワードを入力すると、Windows Server は、まずローカルシステムのユーザーリストでこのユーザー名を検索し、それがドメインの一部であるかどうかを判断します。

使用される認証情報に関係なく、Nessus は常に次の組み合わせで Windows Server へのログインを試行します。

  • パスワードを持たない管理者
  • ゲストアカウントをテストするためのランダムなユーザー名とパスワード
  • ユーザー名とパスワードなしで null セッションをテスト

実際のドメイン名は、アカウント名がコンピューター上のアカウント名とドメイン上で異なる場合にのみ必要となります。Windows Server とドメイン内で管理者アカウントを持つことができます。この場合、ローカルサーバーにログオンするために、管理者のユーザー名がそのアカウントのパスワードと共に使用されます。ドメインにログオンするには、管理者のユーザー名をメインパスワードとドメイン名とともに使用します。

複数の SMB アカウントが設定されている場合、Nessus は提供された認証情報で順次ログインを試行します。Nessus は、一連の認証情報で認証できるようになると、提供された次の認証情報を確認しますが、以前のアカウントがユーザーアクセスを提供したときに管理者権限が付与されている場合にのみそれらを使用します。

Windows の一部のバージョンでは、新しいアカウントが作成でき、そのアカウントを管理者として指定できます。これらのアカウントは、認証情報スキャンの実行に必ずしも適しているとは限りません。Tenable は、完全なアクセスが許可されるように、認証情報のスキャンには管理者と名付けられたオリジナルの管理アカウントを使用することを推奨します。Windows の一部のバージョンでは、このアカウントは非表示となっている場合があります。実際の管理者アカウントは、管理者権限で DOS プロンプトを実行し、次のコマンドを入力することで非表示にできます。

C:\> net user administrator /active:yes

SMB アカウントが制限付き管理者権限で作成されている場合、Nessus は複数のドメインを簡単かつ安全にスキャンできます。Tenable は、ネットワーク管理者がテストを容易にするために特定のドメインアカウントの作成を検討することを推奨しています。Nessus は、ドメインアカウントが提供された場合、Windows 10、11、Windows Server 2012、Server 2012 R2、Server 2016、Server 2019、Server 2022 に対してさまざまなセキュリティチェックをより正確に行えます。アカウントが提供されていない場合でも、Nessus は複数のチェックを試行します。

注意: Windows リモートレジストリサービスを使用すると、認証情報を持つリモートコンピューターが監査対象のコンピューターのレジストリにアクセスできます。サービスが実行されていない場合、認証情報が完全でも、キーと値をレジストリから読み取れません。認証情報を使用してシステムを完全に監査するには、Nessus 認証情報スキャン用にこのサービスを開始する必要があります。

詳細は、Tenable ブログ投稿を参照してください。

Windows システムでの認証情報スキャンでは、完全な管理者レベルのアカウントを使用する必要があります。Microsoft のセキュリティ情報とソフトウェア更新プログラムにより、レジストリが読み取られ、ソフトウェアパッチレベルは管理者権限なしでは信頼できないと判断されましたが、すべてではありません。Nessus プラグインは、提供された認証情報が完全な管理者アクセス権を持っていることを確認し、適切に実行されるようにします。たとえば、ファイルシステムを直接読み取るためには、完全な管理者としてアクセスする必要があります。これにより Nessus をコンピューターにアタッチし、ファイル分析を直接実行して評価対象システムの実際のパッチレベルを判断できます。

認証方法