サーバーのセキュリティ

目次

ファイルアクセス

シンボリックリンクに従う | シンボリックリンクを確認する | 厳格な所有権チェックを強制する | 必要な許可マスク | 制限付き許可マスク | スクリプトのアクセス許可マスクの制限 | スクリプトディレクトリのアクセス許可マスクの制限

クライアント単位のスロットル

静的リクエスト/秒 | 動的リクエスト/秒 | 送信帯域幅(バイト/秒) | 受信帯域幅(バイト/秒) | 接続ソフトリミット | 接続ハードリミット | 不良リクエストをブロックする | 猶予期間(秒) | 禁止期間(秒)

CGI設定

CGIデーモンソケット | 最大CGIインスタンス | 最小UID | 最小GID | 強制GID | umask | CGI プライオリティ | CPUソフトリミット(秒) | CPUハードリミット | メモリソフトリミット(バイト) | メモリハードリミット | プロセスソフトリミット | プロセスハードリミット

アクセスが拒否されたディレクトリ

アクセスが拒否されたディレクトリ

アクセス制御

許可リスト | 拒否リスト

説明

静的ファイルを提供する際のシンボリックリンクのサーバーレベルのデフォルト設定を指定します。

選択肢ははいオーナーと一致する場合 いいえです。

はいは、シンボリックリンクに常に従うようにサーバーを設定します。 所有者の一致がの場合は、リンクの所有者とターゲットの所有者が同じ場合にのみシンボリックリンクに従うようにサーバーを設定します。 いいえは、サーバーがシンボリックリンクを決して辿らないことを意味します。 この設定はバーチャルホスト設定で上書きできますが、.htaccessファイルで上書きすることはできません。

構文

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

ヒント

[パフォーマンスとセキュリティ]最高のセキュリティを実現するには、いいえまたは{Owner}が一致する場合を選択します。 最高のパフォーマンスを得るには、はいを選択します。

参照

シンボリックリンクを確認する.

説明

シンボリックリンクに従うがオンになっているときに、アクセスが拒否されたディレクトリに対するシンボリックリンクをチェックするかどうかを指定します。 有効にすると、URLで参照されるリソースのカノニカル実パスが、設定可能なアクセス拒否ディレクトリと照合されます。 アクセスが拒否されたディレクトリ内にある場合、アクセスは拒否されます。

構文

ラジオボックスから選択

ヒント

[パフォーマンス & セキュリティ]最高のセキュリティを実現するには、このオプションを有効にします。 最高のパフォーマンスを得るには、無効にしてください。

参照

シンボリックリンクに従う, アクセスが拒否されたディレクトリ

厳格な所有権チェックを強制する

説明

厳密なファイル所有権チェックを実施するかどうかを指定します。 有効になっている場合、Webサーバーは、提供されるファイルの所有者がバーチャルホストの所有者と同じかどうかをチェックします。 異なる場合は、403アクセス拒否エラーが返されます。 これはデフォルトではオフになっています。

構文

ラジオボックスから選択

ヒント

[セキュリティ]共有ホスティングの場合、このチェックを有効にしてセキュリティを強化します。

必要な許可マスク

説明

サーバーが提供する静的ファイルに必要なアクセス許可マスクを指定します。 たとえば、全員が読み取り可能なファイルのみを処理できる場合は、値を0004に設定します。 すべての値についてman 2 statを参照してください

構文

8進数

参照

制限付き許可マスク.

制限付き許可マスク

説明

サーバーが提供しない静的ファイルに対する制限付きのアクセス許可マスクを指定します。 たとえば、実行可能ファイルの配信を禁止するには、マスクを0111に設定します。

すべての値についてman 2 statを参照してください。

構文

8進数

参照

必要な許可マスク.

スクリプトのアクセス許可マスクの制限

説明

サーバーが提供しないスクリプトファイルに対する制限付きアクセス許可マスクを指定します。 たとえば、グループおよびワールド書き込み可能なPHPスクリプトの配信を禁止するには、マスクを022に設定します。 デフォルト値は000です。

