### OpenLiteSpeed Web Server ユーザーズマニュアル

##### Version 1.4 — Rev. 3

- ライセンス
- はじめに
- インストール
- 管理
  - サービスマネージャ
- セキュリティ
- 設定
  - サーバー全般
  - サーバーログ
  - サーバーのチューニング
  - サーバーのセキュリティ
  - 外部アプリ
  - Fast CGIアプリ
  - Fast CGIオーソライザー
  - LSAPIアプリ
  - サーブレットエンジン
  - Webサーバー
  - パイプロガー
  - ロードバランサ
  - スクリプトハンドラ
  - Rack/Railsの設定
  - モジュール設定
  - リスナー全般
  - リスナーのSSL
  - テンプレート
  - バーチャルホストの基本
  - バーチャルホスト全般
  - バーチャルホストのセキュリティ
  - バーチャルホストのSSL
  - Rewrite
  - コンテキスト
  - 静的コンテテキスト
  - Java Webアプリのコンテキスト
  - サーブレットコンテキスト
  - Fast CGIコンテキスト
  - LSAPIコンテキスト
  - プロキシコンテキスト
  - CGIコンテキスト
  - ロードバランサコンテキスト
  - コンテキストのリダイレクト
  - Rack/Railsのコンテキスト
  - モジュールハンドラのコンテキスト
  - Web Socketプロキシ
- Webコンソール
  - 管理コンソール全般
  - 管理コンソールのセキュリティ
  - 管理リスナー全般
  - 管理リスナーのSSL

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

## 目次

### reCaptcha Protection⇑

#### 説明

reCaptcha Protection is a service provided as a way to mitigate heavy server load. reCaptcha Protection will activate after one of the below situations is hit. Once active, all requests by NON TRUSTED(as configured) clients will be redirected to a reCAPTCHA validation page. After validation, the client will be redirected to their desired page.
The following situations will activate reCaptcha Protection:
1. The server or vhost concurrent requests count passes the configured connection limit.
2. Anti-DDoS is enabled and a client is hitting a url in a suspicious manner. The client will redirect to reCAPTCHA first instead of getting denied when triggered.
3. WP Brute Force protection is enabled and action is set to 'Captcha or Drop’. When a brute force attack is detected, the client will redirect to reCAPTCHA first. After max tries is reached, the connection will be dropped, as per the ‘drop’ option.
4. A new rewrite rule environment is provided to activate reCAPTCHA via RewriteRules. 'verifycaptcha' can be set to redirect clients to reCAPTCHA. A special value ': deny' can be set to deny the client if it failed too many times. For example, [E=verifycaptcha] will always redirect to reCAPTCHA until verified. [E=verifycaptcha: deny] will redirect to reCAPTCHA until Max Tries is hit, after which the client will be denied.

### Enable reCAPTCHA⇑

#### 説明

Enable the reCaptcha Protection feature at the current level. This setting must be set to Yes at the Server level before the reCaptcha Protection feature can be used.
Default values:
Server-level: Yes
VH-Level: Inherit Server level setting

#### 構文

ラジオボックスから選択

### Site Key⇑

#### 説明

The site key is the public key provided by Google via its reCAPTCHA service. A default Site Key will be used if not set.

### Secret Key⇑

#### 説明

The secret key is the private key provided by Google via its reCAPTCHA service. A default Secret Key will be used if not set.

### reCAPTCHA Type⇑

#### 説明

Specify the reCAPTCHA type to use with the key pairs. If a key pair has not been provided and this setting is set to Not Set, a default key pair of type Invisible will be used.
Checkbox will display a checkbox reCAPTCHA for the visitor to validate.
Invisible will attempt to validate the reCAPTCHA automatically and if successful, will redirect to the desired page.
Default value is Invisible.

#### 構文

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

### Max Tries⇑

#### 説明

Max Tries specifies the maximum number of reCAPTCHA attempts permitted before denying the visitor.
Default value is 3.

#### 構文

整数

### Concurrent Request Limit⇑

#### 説明

The number of concurrent requests needed to activate reCAPTCHA. reCAPTCHA will be used until concurrent requests drop below this number.
Default value is 15000.

#### 構文

整数

### アクセス制御⇑

#### 説明

どのサブネットワークおよび/または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の場所⇑

