1. 패키지 설치
# yum install -y bind bind-libs bind-utils caching-nameserver
//bind 패키지와 bind 라이브러리, bind 유틸, caching-nameserver 를 yum을 이용하여 설치, 그리고 굳이 libs과 utils를 설치 하지않아도
# yum install -y bind 만 설치하여도 의존성 때문에 자동으로 설치를 해준다. caching-nameserver는 따로 설치 해주어야 한다.
################### CentOS 5에서 Bind 불가 ###################### //
* named.conf 파일이 없다면 .. 버전을 확인 할 것. CentOS의 bind-9.3.3 버전에서는 named.conf 와 같은 config 파일을 더이상 기본으로 설치해 주지 않는다.
bind-9.2 버전 까지는 /etc/named.conf 를 사용하고 bind-9.3 버전 부터는 named.caching-nameserver.conf 를 사용한다.
* bind-utils 은 기본적으로 설치가 되있다. 실수로 bind-utils를 지우게 되면 nslookup, dig, host 명령어를 사용할 수 없게 된다.
[root@ns root]# rpm -qa | grep bind
bind-9.3.3
bind-libs-9.3.3
bind-utils-9.3.3
[root@ns root]# rpm -qa | grep nameserver
caching-nameserver-9.3.3
==> 패키지가 설치되어 있는지 확인한다.
caching-nameserver-9.3.3 패키지가 설치되어 있다면,
/etc/named.conf를 대신하여 /etc/named.caching-nameserver.conf가 BIND 설정파일이 된다.
별도의 설정을 사용하고자 한다면, /etc/named.caching-nameserver.conf 파일을 cp 명령어로 /etc/named.conf 로 만들어주고
BIND 서비스 재시작시 자동으로 /etc/named.conf를 설정파일로 이용한다.
* CentOS 상에 named.conf 가 없는 초기화 상태에서 bind 패키지를 yum을 이용하여 설치 하였더니..
/etc 안에 설정파일을 찾을 수 없었다.(9.3버전이니까 named.conf 가 아닌 named.caching-nameserver.conf 파일.)
그래서 다시 bind 패키지를 삭제 후
# yum install -y caching-nameserver 이렇게 했더니
자동적으로 bind 9.3 버전의 패키지를 같이 설치를 해주었다.
결론적으로 필요한 것은...
1. bind
2. bind-libs
3. bind-utils
4. caching-nameserver
이것만 설치해주면 DNS 서버 구축하기 위한 기본적인 준비가 되었다고 할 수 있다.
1. bind-chroot 를 설치한 경우
** bind-chroot 패키지를 설치하였다면, BIND 서비스는 /var/named/chroot 디렉토리를 통하여 실행된다.
또한 모든 설정파일도 /var/named/chroot 디렉토리로 이동될 것이다.
named.conf 설정 파일도 /etc 디렉토리에 위치하는 것이 아니라 /var/named/chroot/etc/ 디렉토리에 위치하게 된다.
2. caching-nameserver 를 설치한 경우
** Bind 서비스는 /etc 에 위치.
* 설정 파일 백업
# cp named.caching-nameserver.conf named.caching-nameserver.conf.bak
# ls | grep named.* //확인
# vi /etc/named.caching-nameserver.conf
* directoy "/var/named"; ----> DNS의 zone 파일 위치 지정
options {
listen-on port 53 { any; }; // 허용하고자 하는 ip 또는 test 시 any로 설정
allow-query { any; };
allow-query-cache { localhost; };
// nameserver query를 허용할 ip 혹은 ip 대역을 설정하는 지시자이며, 외부와의 query를 허용하려면 any 로 설정.
* 위의 설명에 덧붙여서 ..
recursion 은 외부에서 현재의 nameserver를 지정하여 사용할 수 있게 할지 사용할 수 없게 할 지를 설정하는 지시자이다.
보안을 위해서는 no 로 지정하는 것이 좋다.
* any는 윈도우에서 말하는 all 과 같다.
* 설정파일 설정이 제대로 되었는지 확인
![](https://t1.daumcdn.net/cfile/tistory/273F3B485427D3EF33)
![](https://t1.daumcdn.net/cfile/tistory/22793F3A5427D47B08)
맨 밑에 줄에 교육용이든, 앞으로 쓸 도메인을 추가한다. 지금 해당 server에 wireless.or.kr 이란 도메인을 사용할 것이며 file은 wireless.or.kr.zone을 참고 할 것이다. 이 파일은 /var/named/localdomain.zone 파일을 복사하여 설정한다.
설정 완료 후 named-checkconf 로 이상이 없는지 확인
# named-checkconf /etc/named.rfc1912.zones
*참고
/var/named/named.ca
- 이 파일은 com, net, org 와 같은 최상위 도메인에 대한 관리 권한을 가진 nameserver 들에 대한 정보를 가지고 있다.
루트 도메인 파일의 업데이트를 위해서는 최신 파일을 다운로드 받고 /var/named/named.ca 파일에 복사하면 된다.
# cd var/named
[/var/named]#ls chroot localdomain.zone named.broadcast named.ip6.local named.zero data localhost.zone named.ca named.local slaves
* 마지막으로 생성된 파일에 대해서는 다음과 같이 파일 퍼미션을 설정해 주면 된다.
@ 도메인 자기 자신을 말함.
관리자 메일 주소 root.wieless.or.kr (임의로 만든것임)
밑에는 보조영역 관리에 대한 영역
wireless.or.kr 자기 자신 @임
앞에 아무것도 없는거는 자기자신임.
우선순위 10으로 주기 INMAX에
3. BIND-9.2.x 버전 일 경우 설정파일의 위치는 /etc/named.conf
: 이 파일은 nameserver 데몬이 시작될 때 제일 먼저 읽어 들이는 설정 파일이므로 파일 안에
나머지 세부 설정파일은 /etc/named.conf 의 설정에 따라 경로 및 파일이름이 결정된다.
/etc/named.rfc1912.zones
/etc/name.root.hints
/etc/rndc.conf
/etc/rndc.key
아래의 그림은 bind-chroot 를 설치 했을 때의 설정파일 경로를 링크하여 /etc에 설정 파일이 위치한 것을 알 수 있다.(심볼릭 링크
/////////*. named.conf 파일안에 들어가는 설정은 크게 4가지이다.
첫번째 - 세부 설정파일을 저장할 디렉토리 : option
두번째 - root domain zone
세번째 - Forward zone : 도메인 -> ip 변환
네번째 - Reverse zone : ip -> 도메인 변환
1014 named-checkconf /etc/named.caching-nameserver.conf 1015 named-checkconf /etc/named.rfc1912.zones 1016 named-checkzone wireless /var/named//wireless.zone 1017 vi wireless.zone 1018 named-checkzone wireless /var/named//wireless.zone 1019 service named status 1020 service named start 1021 vi /etc/resolv.conf 1022 nslookup 1023 ls 1024 chmod -R otr wireless.zone 1025 chmod -R o+r wireless.zone 1026 ls -al 1027 vi /etc/resolv.conf 1028 vi /etc/resolv.conf 1029 named-checkzone wireless /var/named//wireless.zone 1030 named-checkzone wireless /var/named//wireless.zone * DNS 보안 취약성 ( 정보보안 기사, 산업기사 한권으로 끝내기 - 저자: 전주현 -- 참고)
1. BIND DNS 서비스 방해공격 취약점 : 취약한 BIND 네임서버가 특수하게 조작된 RDATA 로드 이후 리소스 레코드를 요청할 경우 BIND DNS가 잠기는 취약점이 있다. 현재 ISC에서 보안 업데이트를 발표한 상태이다. 리눅스의 BIND DNS 자체의 취약성이다. 따라서 시스템 관리자 및 보안담당자는 이러한 소프트웨어 취약점에 대해서는 늘 관심을 가지고 있어야 하며 패치가 나오면 반드시 업데이트를 해 주어야 한다.
2. DNS Cache poisoning 공격 : 취약한 DNS 서버에 조작된 쿼리를 전송하여 DNS 서버가 저장하고 있는 주소 Cache 정보를 임의로 변조하는 공격을 말한다.
'OS' 카테고리의 다른 글
sendmail , POP3 서버 구축하기 (0) | 2014.09.28 |
---|---|
Bind 패키지 설치 후 named 데몬 올리기 중 에러 (0) | 2014.09.28 |
Netstat 연결 상태 정의 (0) | 2014.09.27 |
Windows 권한 (0) | 2014.09.27 |
DNS 서버의 역할 (0) | 2014.09.27 |