すべての値についてman 2 statを参照してください。

構文

8進数

参照

スクリプトディレクトリのアクセス許可マスクの制限.

スクリプトディレクトリのアクセス許可マスクの制限

説明

Sサーバーが提供しないスクリプトファイルの親ディレクトリの制限付きアクセス許可マスクを指定します。 たとえば、グループおよびワールド書き込み可能なディレクトリでPHPスクリプトを処理することを禁止するには、マスクを022に設定します。 デフォルト値は000です。 このオプションを使用して、アップロードされたファイルのディレクトリ下でスクリプトを提供しないようにすることができます。

すべての値についてman 2 statを参照してください。

構文

8進数

参照

スクリプトのアクセス許可マスクの制限.

クライアント単位のスロットル

説明

これらは、クライアントIPに基づいた接続制御設定です。 これらの設定は、DoS(サービス拒否)攻撃とDDoS(分散サービス拒否)攻撃を緩和するのに役立ちます。

静的リクエスト/秒

説明

確立された接続の数に関係なく、1秒間に処理できる単一のIPアドレスからの静的コンテンツへの要求の最大数を指定します。

この制限に達すると、将来のすべての要求は次の秒までタールピットされます。 動的に生成されるコンテンツのリクエスト制限は、この制限とは関係ありません。 クライアントごとの要求制限は、サーバーまたはバーチャルホストレベルで設定できます。 バーチャルホストレベルの設定は、サーバーレベルの設定よりも優先されます。

構文

整数

ヒント

[セキュリティ]信頼できるIPまたはサブネットワークは影響を受けません。

参照

動的リクエスト/秒

動的リクエスト/秒

説明

確立された接続の数に関係なく、1秒ごとに処理できる単一のIPアドレスからの動的に生成されるコンテンツへの要求の最大数を指定します。 この制限に達すると、今後のすべての動的コンテンツへのリクエストは、次の秒までタールピットされます。

静的コンテンツの要求制限は、この制限とは関係ありません。 このクライアントごとの要求制限は、サーバーまたはバーチャルホストレベルで設定できます。 バーチャルホストレベルの設定は、サーバーレベルの設定よりも優先されます。

構文

整数

ヒント

[セキュリティ]この制限によって、信頼できるIPまたはサブネットワークは制限されません。

参照

静的リクエスト/秒

送信帯域幅(バイト/秒)

説明

確立された接続の数に関係なく、単一のIPアドレスへの最大の送信スループット。 実際の帯域幅は効率上の理由からこの設定よりわずかに高くなることがあります。 帯域幅は4KB単位で割り当てられます。 スロットルを無効にするには、0に設定します。 クライアント単位の帯域幅制限(バイト/秒)は、バーチャルホストレベルの設定がサーバーレベルの設定を上回るサーバーまたはバーチャルホストレベルで設定できます。

構文

整数

ヒント

[パフォーマンス]パフォーマンスを向上させるため、帯域幅を8KB単位で設定します。.

[セキュリティ]信頼できるIPまたはサブネットワークは影響を受けません。

参照

受信帯域幅(バイト/秒)

受信帯域幅(バイト/秒)

説明

確立された接続の数に関係なく、単一のIPアドレスからの最大許容着信スループット。 実際の帯域幅は効率上の理由からこの設定よりわずかに高くなることがあります。 帯域幅は1KB単位で割り当てられます。 スロットルを無効にするには、0に設定します。 クライアント単位の帯域幅制限(バイト/秒)は、バーチャルホストレベルの設定がサーバーレベルの設定を上回るサーバーまたはバーチャルホストレベルで設定できます。

構文

整数

ヒント

[セキュリティ]信頼できるIPまたはサブネットワークは影響を受けません。

参照

送信帯域幅(バイト/秒)

接続ソフトリミット

説明

