### 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

# セキュリティ

LiteSpeed Web Serverは、セキュリティを最優先事項として設計されています。 LSWSはSSLをサポートし、サーバおよびバーチャルホストレベルでのアクセス制御、コンテキスト固有の領域保護を備えています。 これらの標準機能に加えて、LSWSには次の特別なセキュリティ機能もあります：

1. ### 接続レベルの制限：

   - IPレベルのスロットリングにより、接続数に関係なく、単一のIPアドレスとの間でネットワーク帯域幅が制限されます。
   - IPレベルの接続アカウンティングは、単一のIPアドレスからの同時接続数を制限します。 WebAdminコンソールで、接続のソフト制限、接続ハード制限、猶予期間、および禁止期間設定を使用してこれを制御できます。

2. ### リクエストのチェック：

   すべてのHTTPリクエストは、LiteSpeed Web Serverによって検証されます。"/" デコードされたURLでは許可されないため、隠しファイルや親ディレクトリへのアクセスが拒否されます。

   要求サイズは、LiteSpeed Web Serverの最大要求URL長、最大要求ヘッダー長、および最大要求本体長設定によって制限されます。

3. ### 静的ファイルのチェック：

   LiteSpeed Web Serverは、次の条件を満たす場合にのみ静的ファイルを提供します：

   - このファイルは誰でも読むことができます。
   - ファイルが実行可能ではありません。
   - ファイルがアクセス拒否ディレクトリリストにありません。
   - シンボリックリンクが許可されていない場合、ファイルにシンボリックリンクは含まれません。
   - デフォルトでは、LiteSpeed Web Serverはファイルをリスト表示してディレクトリのインデックスを作成しません。明示的に有効にする必要があります。

4. ### 外部アプリケーションファイアウォール：

   LiteSpeed Web Serverは、動的コンテンツを処理/生成するために要求を外部アプリケーションに転送します。 これらのアプリケーションは、多くのシステムリソースを使用できます。 たとえば、スワップスペースを使用する必要がある場合など、システムリソース消費量が一定のポイントに達すると、システム全体のパフォーマンスが著しく低下します。 DoS攻撃を実行する1つの方法は、煩雑な外部アプリケーションへの同時リクエストをWebサーバーに氾濫させることです。

   LiteSpeed Web Serverは、要求をパイプライン処理し、外部アプリケーションの同時使用レベルを制御して、システムリソースの過消費を防ぎます。 LSWSは要求をキャッシュし、完了した要求のみを外部アプリケーションに転送します。 つまり、サーバーがリクエストを受信している間に、外部アプリケーションが待機することはありません。 LSWSはまた、外部アプリケーションの応答をキャッシュして、応答が完了するとすぐに外部アプリケーションを解放し、クライアントが完全な応答を受け取るのを待つ必要がないようにします。 このようにして、サーバーはより少ない外部アプリケーション・インスタンスを使用してより多くの同時要求を処理し、より高いパフォーマンスとスケーラビリティーを達成することができます。 LiteSpeed Web Serverは、独自のバーチャルメモリを使用して要求と応答の本体をキャッシュし、パフォーマンスを犠牲にせずにシステムメモリの使用を最小限に抑えます。

5. ### CGIリソースの消費制限：

   LiteSpeed Web Serverは、CGIアプリケーションで使用できるシステムリソースの量を制限します。 CGIスクリプトへのリクエストごとに、Webサーバーはそれを処理するためにスタンドアロンCGIプロセスを開始する必要があります。 Unixシステムでは、並行プロセスの数が制限されています。 CGIリソースの消費制限により、Webサーバーが起動できる同時CGIインスタンスの最大数を構成できます。 過度の並行プロセスは、システム全体のパフォーマンスを低下させます。 （CGIプロセスはDoS攻撃の一般的な武器です。） CGIアプリケーションによって生成されるプロセスの数を制御するために、ユーザーごとにシステムプロセスの制限を指定することができます。 各プロセスは、CPUとメモリの制限によってさらに制限されます。

6. ### suEXECによる強化されたCGI/FastCGIセキュリティ

   CGIまたはFast CGIスクリプトのセキュリティリスクを軽減するため、LiteSpeed Web ServerはCGIスクリプトが "suEXEC"モードで実行することでアクセスできるシステムリソースを制限できます。 "suEXEC"は、WebサーバーのユーザーIDとは異なるユーザーIDを持つCGIまたはFast CGIスクリプトを開始します。 これにより、あるユーザーのCGIスクリプトが他のユーザーのファイルにアクセスするのを防ぐことで、共有ホスティング環境のセキュリティが大幅に向上します。