로그메세지 : the default for the 'auth-nxdomain' option is now 'no'
2006. 11. 10. 14:10
네임서버 데몬을 구동 시키면 OK라는 메시지와 함께 정상 구동되는데 nslookup으로 query를 해보면 응답을 못줍니다.
로그 메시지(/var/log/messages)를 보니 아래와 같은 메시지가 있던데 상관관계가 있나여?
Oct 16 02:24:42 TEST named[1589]: the default for the 'auth-nxdomain' option is now 'no'
/etc/named.conf 파일을 보시면
options {
directory "/var/named";
allow-transfer { 1.1.1.1; };
auth-nxdomain yes;
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
위의 부분에서 auth-nxdomain 부분이 no로 설정되어있어서 그렇습니다.
yes로 변경후 네임서버를 재구동 시키셔서 다시 테스트 해보시기 바랍니다.
(auth-nxdomain yes; 라인이 없는경우 넣어 주시면 됩니다.)
위의 사항은 Bind 9.X 이상의 버전에 해당됩니다.
로그 메시지(/var/log/messages)를 보니 아래와 같은 메시지가 있던데 상관관계가 있나여?
Oct 16 02:24:42 TEST named[1589]: the default for the 'auth-nxdomain' option is now 'no'
/etc/named.conf 파일을 보시면
options {
directory "/var/named";
allow-transfer { 1.1.1.1; };
auth-nxdomain yes;
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
위의 부분에서 auth-nxdomain 부분이 no로 설정되어있어서 그렇습니다.
yes로 변경후 네임서버를 재구동 시키셔서 다시 테스트 해보시기 바랍니다.
(auth-nxdomain yes; 라인이 없는경우 넣어 주시면 됩니다.)
위의 사항은 Bind 9.X 이상의 버전에 해당됩니다.
Redhat ES나 fedora를 설치하는 경우 bind 설정에서 변경되는 부분이 있습니다.
bind 보안이 강화되어 기본적으로 chroot를 이용하도록 bind-chroot 패키지가 설치됩니다.
[root@ns named]# rpm -qa | grep bind
bind-utils-9.2.4-2
bind-9.2.4-2
bind-chroot-9.2.4-2
(bind-chroot-9.2.4-2가 기본적으로 설치된 것을 확인할 수 있습니다)
chroot(Change Root Directory)는 특정 디렉토리가 / (루트 디렉토리) 인 것처럼 속여 만약 서버의 취약점으로 인해 침입을 당한 경우 제한된 영역의 시스템 디렉토리에만 그 피해를 국한시키기 위한 메커니즘입니다.
bind의 named 프로세스를 chroot환경에서 실행하게 되면, named는 ~/chroot 디렉토리를 시스템의 루트 디렉토리로 여기게 되고 따라서 ~/chroot 하위 디렉토리에 대해서만 접근할 수 있습니다.
[root@ns named]# pwd
/var/named
[root@ns named]# ls -l
total 12
drwxrwx--- 5 root named 4096 Apr 25 11:08 chroot
drwxrwx--- 2 named named 4096 Oct 19 2004 data
lrwxrwxrwx 1 root root 44 May 26 21:02 localdomain.zone -> /var/named/chroot/var/named/localdomain.zone
lrwxrwxrwx 1 root root 42 May 26 21:02 localhost.zone -> /var/named/chroot/var/named/localhost.zone
lrwxrwxrwx 1 root root 43 May 26 21:02 named.broadcast -> /var/named/chroot/var/named/named.broadcast
lrwxrwxrwx 1 root root 36 May 26 21:02 named.ca -> /var/named/chroot/var/named/named.ca
lrwxrwxrwx 1 root root 43 May 26 21:02 named.ip6.local -> /var/named/chroot/var/named/named.ip6.local
lrwxrwxrwx 1 root root 39 May 26 21:02 named.local -> /var/named/chroot/var/named/named.local
lrwxrwxrwx 1 root root 38 May 26 21:02 named.zero -> /var/named/chroot/var/named/named.zero
drwxrwx--- 2 named named 4096 Oct 19 2004 slaves
(/var/named 안에 chroot 디렉토리를 확인할 수 있습니다)
[root@ns chroot]# pwd
/var/named/chroot
[root@ns chroot]# ls -l
total 12
drwxrwxr-- 2 root named 4096 Apr 25 11:08 dev
drwxrwx--- 2 root named 4096 Jul 1 11:30 etc
drwxrwx--- 5 root named 4096 Apr 25 11:08 var
(/var/named/chroot 디렉토리)
이전과는 달리 모든 bind 설정 관련 파일들은 /var/named/chroot 안에 존재하고 있습니다.
기존 /etc/named.conf는
/var/named/chroot/etc/named.conf에
기존 /var/named의 zone file은
/var/named/chroot/var/named 안에 위치하게 됩니다.
설정이 끝나고 chroot를 이용한 bind를 구동하면
[root@ns chroot]# ps -aux | grep named
named 13316 0.0 1.3 37896 3528 ? Ssl Jun23 0:00 /usr/sbin/named -u named -t /var/named/chroot
위에서와 같이 -t /var/named/chroot 옵션(-t chrootdir)이 적용된 것을 확인 할 수 있습니다.
만약, chroot가 적용된 bind를 사용하지 않고 예전 방식대로 운영하려면 bind-chroot 패키지만 삭제합니다.
bind 보안이 강화되어 기본적으로 chroot를 이용하도록 bind-chroot 패키지가 설치됩니다.
[root@ns named]# rpm -qa | grep bind
bind-utils-9.2.4-2
bind-9.2.4-2
bind-chroot-9.2.4-2
(bind-chroot-9.2.4-2가 기본적으로 설치된 것을 확인할 수 있습니다)
chroot(Change Root Directory)는 특정 디렉토리가 / (루트 디렉토리) 인 것처럼 속여 만약 서버의 취약점으로 인해 침입을 당한 경우 제한된 영역의 시스템 디렉토리에만 그 피해를 국한시키기 위한 메커니즘입니다.
bind의 named 프로세스를 chroot환경에서 실행하게 되면, named는 ~/chroot 디렉토리를 시스템의 루트 디렉토리로 여기게 되고 따라서 ~/chroot 하위 디렉토리에 대해서만 접근할 수 있습니다.
[root@ns named]# pwd
/var/named
[root@ns named]# ls -l
total 12
drwxrwx--- 5 root named 4096 Apr 25 11:08 chroot
drwxrwx--- 2 named named 4096 Oct 19 2004 data
lrwxrwxrwx 1 root root 44 May 26 21:02 localdomain.zone -> /var/named/chroot/var/named/localdomain.zone
lrwxrwxrwx 1 root root 42 May 26 21:02 localhost.zone -> /var/named/chroot/var/named/localhost.zone
lrwxrwxrwx 1 root root 43 May 26 21:02 named.broadcast -> /var/named/chroot/var/named/named.broadcast
lrwxrwxrwx 1 root root 36 May 26 21:02 named.ca -> /var/named/chroot/var/named/named.ca
lrwxrwxrwx 1 root root 43 May 26 21:02 named.ip6.local -> /var/named/chroot/var/named/named.ip6.local
lrwxrwxrwx 1 root root 39 May 26 21:02 named.local -> /var/named/chroot/var/named/named.local
lrwxrwxrwx 1 root root 38 May 26 21:02 named.zero -> /var/named/chroot/var/named/named.zero
drwxrwx--- 2 named named 4096 Oct 19 2004 slaves
(/var/named 안에 chroot 디렉토리를 확인할 수 있습니다)
[root@ns chroot]# pwd
/var/named/chroot
[root@ns chroot]# ls -l
total 12
drwxrwxr-- 2 root named 4096 Apr 25 11:08 dev
drwxrwx--- 2 root named 4096 Jul 1 11:30 etc
drwxrwx--- 5 root named 4096 Apr 25 11:08 var
(/var/named/chroot 디렉토리)
이전과는 달리 모든 bind 설정 관련 파일들은 /var/named/chroot 안에 존재하고 있습니다.
기존 /etc/named.conf는
/var/named/chroot/etc/named.conf에
기존 /var/named의 zone file은
/var/named/chroot/var/named 안에 위치하게 됩니다.
설정이 끝나고 chroot를 이용한 bind를 구동하면
[root@ns chroot]# ps -aux | grep named
named 13316 0.0 1.3 37896 3528 ? Ssl Jun23 0:00 /usr/sbin/named -u named -t /var/named/chroot
위에서와 같이 -t /var/named/chroot 옵션(-t chrootdir)이 적용된 것을 확인 할 수 있습니다.
만약, chroot가 적용된 bind를 사용하지 않고 예전 방식대로 운영하려면 bind-chroot 패키지만 삭제합니다.