1つのIPから許可される同時接続のソフト制限を指定します。 このソフトリミットは、猶予期間(秒)の間に接続ハードリミット以下になると一時的に超過することができますが、接続の数が限界よりも少なくなるまで、キープアライブ接続はできるだけ早く閉じられます。 猶予期間(秒)の後に接続数がまだ制限を超えている場合、そのIPは禁止期間(秒)でブロックされます。

例えば、ページに多数の小さなグラフが含まれている場合、ブラウザは、特にHTTP/1.0クライアントの場合、同時に多くの接続を設定しようとする可能性があります。 これらの接続を短期間で許可する必要があります。

HTTP/1.1クライアントは、複数の接続を設定してダウンロード速度を上げることができ、SSLにはSSL以外の接続とは別の接続が必要です。 通常のサービスに悪影響を及ぼさないように、制限値が適切に設定されていることを確認してください。 推奨される制限は、510です。

構文

整数

ヒント

[セキュリティ]数字が小さいほど、より明確なクライアントに対応できます。
[セキュリティ]信頼できるIPまたはサブネットワークは影響を受けません。
[パフォーマンス]多数の同時クライアントマシンでベンチマークテストを実行する場合は、高い値に設定します。

接続ハードリミット

説明

単一のIPアドレスから同時に許可される接続の最大数を指定します。 この制限は常に強制され、クライアントはこの制限を超えることはできません。 HTTP/1.0クライアントは通常、埋め込みコンテンツを同時にダウンロードするのに必要な数の接続を設定しようとします。 この制限は、HTTP/1.0クライアントが引き続きサイトにアクセスできるように十分に高く設定する必要があります。 接続ソフトリミットを使用して、目的の接続制限を設定します。

構文

整数

ヒント

[セキュリティ]数字が小さいほど、より明確なクライアントに対応できます。
[セキュリティ]信頼できるIPまたはサブネットワークは影響を受けません。
[パフォーマンス]多数の同時クライアントマシンでベンチマークテストを実行する場合は、高い値に設定します。

不良リクエストをブロックする

説明

禁止期間(秒)に不正な形式のHTTP要求を送信し続けるIPをブロックします。 デフォルトははいです。 これは、ジャンク要求を繰り返し送信するボットネット攻撃をブロックするのに役立ちます。

構文

ラジオボックスから選択

猶予期間(秒)

説明

1つのIPから確立された接続の数が接続ソフトリミットを超えた後に新しい接続が受け入れられる期間を指定します。 この期間内に、総接続数が接続ハードリミット未満の場合は、新しい接続が受け入れられます。 この期間が経過した後、まだ接続数が接続ソフトリミットよりも高い場合、問題のIPは禁止期間(秒)でブロックされます。

構文

整数

ヒント

[パフォーマンス & セキュリティ]ダウンロードに十分な大きさに設定してください。 完全なページですが、故意の攻撃を防ぐのに十分な低さです。

禁止期間(秒)

説明

猶予期間(秒)経過後、接続数がまだ接続ソフトリミット以上の場合、新しい接続がIPから拒否される期間を指定します。 IPが繰り返し禁止されている場合は、禁止期間を延長して虐待のペナルティを強化することをお勧めします。

構文

整数

CGI設定

説明

次の設定は、CGIプロセスを制御します。 これらのアプリケーションに対して制限が明示的に設定されていない場合は、メモリおよびプロセスの制限も他の外部アプリケーションのデフォルトとして機能します。

CGIデーモンソケット

説明

CGIデーモンとの通信に使用される一意のソケットアドレス。 LiteSpeedサーバーは、スタンドアロンのCGIデーモンを使用して、最高のパフォーマンスとセキュリティを実現するCGIスクリプトを生成します。 デフォルトソケットはuds://$SERVER_ROOT/admin/conf/.cgid.sock "です。 別の場所に配置する必要がある場合は、ここにUnixドメインソケットを指定します。

構文

UDS://path

UDS://tmp/lshttpd/cgid.sock

最大CGIインスタンス

説明

