ドメインのホストへのアクセスを拒否する方法

ドメインのホストへのアクセスを拒否する方法

Apache 2.4.6では、1つ以上の特定のホスト(および残りの世界)を除くドメイン全体へのアクセスを拒否したいと思います。少し次のようになります。

Require not host xxx.com   ## nobody from this domain gets in...
Require host blah.xxx.com  ## --except for this one host in xxx.com
Require all granted        ## and the rest of the world!

大丈夫ですか?それでは、これを達成するためにRequireAny / All / Noneの魔法のように見える組み合わせを説明できる人はいますか?

それに加えて、他のブラックリストドメインとロジックを複製したいと思います(おそらく独自の例外があります)。

ベストアンサー1

これが私がやろうとしていることです。

  • ご注文の指示が許可、拒否に設定されていることを確認します。
  • それから私は:

    Allow all granted        ## and the rest of the world!
    Allow host blah.xxx.com  ## --except for this one host in xxx.com
    Deny not host xxx.com   ## nobody from this domain gets in...
    

しかし:

Allow host blah.xxx.com  ## --except for this one host in xxx.com

これが初めて許可されるので意味がありません。

なぜなら:

Order Allow,Deny
Allow from example.org
Deny from foo.example.org

順次とは、ドメインからホストに制限するのではなく、ホストに制限することを意味します。

簡単に言えば、順序がどのように機能するかという理由で、Apacheだけでは必要なものを実際に得ることはできません。なぜなら、最後の命令が常に残りの命令を上書きするからです。

ただし、目的のホストをファイアウォールを通過させないようにすることでブロックできます。

ファイアウォールが最初であるため、フィルタリングが必要なサービスにもアクセスできません。

おすすめ記事