본문 바로가기
리눅스/Bind

BIND(named) 로깅 설정 가이드

by 열정루프 2025. 3. 15.
728x90

네트워크 관리나 시스템 운영을 하다 보면 DNS 로그 분석이 중요한 역할을 합니다. 특히, BIND(named) DNS 서버를 운영할 경우, 적절한 로깅 설정을 통해 문제를 빠르게 진단하고 보안을 강화할 수 있습니다.
이 글에서는 BIND(named)의 로깅 설정을 예제로 살펴보고, 각 항목이 어떤 의미를 가지는지 설명하겠습니다.
 

1. BIND(named) 로깅 설정 개요

BIND(named)는 다양한 유형의 DNS 로그를 남길 수 있으며, 각 로그 유형을 별도로 관리할 수 있습니다. 로깅 설정은 logging 블록 내에서 정의되며, 주요 구성 요소는 다음과 같습니다.

  • channel: 로그가 저장될 파일 및 출력 방식 설정
  • category: 특정 이벤트 유형을 지정된 채널로 기록하도록 설정

2. 예제 설정 및 설명

다음은 BIND(named)의 로깅 설정 예제입니다.

logging {
    channel default_file {
        file "/var/log/named/default.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    
    channel general_file {
        file "/var/log/named/general.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    
    channel security_file {
        file "/var/log/named/security.log" versions 3 size 5m;
        severity dynamic;
        print-time yes;
    };
    
    category default { default_file; };
    category general { general_file; };
    category security { security_file; };
};

위 설정을 자세히 살펴보겠습니다.

2.1 channel 설정

channel은 로그를 저장하는 방법을 지정합니다. 주요 설정 항목은 다음과 같습니다.

  • file "/var/log/named/default.log" → 로그 파일 위치
  • versions 3 → 최대 3개의 로그 파일을 보관 (최신 파일 포함)
  • size 5m → 각 로그 파일의 최대 크기 5MB
  • severity dynamic → 로그 심각도(기본적으로 동적 조정)
  • print-time yes → 로그에 타임스탬프 포함

위와 같은 방식으로 general.log, security.log 등의 다른 로그 파일도 설정됩니다.

2.2 category 설정

category는 특정 유형의 이벤트를 어떤 channel에 기록할지를 정의합니다.

  • category default { default_file; }; → 일반적인 로그를 default.log에 저장
  • category general { general_file; }; → 일반적인 운영 로그를 general.log에 저장
  • category security { security_file; }; → 보안 관련 로그를 security.log에 저장

추가적으로 필요에 따라 더 많은 로그 채널을 설정할 수 있습니다.
 


3. 추가적인 로그 채널 및 카테고리

다음은 추가적으로 설정할 수 있는 로그 채널의 예시입니다.

3.1 주요 로그 채널

 

채널명 로그 파일설명
queries_file /var/log/named/queries.log DNS 쿼리 로그
resolver_file /var/log/named/resolver.log DNS 질의 해석 관련 로그
dnssec_file /var/log/named/dnssec.log DNSSEC 관련 로그
update_file /var/log/named/update.log DNS 레코드 업데이트 로그

 

3.2 추가 카테고리 설정 예제

category queries { queries_file; };
category resolver { resolver_file; };
category dnssec { dnssec_file; };
category update { update_file; };

위 설정을 추가하면, 각각의 DNS 이벤트가 별도의 파일에 저장되어 분석이 쉬워집니다.
 


4. 로그 설정 적용 및 확인

설정 파일을 변경한 후, 다음 명령어로 BIND(named) 서비스를 재시작해야 합니다.

systemctl restart named

 
그리고 로그 파일이 정상적으로 생성되는지 확인합니다.

ls -lh /var/log/named/

 
또한, 특정 로그를 실시간으로 모니터링하려면 다음 명령어를 사용할 수 있습니다.

tail -f /var/log/named/queries.log

 


5. 마무리

이 글에서는 BIND(named)의 로깅 설정 방법을 알아보았습니다. DNS 서버를 운영할 때는 적절한 로그를 설정하고 주기적으로 모니터링하여 보안 및 운영 효율성을 높이는 것이 중요합니다.
더 많은 로그 분석 방법이나 자동화 스크립트가 궁금하다면 댓글로 질문해주세요!

728x90

'리눅스 > Bind' 카테고리의 다른 글

BIND(named) 로깅 설정 가이드  (0) 2025.03.28