BIND: 거부된 쿼리 로깅 활성화

BIND: 거부된 쿼리 로깅 활성화

응답할 수 없거나 지속적으로 서버에 쿼리하는 클라이언트를 나열하지만 허용되지 않는 쿼리를 기록하기 위해 바인드 9.11(CentOS 8의 기본값)을 얻으려고 합니다.

마지막으로 나는 이 로깅을 사용하여 Fail2ban에 피드하고 해당 "바보"를 차단하고 싶습니다.

서버는 보유하고 있는 도메인에 대한 쿼리에 응답하는 기본 NS이지만 그 이상은 아닙니다.

먼저 에 설명된 대로 모든 것을 기록하려고 했습니다.https://kb.isc.org/docs/aa-01526전체 디버그 수준에서도 누군가가 다음과 같이 완전한 영역 전송(확실히 보조 NS에서만 허용됨)을 요청한 경우를 제외하고는 "거부됨"이라는 단어가 포함된 로그라인을 찾지 못했습니다.

2020년 8월 27일 11:40:47.317 클라이언트 @0x7fd284052510 94.102.208.167#51041 (somedomain.com): 영역 전송 'somedomain.com/AXFR/IN'이 거부되었습니다.

서버에 자신이 담당하지 않는 이름에 대한 쿼리를 요청하면 클라이언트는 다음을 얻습니다.

발굴 @ns.mydomain.com www.disney.com
신뢰할 수 없는 답변:
*** www.disney.com을 찾을 수 없습니다: 답변이 없습니다

맞는 말이지만 바인딩은 다음과 같은 내용만 기록합니다.

2020년 8월 27일 11:43:27.741 쿼리: 정보: 클라이언트 @0x7fd2840bf440 1.2.3.4#34369 (www.디즈니.com): 쿼리:www.디즈니.comIN A + (xxxx)

클라이언트에게 어떤 종류의 답변이 전송되었는지에 대한 단서가 없습니다.

현재 구성은 다음과 같습니다.

logging {
        channel "my_queries" {
                file "/var/log/named.queries" versions 600 size 20m;
                print-time yes;
                print-category yes;
                print-severity yes;
                severity dynamic;
        };
        channel "security_file" {
                file "/var/log/named.security";
                severity dynamic;
                print-time yes;
        };
        category "queries" { "my_queries"; };
        category client { "security_file"; };
        category security { "security_file"; };
        category lame-servers { null; };
};

그렇다면 처음에 서버에 요청하는 것이 허용되지 않는 클라이언트에 대한 로그엔트리를 어떻게 만들 수 있습니까?

답변1

내 경우에는 다음과 같습니다.

27-Aug-2020 13:33:17.170 security: info: client @0x7f88b57bdf90 192.168.10.165#18237 (www.google.com): view 192.168.10.0/24: query (cache) 'www.google.com/AAAA/IN' denied
27-Aug-2020 13:33:17.170 query-errors: info: client @0x7f88b57bdf90 192.168.10.165#18237 (www.google.com): view 192.168.10.0/24: query failed (REFUSED) for www.google.com/IN/AAAA at ../../../bin/named/query.c:7144

내 구성은 (in /etc/bind/named.conf.options)입니다.

logging {
  channel replace_syslog {
    file "/var/log/bind/named.log" versions 5 size 2m;
    severity info;
    print-time yes;
    print-category yes;
    print-severity yes;
    };
  category default { replace_syslog; default_debug; default_syslog ; };
  category lame-servers { null; };
  channel query.log {
    file "/var/log/bind/query.log" versions 2 size 2M;
    severity debug 3;
    print-time yes;
  };
  category queries { query.log; };
};

관련 정보