アクセス:許可、拒否または拒否、許可を注文します???

CUPSを構成しましたが、その過程で、 AllowおよびDenyディレクティブから読み取り順序を設定するOrderディレクティブと混同がありました。 apache.ruにはこれに関する情報がありますが、完全ではなく、タイプミス/エラーがあります。 httpd.apache.orgの記事を翻訳し、その資料をローカルネットワークに投影しました。 おそらくスレッドが役立つでしょう。



したがって、 Orderディレクティブは、 AllowおよびDenyディレクティブと共に、3段階のアクセス制御システムを制御します。 最初のステップでは、すべてのAllowディレクティブまたはすべてのDenyディレクティブを処理します。 2番目のステップでは、残りのディレクティブ( DenyまたはAllow )を解析します。 3番目のステップは、最初の要求にも2番目の要求にも一致しないすべての要求を受け入れます。



すべてのディレクティブAllowDenyは、通常は最初のディレクティブのみが使用されるファイアウォールの動作に合わせて処理されることに注意しください 。 結果は最後の一致です(ファイアウォールの動作の典型でもありません)。



Order Deny,Allow

Deny from all

Allow from 192.168.1.*











この例では、ファイアウォールのロジックに従おうとすると、アクセス制限がすべてのホストに実装され、192.168.1の解像度になります。サブネット192.168.1から。*許可。



さらに、構成ファイルで行が続く順序は重要ではありません。すべての許可行は単一のグループとして、すべての拒否行はそれぞれ別のグループとして実行され、デフォルトの状態は個別に考慮されます。

順序は次のいずれかです。

許可、拒否

最初に、すべてのAllowディレクティブがチェックされます。 少なくとも1つが一致する必要があります。一致しない場合、要求は拒否されます。 次に、すべての拒否ディレクティブがスキャンされます。 一致する場合、要求は拒否されます。 最後に、 AllowまたはDenyディレクティブに準拠していないリクエストは、デフォルトで拒否されます。



拒否、許可

最初に、すべての拒否ディレクティブがチェックされます。 一致するものがあれば、 Allowディレクティブに一致するものがない場合、要求は拒否されます。 AllowまたはDenyディレクティブに準拠していない要求は無視されます。



キーワードはコンマでのみ区切ることができ、それらの間にスペースを入れることはできません。



コンプライアンス 許可、拒否の結果 結果拒否、許可
一致のみ許可 許可されたリクエスト 許可されたリクエスト
拒否のみに一致 リクエストが拒否されました リクエストが拒否されました
一致なし デフォルトでは、2番目のディレクティブは有効です:rejected デフォルトでは、2番目のディレクティブは有効です。有効
許可と拒否の両方に一致 最終試合の管理:拒否 最終試合の管理:許可




以下の例では、192.168.1上のすべてのホスト*サブネットはアクセスを許可されています。



Order Deny,Allow

Deny from all

Allow from 192.168.1.*











次の例では、192.168.1からのすべてのホスト*ホスト192.168.1.5と192.168.1.24を除くサブネットはアクセスを許可されます。他のサブネットからの他のすべてのホストへのアクセスは拒否されます。 サーバーのデフォルト状態はDenyで 、アクセスを拒否します。



Order Allow,Deny

Allow from 192.168.1.*

Deny from 192.168.1.5

Deny from 192.168.1.24











一方、最後の例のOrderディレクティブの順序をDeny、Allowに変更するとすべてのホストへのアクセスが許可されます。 これは、設定ファイル内のディレクティブに従うことが関連しているという事実とは別に、192.168.1からのこのAllowディレクティブが原因で発生します。 192.168.1以外のすべてのホスト*アクセスも許可されます。 デフォルトの状態はAllowです。



オリジナル



いくつかのポイントは最初の読書の後にはっきりしないかもしれません、しかし、彼らの慎重な分析、一歩一歩は、学生を疑わしいままにしないでしょう。 すべてが論理的に正しいです。



All Articles