ユーザーズマニュアル
Version 1.9 — Rev. 3

# バーチャルホストのセキュリティ

### CAPTCHA保護

#### 説明

CAPTCHA保護は、高いサーバー負荷を軽減する方法として提供されるサービスです。以下のいずれかの状況に達すると、CAPTCHA保護が有効になります。有効になると、非信頼クライアント（設定による）からのすべてのリクエストはCAPTCHA検証ページにリダイレクトされます。検証後、クライアントは目的のページにリダイレクトされます。
CAPTCHA保護は次の状況で有効になります:
1. サーバーまたはバーチャルホストの同時リクエスト数が、設定された接続制限を超えた場合。
2. Anti-DDoSが有効で、クライアントが疑わしい方法でURLにアクセスしている場合。トリガーされると、クライアントは拒否される代わりに先にCAPTCHAへリダイレクトされます。
3. CAPTCHAをRewriteRules経由で有効化するための新しいRewriteルール環境が提供されています。'verifycaptcha'を設定すると、クライアントをCAPTCHAへリダイレクトできます。特別な値': deny'を設定すると、失敗回数が多すぎるクライアントを拒否できます。たとえば、[E=verifycaptcha]は検証されるまで常にCAPTCHAへリダイレクトします。[E=verifycaptcha: deny]はMax Triesに達するまでCAPTCHAへリダイレクトし、その後クライアントを拒否します。

### CAPTCHAを有効にする

#### 説明

現在のレベルでCAPTCHA保護機能を有効にします。この機能を使用するには、サーバーレベルでこの設定をYesに設定する必要があります。
デフォルト値：
サーバーレベル：Yes
VHレベル：サーバーレベル設定を継承

#### 構文

ラジオボックスから選択

### サイトキー

#### 説明

reCAPTCHAまたはhCaptchaサービスによって割り当てられる公開キーです。
reCAPTCHAを使用する場合、設定されていなければデフォルトのサイトキーが使用されます（非推奨）。

### シークレットキー

#### 説明

reCAPTCHAまたはhCaptchaサービスによって割り当てられる秘密キーです。
reCAPTCHAを使用する場合、設定されていなければデフォルトのシークレットキーが使用されます（非推奨）。

### CAPTCHAの種類

#### 説明

キーペアで使用するCAPTCHAの種類を指定します。
キーペアが指定されておらず、この設定がNot Setに設定されている場合、CAPTCHA種類reCAPTCHA Invisibleのデフォルトキーペアが使用されます。
reCAPTCHA Checkboxは、訪問者が検証するためのチェックボックスCAPTCHAを表示します。 （サイトキー、シークレットキーが必要）
reCAPTCHA InvisibleはCAPTCHAを自動的に検証しようとし、成功した場合は目的のページにリダイレクトします。 （サイトキー、シークレットキーが必要）
hCaptchaは、CAPTCHAプロバイダー hCaptchaをサポートするために使用できます。 （サイトキー、シークレットキーが必要）
デフォルト値はreCAPTCHA Invisibleです。

#### 構文

ドロップダウンリストから選択

### 最大試行回数

#### 説明

最大試行回数は、訪問者を拒否する前に許可されるCAPTCHA試行の最大回数を指定します。
デフォルト値は3です。

#### 構文

整数

### 同時リクエスト制限

#### 説明

CAPTCHAを有効化するために必要な同時リクエスト数です。同時リクエスト数がこの数値を下回るまで、CAPTCHAは引き続き使用されます。
デフォルト値は15000です。

#### 構文

整数

### Bubblewrapコンテナ

#### 説明

CGIプロセス（PHPプログラムを含む）をbubblewrapサンドボックス内で起動する場合は、Enabledに設定します。bubblewrapの使用方法の詳細は次を参照してください。 https://wiki.archlinux.org/title/Bubblewrap この設定を使用する前に、システムにBubblewrapがインストールされている必要があります。
サーバーレベルで"Disabled"に設定されている場合、この設定をバーチャルホストレベルで有効にすることはできません。
デフォルト値：
サーバーレベル：Disabled
VHレベル：サーバーレベル設定を継承

#### 構文

ドロップダウンリストから選択

### Namespaceコンテナ

