0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQLServerへの接続がSSL無効にしたのになぜか接続ができない場合確認する場所

Posted at

SQL ServerでSSL接続エラー時に確認すべきログの場所

SQL Serverで「クライアントはSSL無効で接続しようとしているのに、サーバー側でSSL有効が強制されて接続できない」などSSL/TLS関連のエラーが発生した場合、以下のログや場所を確認する。

SQL Serverエラーログ(ERRORLOG)

  • サーバー上で読み込まれた証明書や暗号化関連の情報は、SQL Serverのエラーログ(通常はERRORLOGファイル)に記録される。
  • 証明書のロード状況や自己署名証明書の利用有無、証明書のハッシュ値などもここで確認できる。
  • ログディレクトリは、SQL Serverインスタンスのデフォルト設定やSQL Server Configuration Managerで確認できます。
C:\Program Files\Microsoft SQL Server\MSSQL.<インスタンス番号>\MSSQL\LOG\ERRORLOG

もしくは

C:\Program Files\Microsoft SQL Server\MSSQL<バージョン>.<インスタンス名>\MSSQL\Log
  • 実際の保存場所は、SQL Server構成マネージャーの「SQL Serverのサービス」→対象インスタンスの「プロパティ」→「起動時のパラメーター」タブで「-e」パラメータとして確認できる。

Windowsイベントログ(システムイベントログ)

  • SSL/TLSハンドシェイクの失敗や証明書の信頼性問題は、Windowsの「システム」イベントログにも記録される。

  • 特に「Schannel」ソースのエラー(例:Event ID 36882)は証明書の信頼性やTLS通信エラーの詳細を示す。

  • 信頼されていない証明書による失敗(Event ID: 36882)の例

Log Name: System
Source: Schannel
Date: <日時>
Event ID: 36882
Task Category: None
Level: Error
User: <ユーザー名>
Computer: <コンピュータ名>
Description:
The certificate received from the remote server was issued by an untrusted certificate authority. Because of this, none of the data contained in the certificate can be validated. The TLS connection request has failed. The attached data contains the server certificate.
  • 致命的なTLSエラー(Event ID: 36888
Log Name: System
Source: Schannel
Date: <日時>
Event ID: 36888
Task Category: None
Level: Error
User: <ユーザー名>
Computer: <コンピュータ名>
Description:
A fatal alert was generated and sent to the remote endpoint. This may result in termination of the connection. The TLS protocol defined fatal error code is <コード>. The Windows SChannel error state is <状態>.

SQL Server構成マネージャの設定確認

  • 「SQL Server Network Configuration」→「Protocols for 」→「プロパティ」→「Flags」タブで「Force Encryption」の値を確認。
  • 「Certificate」タブでどの証明書が使用されているか確認できる。
  • 「Force Encryption」(暗号化の強制)オプションの初期値は「いいえ(No)」。

レジストリ設定(TLS/SSLプロトコルの有効・無効)

  • TLS/SSLの有効・無効設定は、Windowsレジストリの以下のキーで確認できます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
  • クライアント・サーバー両方のTLSバージョン有効状態を確認

まとめ

  • SQL Serverのエラーログ(ERRORLOG)
  • Windowsシステムイベントログ(Schannelエラー)
  • SQL Server構成マネージャの暗号化・証明書設定
  • WindowsレジストリのTLS/SSLプロトコル設定

これらを順に確認し、証明書の状態や暗号化強制設定、TLSバージョンの整合性をチェックする

Glue v5でSQLServerへの接続ができなくなった場合

  • AWS Glue v4では、SQL ServerへのJDBC接続時にSSL(暗号化)を無効化しても接続できていましたが、Glue v5ではSSL無効だと接続できなくなった理由は、JDBCドライバーやGlueランタイムのセキュリティポリシーが強化されたため。
  • JDBC URLでencrypt=falseや類似のパラメータを指定しても、接続が拒否されるケースが増えているらしい。
  • 証明書検証スキップ(非推奨)するには以下
encrypt=true;trustServerCertificate=true	

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?