サーバーが開始できる同時CGIプロセスの最大数を指定します。 CGIスクリプトに対する各要求に対して、サーバーはスタンドアロンCGIプロセスを開始する必要があります。 Unixシステムでは、並行プロセスの数が制限されています。 過度の並行処理は、システム全体のパフォーマンスを低下させ、DoS攻撃を実行する1つの方法です。 LiteSpeedサーバーはCGIスクリプトへの要求をパイプライン処理し、同時のCGIプロセスを制限して最適なパフォーマンスと信頼性を確保します。 上限は2000です。

構文

整数

ヒント

[セキュリティ & パフォーマンス]上限が高いと必ずしもパフォーマンスが向上するとは限りません。 ほとんどの場合、下限値を指定するとパフォーマンスとセキュリティが向上します。 上限は、CGI処理中にI / O待ち時間が過大になる場合にのみ役立ちます。

最小UID

説明

外部アプリケーションの最小ユーザーIDを指定します。 ここで指定した値よりも小さいユーザーIDを持つ外部スクリプトの実行は拒否されます。 LiteSpeed Webサーバーが「root」ユーザーによって起動された場合、Apacheなどの「suEXEC」モードで外部アプリケーションを実行できます(Webサーバー以外のユーザー/グループIDに変更する)。

構文

整数

ヒント

[セキュリティ]すべてのシステム/特権ユーザーを除外するのに十分な高さに設定します。

最小GID

説明

外部アプリケーションの最小グループIDを指定します。 ここで指定した値よりも小さいグループIDを持つ外部の実行は拒否されます。 LiteSpeed Webサーバーが "root"ユーザーによって起動された場合、Apacheで見つかった "suEXEC"モードで外部アプリケーションを実行できます(Webサーバー以外のユーザー/グループIDに変更する)。

構文

整数

ヒント

[セキュリティ]システムユーザーが使用するすべてのグループを除外するのに十分な高さに設定します。

強制GID

説明

suEXECモードで起動したすべての外部アプリケーションに使用するグループIDを指定します。 ゼロ以外の値に設定すると、すべてのsuEXEC外部アプリケーション(CGI/FastCGI/LSAPI)がこのグループIDを使用します。 これにより、外部アプリケーションが他のユーザーが所有するファイルにアクセスするのを防ぐことができます。

たとえば、共有ホスティング環境では、LiteSpeedはユーザー "www-data"として実行され、グループ "www-data"として実行されます。 各docrootは、 "www-data"のグループと許可モード0750を持つユーザーアカウントによって所有されています。 強制GIDが "nogroup"(または 'www-data'以外のグループ)に設定されている場合、すべてのsuEXEC外部アプリケーションは特定のユーザーとして実行されますが、グループ "nogroup"に実行されます。 これらの外部アプリケーション・プロセスは(ユーザーIDのために)特定のユーザーが所有するファイルには引き続きアクセスできますが、他のユーザーのファイルにアクセスするためのグループ権限は持っていません。 一方、サーバは、(グループIDのために)どんなユーザのdocrootディレクトリ下でもファイルを提供することができます。

構文

整数

ヒント

[セキュリティ]システムユーザーが使用するすべてのグループを除外するのに十分な高さに設定します。

umask

説明

CGIプロセスのデフォルトのumaskを設定します。 詳細は、man 2 umaskを参照してください。 これは、外部アプリケーションumaskのデフォルト値としても機能します。

構文

有効範囲値[000]〜[777]。

参照

ExtApp umask

CGI プライオリティ

説明

外部アプリケーションプロセスの優先度を指定します。 値の範囲は-20〜20です。数値が小さいほど優先度が高くなります。

CGIプロセスは、Webサーバーよりも高い優先度を持つことはできません。この優先度がサーバーの数値より低い数値に設定されている場合は、サーバーの優先度がこの値に使用されます。

構文

int

参照

Server プライオリティ

CPUソフトリミット(秒)

説明

CGIプロセスのCPU消費制限時間を秒単位で指定します。 プロセスがソフトリミットに達すると、シグナルによって通知されます。 値が存在しない場合、または0に設定されている場合は、オペレーティングシステムのデフォルト設定が使用されます。.

