河端善博 ログ

RSS 開発、セキュリティ、日記

)
Please read my disclaimer.

2433/tcp をつかう「サーバーの非表示」

「サーバーネットワークユーティリティ」の「サーバーを非表示」に
ついて簡単にまとめてみました。

■概要
 TCP/IP の「サーバーを非表示」に設定すると、2433/tcp が利用される

■内容
 サーバーネットワークユーティリティを起動して、
 「TCP/IP」プロトコルの「プロパティ」を選択すると、
 「ネットワークプロトコル既定値の設定」で、
 チェックボックス「サーバーを非表示」があります。

 この設定は、次のレジストリに相当します

 HKEY_LOCAL_MACHINE\SOFTWARE
  \Microsoft
   \MSSQLServer
    \MSSQLServer
     \SuperSocketNetLib
      \Tcp
       TcpHideFlag (REG_DWORD)

 このチェックボックスをオンにするか、レジストリの値を 1 にして、
 SQL Server をリスタートすると、
 SQL Server のポートは、通常の 1433/tcp ではなく2433/tcp になります。

 ポートが変更されたことは、次のコマンドを
 コマンドプロンプトから実行すると確認できます。
 isql -S localhost,2433 -E -Q "PRINT 'OK'"
 ここで、注意する点があります。
 「サーバーを非表示が有効の場合、
 SQL Server 起動時にポートが 2433/tcp に設定しなおされる」
 「既定のプロパティ」または、レジストリ TcpPort にて、
 ポート番号を 1433 または、任意の設定していた場合でも、
 非表示が有効になっていると、
 SQL Server の起動時に 2433 に変更になります。

 サーバーを非表示をいったん有効にして、SQL Server を起動しなおしたあと、
 再度、サーバーネットワークユーティリティにて、「既定のポート」をみると、
 2433 に変更になっていることがわかります。
 レジストリ TcpPort でも確認できます。

 たとえば、9999 に設定していても、2433 になります。

 なお、サーバーの非表示を有効から無効にしても、
 ポート番号は、2433 のままになりますので、これも注意が必要です。
 1433 に明示的に修正してください。

■スキャンする場合には、2433/tcp も。
 手軽なセキュリティ対策として、「サーバーの非表示」を
 設定している場合が考えられます。

 そこで、SQL Server のうごいているコンピュータを検索する場合は、
 1433/tcp だけでなく、2433/tcp もスキャンすることをお勧めします。

■1434/udp は LISTEN のまま
 「サーバーの非表示」を有効にしても、1434/udp は、LISTEN になっています。
 1434/udp を LISTEN したくない場合は、TCP/IP プロトコルを含むプロトコルすべてを
 無効にするか、IPSec やファイアウォールで防御する必要があります。

ふと、「サーバーの非表示」って何だろうと、思いついて、調べなおしてみました。

10/08/2003 5:28 AM | Add Comment | #SQL Server #Security


Subscribe to my RSS feed.

Powered by BlogX