#### 説明

CGIプロセス（PHPプログラムを含む）をNamespaceコンテナサンドボックス内で起動する場合は、Enabledに設定します。BubblewrapコンテナがDisabledに設定されている場合にのみ使用されます。
サーバーレベルでDisabled以外に設定されている場合、この設定値はバーチャルホストレベルで上書きできます。
デフォルト値：
サーバーレベル：Disabled
バーチャルホストレベル：サーバーレベル設定を継承

#### 構文

ドロップダウンリストから選択

### 追加Namespaceテンプレートファイル

#### 説明

マウントするディレクトリのリストと、それらをマウントするために使用する方式を含む既存設定ファイルへのパスです。サーバーレベルでNamespaceテンプレートファイルも設定されている場合は、両方のファイルが使用されます。

#### 構文

絶対パスか$SERVER_ROOTからの相対パス又は$VH_ROOTからの相対パス。

### アクセス制御

#### 説明

どのサブネットワークおよび/またはIPアドレスがサーバーにアクセスできるかを指定します。 サーバレベルでは、この設定はすべてのバーチャルホストに影響します。 バーチャルホストレベルで各バーチャルホストに固有のアクセス制御を設定することもできます。 バーチャルホストレベルの設定はサーバーレベルの設定を上書きしません。
ブロック/ IPの許可は、許可リストと拒否リストの組み合わせによって決まります。 特定のIPまたはサブネットワークのみをブロックする場合は、許可リストに*またはALLを入れ、ブロックされたIPまたはサブネットワークを拒否リスト。
特定のIPまたはサブネットワークのみを許可する場合は、拒否リストに*またはALLを入れ、許可されたIPまたはサブネットワークを許可リスト。
IPに適合する最小スコープの設定は、アクセスを決定するために使用されます。
サーバーレベル：信頼できるIPまたはサブネットワークは、許可リストに、末尾の "T"を追加することで指定する必要があります。 信頼できるIPまたはサブネットワークは、接続/スロットリング制限の影響を受けません。 信頼できるIP/サブネットワークは、サーバーレベルのアクセス制御でのみ設定できます。

#### ヒント

[セキュリティ]すべてのバーチャルホストに適用される一般的な制限については、サーバーレベルでこれを使用してください。

### 許可リスト

#### 説明

許可されるIPまたはサブネットワークのリストを指定します。 *またはALLが受け入れられます。

#### 構文

IPアドレスまたはサブネットワークのカンマ区切りリスト。 末尾の「T」は、192.168.1.*Tなどの信頼できるIPまたはサブネットワークを示すために使用できます。

#### 例

Sub-networks: 192.168.1.0/255.255.255.0, 192.168.1.0/24, 192.168.1, or 192.168.1.*
IPv6 addresses: ::1 or [::1]
IPv6 subnets: 3ffe:302:11:2:20f:1fff:fe29:717c/64 or [3ffe:302:11:2:20f:1fff:fe29:717c]/64

#### ヒント

[セキュリティ]サーバーレベルのアクセス制御で設定された信頼されたIPまたはサブネットワークは、接続/スロットリングの制限から除外されます。

### 拒否リスト

#### 説明

許可されていないIPまたはサブネットワークのリストを指定します。

#### 構文

IPアドレスまたはサブネットワークのカンマ区切りリスト。 *またはALLが受け入れられます。

#### 例

Sub-networks: 192.168.1.0/255.255.255.0, 192.168.1.0/24, 192.168.1, or 192.168.1.*
IPv6 addresses: ::1 or [::1]
IPv6 subnets: 3ffe:302:11:2:20f:1fff:fe29:717c/64 or [3ffe:302:11:2:20f:1fff:fe29:717c]/64

### 認可レルム

#### 説明

このバーチャルホストのすべての認可レルムをリストします。 認可レルムは、権限のないユーザーが保護されたWebページにアクセスするのをブロックするために使用されます。 レルムは、オプションのグループ分類を持つユーザー名とパスワードを含むユーザーディレクトリです。 認可は、コンテキスト・レベルで実行されます。 異なるコンテキストは同じレルム（ユーザデータベース）を共有できるため、レルムはそれらを使用するコンテキストとは別に定義されます。 コンテキスト設定では、これらの名前でレルムを参照できます。

