네임서버

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

변군이글루 2023. 10. 14. 22:02
반응형

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

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

1. BIND 구성 파일(named.conf) 편집

sudo vim /etc/named.conf

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

bind 로깅 적용하기

named 설정 파일 편집

sudo vim /etc/named.conf
include "/etc/named.logging.conf";

로그 파일 디렉토리 생성

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

named.logging.conf 편집

sudo 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; };
};

named.conf 설정 파일 문법 검사

named-checkconf

named 재시작

sudo systemctl restart bind

 

참고URL

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

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

- bind9 logging template : https://webinar.defaultroutes.de/webinar/bind9-logging-template.html

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

 

728x90
반응형