

**環境**  
OS: Microsoft Windows Server 2012 R2  
SQL: Microsoft SQL Server 2008 R2 Express

**実現したいこと**  
nmapなどのポートスキャンツールでバージョン情報が表示されているのですが、  
MSSQLのバージョンを非表示とする方法があるようでしたらお教え頂けますでしょうか。  
DBサーバ関連は、Webサーバ(Apacheなど)のようにバナー情報を非表示にすること自体ができないのでしょうか。

MSSQLに関わらず、MySQLなど他のDBに関してもバージョン情報を非表示にする情報を見つけることができませんでした。


CC BY-SA 4.0
2022-12-07T03:57:37.893
92614
2022-12-07T14:18:25.090
2022-12-07T06:35:26.277
3060
55822
question
sql-server
SQL Server のバージョン情報を非表示にするには？


nmapとSQL Serverの組み合わせが具体的にどうかはわかりませんが一般論。

スキャンツールがサーバのバージョンを識別する方法はいくつかあります。

  1. レスポンスヘッダやデータに具体的にバージョンが記載される(HTTPとか)
  2. ヘッダやデータにバージョンを示すような値がある
  3. やりとりの特徴をシグネチャベースで識別

設定で隠せるのは大抵1.の場合でしょう。2.についてはバージョンによって解釈を変更する必要があるなどプロトコル上重要な場合もあり、隠せないというか隠すと困るものが多いのではないでしょうか。3.はどうしようもありません。

要は「設定で隠せるはず」というものではないということです。

* * *

> バージョン情報が見られて困る人に見えるような 構成なら、それ自体が問題

違います。バージョン情報が見えることと、システムが攻撃に対して安全かは本来無関係です。

  1. バージョン情報が見える、セキュリティは確保されている
  2. バージョン情報が見えない、セキュリティは確保されている
  3. バージョン情報が見える、セキュリティは確保されていない
  4. バージョン情報が見えない、セキュリティは確保されていない

で、まずいのは3.4.です。

十分な認証機構もデータ保護もなかった一昔前であれば「DBは隠すもの」が絶対でしたが、今時TLSによる暗号化や認証もできるし、考え方自体も内部ネットワークも信頼できない前提に転換しつつあります。

外部だろうが内部だろうがセキュリティが保たれた状態にするのが理想で、バージョン情報が見える見えない(表示されてる・されてない、接続できる・できないの両方)は本質的にはそれには関係ない話です。


CC BY-SA 4.0
2022-12-07T14:18:25.090
92626
2022-12-07T14:18:25.090
5793
92614
answer