### レルム名

#### 説明

認可レルムの一意の名前を指定します。

#### 構文

テキスト

### ユーザーDBの場所

#### 説明

ユーザーデータベースの場所を指定します。データベースは$SERVER_ROOT/conf/vhosts/$VH_NAME/ディレクトリの下に保存することをお勧めします。
DBタイプがPassword Fileの場合、ユーザー/パスワード定義を含むフラットファイルへのパスです。ファイル名をクリックすると、WebAdminコンソールからこのファイルを編集できます。
ユーザーファイルの各行には、ユーザー名、コロン、crypt()で暗号化されたパスワードが続き、任意でコロンとユーザーが所属するグループ名が続きます。グループ名はカンマで区切ります。ユーザーデータベースにグループ情報が指定されている場合、グループデータベースはチェックされません。
例:

> `john:HZ.U8kgjnMOHo:admin,user`

#### 構文

ユーザーDBファイルへのパス。

#### 参照

グループDBの場所, パスワード属性, Member-of属性

### ユーザーDB最大キャッシュサイズ

#### 説明

ユーザーデータベースの最大キャッシュサイズを指定します。 最近アクセスされたユーザー認証データは、最大のパフォーマンスを提供するためにメモリにキャッシュされます。

#### 構文

整数

#### ヒント

[パフォーマンス]キャッシュが大きくなるとメモリが消費されるため、値が高くなるほどパフォーマンスが向上する場合があります。 ユーザーのデータベースサイズとサイトの使用状況に応じて適切なサイズに設定します。

### ユーザーDBキャッシュタイムアウト（秒）

#### 説明

バックエンドユーザーデータベースの変更の確認頻度を指定します。 キャッシュ内のすべてのエントリにタイムスタンプがあります。 キャッシュされたデータが指定されたタイムアウトよりも古い場合、バックエンドデータベースの変更がチェックされます。 変更がなければ、タイムスタンプは現在の時刻にリセットされ、そうでない場合は新しいデータがロードされます。 サーバーのリロードとgraceful restartにより、キャッシュは直ちにクリアされます。

#### 構文

整数

#### ヒント

[パフォーマンス]バックエンドデータベースが頻繁に変更されない場合は、パフォーマンスを向上させるために、より長いタイムアウトを設定します。

### グループDBの場所

#### 説明

グループデータベースの場所を指定します。データベースは$SERVER_ROOT/conf/vhosts/$VH_NAME/ディレクトリの下に保存することをお勧めします。
グループ情報は、ユーザーデータベースまたはこの独立したグループDBのどちらにも設定できます。ユーザー認証では、最初にユーザーDBがチェックされます。ユーザーDBにもグループ情報が含まれている場合、グループDBはチェックされません。
DBタイプがPassword Fileの場合、グループDBの場所はグループ定義を含むフラットファイルへのパスにする必要があります。ファイル名をクリックすると、WebAdminコンソールからこのファイルを編集できます。
グループファイルの各行には、グループ名、コロン、スペース区切りのユーザー名グループが含まれている必要があります。例:

> `testgroup: user1 user2 user3`

#### 構文

ファイル名への絶対パス又は$SERVER_ROOT、$VH_ROOTからの相対パス。

#### 参照

ユーザーDBの場所, Context 必要（許可ユーザー/グループ）, グループメンバ属性

### グループDB最大キャッシュサイズ

#### 説明

グループデータベースの最大キャッシュサイズを指定します。

#### 構文

整数

#### ヒント

[パフォーマンス]キャッシュが大きくなるとメモリが消費されるため、値が高くなるほどパフォーマンスが向上する場合があります。 ユーザーのデータベースサイズとサイトの使用状況に応じて適切なサイズに設定します。

#### 参照

ユーザーDB最大キャッシュサイズ

### グループDBキャッシュタイムアウト（秒）

#### 説明

バックエンドグループデータベースの変更の確認頻度を指定します。 詳細については、ユーザーDBキャッシュタイムアウト（秒）を参照してください。

#### 構文

整数

#### 参照

ユーザーDBキャッシュタイムアウト（秒）