리눅스 네임서버 운영시 query (cache) 'sl/ANY/IN' denied 내용이 로그파일에 쌓이는데 문제가 무엇이고, 해결방법은 무엇일까?
[ 이 문제의 주요 원인은 일반적으로 다음과 같습니다. ]
- 네임서버 구성 문제: 네임서버의 구성 파일에 오류가 있을 수 있습니다. 이로 인해 특정 쿼리 유형에 대한 접근 권한이 없어서 거부되는 경우가 발생합니다.
- 액세스 권한 설정: DNS 서버가 캐시된 쿼리를 처리하는 데 필요한 액세스 권한이 적절하게 설정되어 있지 않을 수 있습니다.
[ 문제를 해결하는 방법 예제 1. ]
네임드 (named) 서비스의 동작을 조정하려면 named.conf 파일을 수정해야 합니다. 이 파일은 BIND DNS 서버의 설정 파일로, DNS 서버의 동작과 액세스 권한을 정의하는 중요한 파일입니다.
- ACL 설정 확인: named.conf 파일에서 액세스 제어 목록 (ACL)과 관련된 설정을 찾아봅니다. 'allow-query'라는 지시어를 사용하여 허용할 클라이언트 IP 주소나 서브넷을 지정할 수 있습니다.
예를 들어, 다음과 같이 'allow-query'를 설정할 수 있습니다:
위 예제에서는 'trusted_clients'라는 ACL에 속한 클라이언트만 쿼리를 허용하도록 설정하고 있습니다. ACL 이름은 사용자 정의 가능하며, 허용할 IP 주소 또는 서브넷은 필요에 따라 변경할 수 있습니다.
sudo systemctl restart named // 또는 sudo service named restart
위의 단계를 따르면 'query (cache) 'sl/ANY/IN' denied'와 같은 로그 메시지가 더 이상 나타나지 않을 것입니다. 설정을 변경하기 전에 충분한 이해와 테스트를 진행하는 것이 중요하며, 잘못된 설정으로 인해 DNS 서버가 정상적으로 동작하지 않을 수 있으므로 주의해야 합니다.
[ 문제를 해결하는 방법 예제 2.]
'named.conf'에 'logging' 섹션에 'category security { null; };'를 추가하여 'query (cache) 'sl/ANY/IN' denied'와 같은 로그 메시지가 사라지게 하는 방법.
Logging Category: BIND DNS 서버는 로그를 통해 다양한 이벤트와 동작을 기록합니다. 로그를 보다 상세하게 조정하려면 'logging' 섹션을 사용하여 로깅 범주를 설정할 수 있습니다. 로깅 범주는 다양한 유형의 로그 메시지에 대해 다른 레벨의 로깅을 적용할 수 있도록 도와줍니다.
* 이해설명 : Security Category: 'category security'는 BIND에서 제공하는 하나의 로깅 범주로, 보안 관련 이벤트에 대한 로그를 설정하는 용도로 사용됩니다. 예를 들어, 액세스 거부와 같은 보안 관련 로그는 이 'security' 범주로 분류됩니다.
logging {
category security { null; };
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
- null; 설정: 'category security { null; };'는 'security' 로깅 범주에 대해 로그를 출력하지 않도록 설정하는 것입니다. 'null;'은 로그를 출력하지 않음을 의미하며, 따라서 해당 로깅 범주의 이벤트는 더 이상 로그에 기록되지 않게 됩니다.
- 위와 같이 설정을 추가하면 'security' 로깅 범주에 대해 액세스 거부와 같은 이벤트가 기록되지 않기 때문에 'query (cache) 'sl/ANY/IN' denied'와 같은 로그 메시지가 사라지게 됩니다.
이 방법은 불필요한 로그 메시지를 제거하거나 로그 크기를 줄이는 데 도움이 될 수 있습니다. 그러나 이로 인해 중요한 보안 이벤트가 로그에 기록되지 않아 모니터링과 감사에 어려움을 초래할 수 있습니다. 따라서 이러한 설정 변경은 보안 및 모니터링 요구 사항에 따라 신중하게 검토되어야 합니다.
댓글