構文

整数

CPUハードリミット

説明

CGIプロセスの最大CPU使用時間制限を秒単位で指定します。プロセスがCPU時間を消費してハードリミットに達すると、プロセスは強制終了されます。 値が存在しないか、0に設定されている場合は、オペレーティングシステムのデフォルト設定が使用されます。

構文

整数

メモリソフトリミット(バイト)

説明

外部アプリケーション・プロセスまたはサーバーによって開始された外部アプリケーションのメモリー消費制限をバイト単位で指定します。

この制限の主な目的は、ソフトウェアのバグや意図的な攻撃のために過度のメモリ使用を防止し、通常の使用に制限を設けないことです。 十分なヘッドスペースを確保してください。そうしないと、アプリケーションが失敗し、503エラーが返される可能性があります。 サーバーレベルまたは個々の外部アプリケーションレベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。

オペレーティングシステムのデフォルト設定は、値が両方のレベルにないか、0に設定されている場合に使用されます。

構文

整数

ヒント

[注意]この制限を過度に調整しないでください。 アプリケーションでより多くのメモリが必要な場合は、503のエラーが発生する可能性があります。

メモリハードリミット

説明

ソフトリミットをユーザープロセス内のハードリミットまで上げることができることを除けば、メモリソフトリミット(バイト)と同じくらい同じです。 ハード・リミットは、サーバー・レベルまたは個々の外部アプリケーション・レベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。

値が両方のレベルにないか、0に設定されている場合、オペレーティングシステムのデフォルトが使用されます。

構文

整数

[注意]この制限を過度に調整しないでください。 アプリケーションでより多くのメモリが必要な場合は、503のエラーが発生する可能性があります。

プロセスソフトリミット

説明

ユーザーに代わって作成できるプロセスの総数を制限します。 既存のすべてのプロセスは、開始される新しいプロセスだけでなく、この限度に対してカウントされます。 制限は、サーバーレベルまたは個々の外部アプリケーションレベルで設定できます。
サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。 この値が0または両方のレベルにない場合、オペレーティングシステムのデフォルト設定が使用されます。

構文

整数

ヒント

PHPスクリプトはプロセスをフォークするために呼び出すことができます。 この制限の主な目的は、フォーク爆弾や他のプロセスを作成するPHPプロセスによって引き起こされる他の攻撃を防ぐための最終防衛線です。
この設定を低すぎると、機能が著しく損なわれる可能性があります。 この設定は特定のレベル以下では無視されます。
suEXECデーモンモードを使用する場合、親プロセスが制限されないように、実際のプロセス制限はこの設定よりも高くなります。

プロセスハードリミット

説明

ソフトリミットをユーザープロセス内のハードリミットまで上げることができることを除けば、プロセスソフトリミットとほとんど同じです。 ハードリミットは、サーバー・レベルまたは個々の外部アプリケーションレベルで設定できます。 サーバーレベルの制限は、個々のアプリケーションレベルで設定されていない場合に使用されます。 オペレーティングシステムのデフォルト値は、値が両方のレベルにないか、0に設定されている場合に使用されます。

構文

整数

アクセスが拒否されたディレクトリ

説明

アクセスをブロックするディレクトリを指定します。 重要なデータを含むディレクトリをこのリストに追加して、誤って機密ファイルをクライアントに公開しないようにします。 すべてのサブディレクトリを含めるためにパスに「*」を追加します。 シンボリックリンクに従うシンボリックリンクを確認するの両方を有効にすると、拒否されたディレクトリに対してシンボリックリンクがチェックされます。

構文

ディレクトリのカンマ区切りリスト

ヒント

[セキュリティ]重要な点:この設定では、これらのディレクトリから静的ファイルを提供することができません。 これは、PHP/Ruby/CGIなどの外部スクリプトによるエクスポージャーを防ぐものではありません。

アクセス制御

説明

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