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
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
'리눅스' 카테고리의 다른 글
MySQL의 패스워드 정책을 확인하고 변경하는 방법 (0) | 2022.11.29 |
---|---|
[draft] CentOS 7에서 YUM 패키지 매니저를 사용하여 MySQL을 설치하는 방법 (0) | 2022.11.29 |
BIND(named)와 queryperf(성능 점검)를 설치하고 사용하는 방법 (0) | 2022.11.28 |
Well Known Ports (0) | 2022.11.28 |
[리눅스] BIND(named)에서 $GENERATE 지시어를 사용하는 방법 (0) | 2022.11.28 |