본문 바로가기

리눅스

BIND(named)의 로깅을 설정하는 방법(bind logging)

728x90

BIND(named)의 로깅을 설정하는 방법(bind logging)

BIND (Berkeley Internet Name Domain)의 로깅을 설정하려면 BIND의 구성 파일에 로깅 옵션을 추가해야 합니다. BIND는 다양한 로깅 옵션을 제공하므로 필요에 따라 로그를 설정하고 관리할 수 있습니다.

 

1. BIND 구성 파일 열기

 

2. 로그 채널 정의

logging {
    channel "my_logs" {
        file "/var/named/logs/query.log";
        severity info;
        print-time yes;
        print-category yes;
    };
};

/var/named/logs/query.log 파일에 info 로그 레벨을 사용하여 로그를 저장합니다. print-time 및 print-category는 로그에 날짜 및 카테고리 정보를 포함할지 여부를 결정합니다.

  • 로그 레벨
    • emergency: 가장 심각한 오류.
    • alert: 시스템은 동작하지만 즉시 조치가 필요한 상황.
    • critical: 비정상 상황이 발생했지만 시스템은 계속 동작.
    • error: 오류가 발생하며, 기능에 지장을 줌.
    • warning: 경고 레벨의 메시지.
    • notice: 일반적인 흐름과 상관없는 중요한 이벤트.
    • info: 정보성 메시지.
    • debug: 디버그용 정보 메시지.

3. 채널 설정

로그 채널을 실제로 적용하려면 해당 채널을 BIND의 로그 카테고리에 연결해야 합니다. 로그 카테고리는 BIND의 다양한 서비스와 구성 요소에 대한 로깅을 관리합니다.

category queries { "my_logs"; };

"my_logs" 채널을 "queries" 로그 카테고리에 연결하는 예제입니다.

 

4. 로그 파일 디렉토리 생성

로그 파일을 저장할 디렉토리를 생성하고 BIND 사용자 또는 그룹이 쓰기 권한을 갖도록 설정합니다.

/var/named/logs/query.log을 사용했으므로 /var/named/logs 디렉토리를 생성합니다.

sudo mkdir -p /var/named/logs
sudo chown named:named /var/named/logs

 

5. named(BIND) 재시작

로깅 설정이 적용되도록 BIND를 다시 시작합니다.

sudo systemctl restart bind
728x90

named.logging.conf 편집

vim /etc/named.logging.conf
logging {
        channel "default_syslog" {
                // Send most of the named messages to syslog.
                syslog local2;
                severity debug;
        };
        channel "default_syslog" {
                file "logs/default.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "general_syslog" {
                file "logs/general.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "database_syslog" {
                file "logs/database.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "security_syslog" {
                file "logs/security.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "config_syslog" {
                file "logs/config.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "resolver_syslog" {
                file "logs/resolver.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "xfer-in_syslog" {
                file "logs/xfer-in.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "xfer-out_syslog" {
                file "logs/xfer-out.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "notify_syslog" {
                file "logs/notify.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "client_syslog" {
                file "logs/client.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "unmatched_syslog" {
                file "logs/unmatched.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "network_syslog" {
                file "logs/network.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "update_syslog" {
                file "logs/update.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "update-security_syslog" {
                file "logs/update-security.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "queries_syslog" {
                file "logs/queries.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "query-errors_syslog" {
                file "logs/query-errors.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "dispatch_syslog" {
                file "logs/dispatch.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "dnssec_syslog" {
                file "logs/dnssec.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "lame-servers_syslog" {
                file "logs/lame-servers.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "delegation-only_syslog" {
                file "logs/delegation-only.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel "edns-disabled_syslog" {
                file "logs/edns-disabled.log" versions 3 size 20m;
                severity debug;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        category default { default_syslog; };
        category general { general_syslog; };
        category database { database_syslog; };
        category security { security_syslog; };
        category config { config_syslog; };
        category resolver { resolver_syslog; };
        category xfer-in { xfer-in_syslog; };
        category xfer-out { xfer-out_syslog; };
        category notify { notify_syslog; };
        category client { client_syslog; };
        category unmatched { unmatched_syslog; };
        category network { network_syslog; };
        category update { update_syslog; };
        category update-security { update-security_syslog; };
        category queries { queries_syslog; };
        category query-errors { query-errors_syslog; };
        category dispatch { dispatch_syslog; };
        category dnssec { dnssec_syslog; };
        category lame-servers { lame-servers_syslog; };
        category delegation-only { delegation-only_syslog; };
        category edns-disabled { edns-disabled_syslog; };
};

 

참고URL

- BIND logging 설정-2 : https://scbyun.com/619

- BIND logging | BIND 9.5.x : https://scbyun.com/100

- BIND Logging - some basic recommendations : https://kb.isc.org/docs/aa-01526

 

728x90