도메인의 호스트에 대한 액세스를 거부하는 방법

도메인의 호스트에 대한 액세스를 거부하는 방법

Apache 2.4.6에서는 하나 이상의 특정 호스트(및 나머지 세계)를 제외한 전체 도메인에 대한 액세스를 거부하고 싶습니다. 약간 다음과 같습니다.

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

순차적이란 도메인에서 호스트로 제한하는 것이 아니라 호스트로 제한하는 것을 의미합니다.

간단히 말해서, 순서가 작동하는 방식 때문에 아파치만으로는 원하는 것을 실제로 얻을 수 없습니다. 왜냐하면 마지막 명령어가 항상 나머지 명령어를 덮어쓰기 때문입니다.

하지만 원하는 호스트를 방화벽을 통과하지 못하게 함으로써 차단할 수 있습니다.

방화벽이 먼저이기 때문에 필터링이 필요한 서비스에도 접근하지 못합니다.

관련 정보