Skip to main content

 

OutSystems 11オンラインヘルプ

 

OutSystems

総当たり攻撃からの保護

認証によってセキュリティを強化したアプリケーションであっても、ユーザーのパスワードを体系的に推定する総当たり攻撃の対象になり得ます。OutSystemsはこうした攻撃への対策となる、ビルトインの保護メカニズムを提供します。

  • ユーザーレベルでの攻撃: 特定のIPアドレスのユーザーから攻撃が仕掛けられます。この場合、そのユーザーは攻撃者のIPアドレスからログインできないようブロックされます。正当なユーザーは、自身のIPアドレスからログインできます。

  • IPレベルでの攻撃: 攻撃者がユーザーのリストを持っており、特定のIPアドレスからそのパスワードの推定を試みます。この場合は、攻撃者のIPアドレスをブロックします。 IPアドレスをブロックすることで、プラットフォームは攻撃者がすべてのユーザーを試してアプリケーションに大量のリクエストを送れないようにし、DoS(サービス妨害)攻撃につながる可能性も防ぎます。

提供される対策は、2段階のバックオフメカニズムで構成されています。

  1. 1段階目のバックオフ
    一定の期間内に一定の回数ログイン試行を失敗すると、以下のことが起こります。

    • ユーザーレベルでの攻撃: ユーザーはそのIPアドレスについてブロックされ、短時間(数分間)ログインできなくなります。

    • IPレベルでの攻撃: そのIPアドレスはブロックされ、ユーザーは短時間(数分間)ログインできなくなります。

    どちらの場合でも、エラーメッセージは「無効なユーザー名またはパスワード」から「ログインの失敗が多すぎます。数分後に再試行してください」に変わります。

  2. 2段階目のバックオフ
    攻撃が継続されて2段階目の上限に達すると、ログインは長時間(約1時間)ブロックされます。 エラーメッセージは「ログインの失敗が多すぎます。60分後に再試行してください」に変わります。

アプリケーションのユーザーとIPアドレスのブロックを解除する

たとえば以下のような場合、ユーザーやIPアドレスが正当であってもブロックされる可能性があります。

  • ユーザーがパスワードを忘れ、何回もログインしようとしている場合。

  • 総当たり攻撃によって、多くの正当なユーザーも使用しているIPアドレス(ISPなど)がブロックされた場合。

