|
![]()
Windows NTでは、サービスパック3以降SMBレベルのメッセージに対して、メッセージダイジェスト関数を用いたデジタル署名を行う機能が提供されています。この機能を利用することで、サーバとクライアントにおいて相互認証が可能になり、中継攻撃に対応することができます。(Q161372)
デジタル署名を利用するには、クライアントとサーバにおいて以下の設定が行われている必要があります。なお、「RequireSecuritySignature」が設定されている場合、通信相手側で「EnableSecuritySignature」が設定されてない場合には接続ができません。
*レジストリを編集する前には、必ずバックアップを行ってください。
「レジストリエディタ」を起動し、次のレジストリキー値を作成または設定した後、リブートします。
サーバ
| Key | HKLM\System\CurrentControlSet\Services\LanManServer\Parameters |
| Name | EnableSecuritySignature |
| Type | REG_DWORD |
| Value | 0 (無効), 1 (有効) デフォルトでは無効(0) |
| Key | HKLM\System\CurrentControlSet\Services\LanManServer\Parameters |
| Name | RequireSecuritySignature |
| Type | REG_DWORD |
| Value | 0 (無効), 1 (有効) デフォルトでは無効(0) |
クライアント
| Key | HKLM\System\CurrentControlSet\Services\Rdr\Parameters |
| Name | EnableSecuritySignature |
| Type | REG_DWORD |
| Value | 0 (無効), 1 (有効) デフォルトで有効(1) |
| Key | HKLM\System\CurrentControlSet\Services\Rdr\Parameters |
| Name | RequireSecuritySignature |
| Type | REG_DWORD |
| Value | 0 (無効), 1 (有効) デフォルトでは無効(0) |
![]()
「ローカルポリシー」の中の「セキュリティオプション」で、以下を「有効」に設定します。
可能なとき、クライアント側の通信にデジタル署名を付ける
可能なとき、サーバー側の通信にデジタル署名を付ける
常にクライアント側の通信にデジタル署名を付ける
常にサーバー側の通信にデジタル署名を付ける
![]()
設定値による動作の違いは以下の表のようになります。
○ : 接続可能、署名有効
△ : 接続可能、署名無効
× : 接続不可
Ess : EnableSecuritySignature
Rss : RequireSecuritySignature
サーバ |
||||
ワークステーション |
Ess = 0 |
Ess = 0 |
Ess = 1 |
Ess = 1 |
Ess = 0 |
△ | △ | △ | × |
| Ess = 0 Rss = 1 |
△ | △ | △ | × |
Ess = 1 |
△ | △ | ○ | ○ |
| Ess = 1 Rss = 1 |
× | × | ○ | ○ |