14.7 権限のないユーザーによるリソース使用の制限

リスナーまたはデータベース・サーバーへの権限のないアクセスにより、サービス拒否攻撃を受ける可能性があります。この攻撃は、権限のあるユーザーがシステムにアクセスして使用する機能を、権限のないクライアントがブロックしようとします。悪意のあるクライアントが、接続、プロセスまたはスレッドなどのリソースを単に消費する目的で、リスナーやデータベース・サーバーに過剰な接続要求を送信する場合があります。この種の攻撃を軽減するには、認証の前にリソースを保持できる時間の制限を構成します。

構成された制限を超えようとするクライアントは接続が終了し、クライアントのIPアドレスを含む監査証跡がロギングされます。

権限のないユーザーによるリソース使用を制限して監査証跡を使用可能にするには、次の表で説明するパラメータに制限時間の値を設定します。これらのパラメータにはデフォルト値はありません。

表14-1 接続タイムアウトのパラメータ

パラメータ ファイル 説明

INBOUND_CONNECT_TIMEOUT_listener_name

listener.ora

ネットワーク接続が確立した後、クライアントがリスナーへの接続要求を完了する時間を秒単位で指定します。

リスナーが指定の時間内にクライアント・リクエストを受信しない場合、接続は終了します。また、クライアントのIPアドレスと、エラー・メッセージ「ORA-12525: リスナーは、クライアントのリクエストを許容時間内に受信しませんでした」がlistener.logファイルに記録されます。

SQLNET.INBOUND_CONNECT_TIMEOUT

データベース・サーバー上のsqlnet.ora

クライアントがデータベース・サーバーに接続して必要な認証情報を提供する時間を、秒単位で指定します。

クライアントが指定した時間内での接続の確立と認証の完了に失敗した場合、データベース・サーバーは接続を終了します。データベース・サーバーは、クライアントのIPアドレスおよびORA-12170のエラー・メッセージをデータベース・アラート・ログ・ファイルに記録します。

クライアントは、「ORA-12547: TNS: 接続を失いました」または「ORA-12637: パケット受信に失敗しました」エラー・メッセージのいずれかを受信します。

これらのパラメータの値を指定する場合、次の推奨事項を考慮してください。

  • 両方のパラメータの初期値を低く設定してください。

  • INBOUND_CONNECT_TIMEOUT_listener_nameパラメータの値を、SQLNET.INBOUND_CONNECT_TIMEOUTパラメータよりも低い値に設定してください。

たとえば、INBOUND_CONNECT_TIMEOUT_listener_nameパラメータを2秒に設定し、INBOUND_CONNECT_TIMEOUTパラメータを3秒に設定します。特定の環境におけるシステムあるいはネットワークの通常の遅延により、クライアントが指定の時間内に接続を完了できない場合は、必要なだけ時間を増やします。