ユーザーやIPアドレスのブロックを解除して、正常なログインのプロセスを回復するには、ユーザー管理コンソール(http://\<ご利用のサーバー>/Users)に移動します。

ユーザーのブロックを解除するには、以下の手順を実行します。

  1. Usersアプリケーションにログインします。

  2. [User details]ページに移動します。そのユーザーのログイン試行がブロックされている場合、ページ上に警告メッセージが表示されています。

  3. ページの最下部に移動します。ユーザーがログイン試行をブロックされているIPアドレスの一覧があります。

  4. [Unblock]をクリックして、希望するIPアドレスでユーザーの正常なログインプロセスを回復します。

IPアドレスのブロックを解除するには、以下の手順を実行します。

  1. Usersアプリケーションにログインします。

  2. 画面の右側で[Blocked Addresses]リンクをクリックして、ブロックされているIPアドレスの掲載されているページを表示します。

  3. [Unblock]をクリックすると、希望するIPアドレスのすべてのユーザーについて、正常なログインプロセスを回復できます。

管理者ユーザーのブロックを解除する

管理者ユーザーがブロックされた場合、ブロック解除するには以下のいずれかの方法を行います。

  • 異なるIPアドレスから管理者としてログインして、ブロックを解除する。

  • ユーザーとチームを管理する権限のあるユーザーでログインして、ブロックを解除する。

LifeTimeとService Centerでのブロックを解除する

LifeTimeとService Centerは総当たり攻撃から保護されているため、そのユーザーがブロックされる場合があります。ブロックされた場合は、インフラ管理コンソール(LifeTime)を使用してブロックを解除します。インストールされていない場合は、環境管理コンソール(Service Center)をご使用ください。

LifeTimeでブロックを解除する

LifeTimeでITユーザーのブロックを解除するには、以下の手順を実行します。

  1. ユーザーとチームを管理する権限のあるユーザーで、LifeTimeにログインします。

  2. [Users & Roles]セクションに移動します。

  3. ユーザーの詳細のページに移動します。そのユーザーのログイン試行がブロックされている場合、ページに警告メッセージが表示されています。

  4. ページの一番下に移動すると、ユーザーのログイン試行がブロックされているIPアドレスの一覧があります。

  5. [Unblock]をクリックして、希望するIPアドレスでユーザーの正常なログインプロセスを回復します。

LifeTimeでIPアドレスのブロックを解除するには、以下の手順を実行します。

  1. ユーザーとチームを管理する権限のあるユーザーで、LifeTimeにログインします。

  2. [Infrastructure]セクションに移動します。

  3. 希望する環境で[Blocked Addresses]リンクをクリックして、ブロックされているIPアドレスの掲載されているページを表示します。

  4. [Unblock]をクリックすると、希望するIPアドレスのすべてのユーザーについて、正常なログインプロセスを回復できます。

Service Centerでブロックを解除する

Service CenterでITユーザーのブロックを解除するには、以下の手順を実行します。

  1. ユーザーとチームを管理する権限のあるユーザーで、Service Centerにログインします。

  2. [Administration]セクションに移動します。

  3. [Users]オプションを選択します。

  4. ユーザーの詳細のページに移動します。そのユーザーのログイン試行がブロックされている場合、ページに警告メッセージが表示されています。

  5. [Blocked Addresses]タブに移動すると、ユーザーのログイン試行がブロックされているIPアドレスの一覧があります。

  6. ユーザーのブロックを解除したいIPアドレスを選択します。

  7. [Unblock Selected]ボタンを押します。ユーザーが、そのIPアドレスから再度ログインできるようになります。

Service CenterでIPアドレスのブロックを解除するには、以下の手順を実行します。

  1. ユーザーとチームを管理する権限のあるユーザーで、Service Centerにログインします。

  2. [Monitoring]セクションに移動します。

  3. ブロックされているIPアドレスの一覧が掲載されている、[Security]オプションを選択します。

  4. すべてのユーザーで正常なログインのプロセスを回復させたいIPアドレスにチェックを入れます。

  5. [Unblock Selected]ボタンを押します。

総当たり攻撃の疑いを確認する

環境管理コンソール(Service Center)は、総当たり攻撃の疑いの監視に使用できる情報を含むログを提供します。

ログにアクセスするには、以下の手順を実行します。

  1. Service Centerにログインします。

  2. [Monitoring]セクションに移動します。

  3. [Errors]オプションを選択します。

  4. Loginモジュールでフィルタをかけます。

総当たり攻撃の疑いでユーザーかIPアドレスがブロックされている場合、次の形式で情報が表示されます。

  • ログイン試行のタイムスタンプ

  • ログイン試行したユーザー

  • ログイン試行の際に使用したIPアドレス

  • 最後のログイン試行から経過したおよその時間

  • 最後のログイン試行の発生日時

  • ログイン試行回数

ログイン試行の失敗が攻撃でない場合、以下のように情報が表示されます。

  • ログイン試行のタイムスタンプ

  • ログイン試行したユーザー

  • ユーザーレベルとIPレベルでのログイン試行回数

総当たり攻撃からの保護を設定する

OutSystemsのアプリケーションには、総当たり攻撃からの保護を設定することができます。動作を変えるには、以下の手順を実行します。

  1. Service Centerにログインします。

  2. [Factory]セクションに移動して、[eSpaces]オプションを選択します。

  3. Usersモジュールを検索して、詳細のページを開きます。

  4. [Site Properties]タブを選択します。

  5. 下記の表で説明されている[Site Properties]で保護を設定します。

Siteプロパティ 説明
EnableBruteForceProtection ユーザーレベルでの総当たり攻撃ログイン保護を有効化します。
MaxUsernameAttemptsFirstBackoff ユーザーによるログイン試行の最大回数(1段階目)。この回数に到達すると、1段階目のバックオフ保護がトリガーされます。
デフォルト値は3回です。
MaxUsernameAttemptsSecondBackoff ユーザーによるログイン試行の最大回数(2段階目)。この回数に到達すると、2段階目のバックオフ保護がトリガーされます。
デフォルト値は6回です。
UsernameAttemptsFirstBackoffDelayInSeconds 1段階目のバックオフがトリガーされた後、ユーザーによるログイン試行がブロックされる時間です。
デフォルト値は30秒です。
UsernameAttemptsSecondBackoffDelayInSeconds 2段階目のバックオフがトリガーされた後、ユーザーによるログイン試行がブロックされる時間です。
デフォルト値は1,800秒です。
EnableBruteForceProtectionPerIP IPレベルでの総当たり攻撃ログイン保護を有効化します。
MaxIPAttemptsFirstBackoff IPアドレスによるログイン試行回数(1段階目)。この回数に到達すると、1段階目のバックオフがトリガーされます。
デフォルト値は20回です。
MaxIPAttemptsSecondBackoff IPアドレスによるログイン試行回数(2段階目)。この回数に到達すると、2段階目のバックオフがトリガーされます。
デフォルト値は50回です。
IPAttemptsFirstBackoffDelayInSeconds 1段階目のバックオフがトリガーされた後、IPアドレスによるログイン試行がブロックされる時間です。
デフォルト値は300秒です。
IPAttemptsSecondBackoffDelayInSeconds 2段階目のバックオフがトリガーされた後、IPアドレスによるログイン試行がブロックされる時間です。
デフォルト値は3,600秒です。
InvalidLoginCheckWindowInMinutes 試行失敗が確認された時間枠(分単位)。
デフォルト値は60分です。

この設定はOutSystemsのアプリケーションを総当たり攻撃から保護するためのみのものです。LifeTimeおよびService Centerの保護には効果がありません。

  • Was this article helpful?