#### 説明

ユーザーデータベースの場所を指定します。 DBタイプパスワードファイルの場合、ユーザ/パスワード定義を含むフラットファイルへのパスです。 ファイル名をクリックするとWebAdminコンソールからこのファイルを編集できます。
ユーザーファイルの各行には、ユーザー名の後にコロン、crypt()で暗号化されたパスワードが続き、オプションでコロンとユーザーが所属するグループ名が続きます。 グループ名はカンマで区切られます。 グループ情報がユーザーデータベースに指定されている場合、グループデータベースはチェックされません。
例：

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

DBタイプ LDAP の場合、ユーザー情報を照会するのはLDAP URLです。 有効なユーザーごとに、LDAPサーバーに格納されている認証データには、少なくともユーザーIDとユーザーパスワードが含まれている必要があります。 HTTP認証ヘッダーで受け取ったこのURLとユーザー名に基づいて、LDAP検索要求で1つだけのレコードを返す必要があります。 "$ k"はURLのフィルタ部分で指定する必要があり、ユーザー名で置き換えられます。 ユーザーのパスワード属性は、照会結果に戻されなければなりません。 ユーザーのパスワードの属性名は、パスワード属性で指定します。 グループ情報は、Member-of属性で任意に指定できます。
例: 少なくとも、オブジェクトクラス（uidObject、simpleSecurityObject、およびorganizationalRole）を使用してLDAPでユーザーを定義できます。 次のURLを使用できます:

> `ldap://localhost/ou=UserDB,dc=example,dc=com???(&(objectClass=*)(uid=$k))`

#### 構文

ユーザーDBファイルまたはLDAP URL（RFC 2255）へのパス。

#### ヒント

[セキュリティ]ユーザーのパスワードファイルをドキュメントツリーの外部に保存することをお勧めします。 ユーザーのパスワードファイルをドキュメントツリー内に配置する必要がある場合は、.htuserのような先頭の ".ht"という名前を付けて、静的ファイルとして扱わないようにします。 LiteSpeed Web Serverでは、接頭辞が ".ht"のファイルは提供されません。

#### 参照

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

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

#### 説明

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

#### 構文

整数

#### ヒント

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

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

#### 説明

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

#### 構文

整数

#### ヒント

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

### グループDBの場所⇑

#### 説明

グループデータベースの場所を指定します。
グループ情報は、ユーザデータベースまたはこのスタンドアロングループDBに設定することができます。ユーザ認証の場合、ユーザDBが最初にチェックされます。ユーザDBにグループ情報も含まれている場合、グループDBはチェックされません。
DBタイプのパスワードファイルの場合、グループDBロケーションは、グループ定義を含むフラットファイルへのパスでなければなりません。ファイル名をクリックするとWebAdminコンソールからこのファイルを編集できます。
グループファイルの各行には、コロンとそのあとにスペース区切りのユーザー名のグループが続くグループ名が含まれている必要があります。例：

> `testgroup: user1 user2 user3`

DBタイプLDAPの場合、グループDBロケーションは、グループ情報を照会するLDAP URLでなければなりません。 有効なグループごとに、このURLと必要（許可ユーザー/グループ）で指定されたグループ名に基づいて、LDAP検索リクエストで1つのレコードしか返されません。 "$k"はURLのフィルタ部分に指定する必要があり、グループ名に置き換えられます。 このグループのメンバーを指定する属性の名前は、グループメンバ属性によって指定されます。
例: objectClass posixGroupがグループ情報の格納に使用されている場合 次のURLを使用できます:

> `ldap://localhost/ou=GroupDB,dc=example,dc=com???(&(objectClass=*)(cn=$k))`

#### 構文

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

#### ヒント

[セキュリティ]文書ツリーの外にグループファイルを保存することをお勧めします。 ドキュメントツリー内に配置する必要がある場合は、.htgroupのような先頭の 「.ht」という名前を付けるだけでファイルが静的ファイルとして提供されないようにします。 LiteSpeed Web Serverでは、接頭辞が 「.ht」のファイルは提供されません。

#### 参照

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

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

#### 説明

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

#### 構文

整数

#### ヒント

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

#### 参照

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

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

#### 説明

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

#### 構文

整数

#### 参照

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