DNS 기본 보안 설정

Posted 2008. 10. 24. 04:46


출처 : DNS전문가 topasvga님


1.1 DNS 기본보안 설정


1.1.1       버전 숨기기


BIND 4.9 이후부터는 특정 형태의 질의를 수신하면 자신의 버전 정보를 응답하는 기능이 있습니다.

 

버전 정보 탐색

% dig txt chaos version.bind.

 

BIND 8.2와 그 이후 버전에서는 이런 정보 유출을 막을 수 있습니다.

버전 정보 숨기기

 

#vi  /etc/named.conf

options {

             version “No!  Touch!!!” ;

};

 

 

1.1.2       단일 장애 지점 (Single points of Failure) 피하기
http://www.menandmice.com/2000/2110_single_point.html

 

대부분의 도메인 레지스트라에서는 도메인 등록시 네임 서버를 2개 이상 등록해야만 하는데

만약 1대의 네임서버만을 운영하다가 해당 네트워크가 다운이 되면, 업무상 많은 손실이 발생할 수 있기 때문으로 항상 도메인 서비스가 끊기지 않도록 사전 예방해야 합니다.

 

Single point of failure 에 노출되었는지 확인하는 방법

1)      도메인 서비스를 위한 네임서버가 1대인 경우

2)      도메인 서비스를 위한 네임서버들 중에 1대에만 존설정한 경우

3)      도메인 서비스를 위한 네임서버들이 모두 존설정을 했지만 물리적으로 같은 subnet에 위치하거나 같은 장소에 위치하거나 어떤 특정한 장비에 의존해 있는 경우

 

해결책)

1)      도메인 서비스용 DNS 서버를 1개 이상 보유하기

2)      도메인에 대한 설정이 해당 DNS 서버들 모두에게 설정되도록 하기

3)   물리적으로 분리하기

 

 


1.1.3       트래픽 필터링
 

TCP/IP상에서 IP주소 Port 번호 등을 기반으로 한 packet filtering 가능

네임서버기능만 하는 호스트라면, 해당 서버들에 불필요한 트래픽이 가지 않도록 필터링합니다.

즉 인터넷에서 UDP와 TCP 포트 53번 외의 트래픽을 차단합니다.

 

어 떤 네트워크는 네트워크의 연결이 패킷 단위로 요금이 책정되거나 회선의 속도가 매우 느려 다량의 트래픽을 사이트 외부로 전송하는데 곤란을 겪는 경우가 있다. 이런 상황에서는 사이트 바깥으로 나가는 DNS 트래픽을 가장 최소로 제한할 필요가 있는데 BIND가 포워더(forwarders)라는 메커니즘을 이용해 이런 역할 해줍니다. 특정 네임 서버에 도메인 네임 탐색 업무를 몰아주려면 포워더(forwarder)를 이용하는게 유용합니다. 예를 들어 네트워크에서 호스트 하나만 인터넷에 연결되어 있고 그 호스트에서 네임 서버가 돌고 있다면, 그 서버를 포워더로 이용하도록 다른 네임 서버를 서정해 모든 서버가 도메인 네임을 탐색하게 할 수 있습니다.

 

Options {

             Forwarders { 192.249.249.1; 192.249.249.3; };

};

 


 

1.1.4       Recursive 쿼리 제한
 

BIND 8과 9의 allow-query 서브 구문에서 질의에 대한 IP주소 기반의 액세스 리스트를 만들 있습니다.  이 액세스 리스트를 늑정 영역에 적용하거나 네임 서버가 수신하는 모든 질의에 적용할 수 있습니다.

 

모든 질의 제한

allow-query 서브 구문의 형식

options {

             allow-query { address_match_list; };

};

 


특정 영역의 질의 제한

액세스 제어 리스트(ACL)를 특정 영역에 적용할 수도 있습니다. 이런 경우에는 보호하려는 영역에 대한 zone 구문에 allow-query 서브 구문을 이용합니다.

 

Acl “HP-NET” { 15/8; };

Zone “hp.com” {

             Type slave;

             File “bak.hp.com”;

             Masters { 15.255.152.2; };

};

 

 

1.1.5       Zone Transfer 제한 설정법
전체적으로 영역 전송 제한 및 허용법 -  네임서버에서만 서버정보를 전송해갈수 있도록 설정 한다.

 

BIND 8 9  allow-transfer 설정법

 

# vi  /etc/named.conf

  

options {

             allow-transfer { 127.0.0.1;  200.1.1.1;  200.2.2.2;  };

};

 

// 설명:  200.1.1.1  ,  200.2.2.2 대신  실제 네임서버 IP를 적어주어야한다.

 

 

 

BIND 4.9  xfrnets 지시자 이용

Xfrnets 15.0.0.0 128.32.0.0

 

Zone “movie.edu” {

             Type master;

             File “db.movie.edu”;

             Allow-transfer { 192.249.249.1; 192.253.253.9; };

};

 

기본적으로 모든 IP주소에 대해 영역 전송을 허용하기 때문에 해커들이 슬레이브 서버로부터 영역을 쉽게 긁어갈 수 있다.

 

Zone “movie.edu” {

             Type slave;

             Masters { 192.249.249.3; };

             File “bak.movie.edu”;

             Allow-transfer { none; };

};

 

'OS 운영체제 및 보안 > Linux' 카테고리의 다른 글

DNS 서버 구성하기  (0) 2008.11.06
Vi 편집기 사용법  (0) 2008.10.24
Vi 편집기 사용법  (0) 2008.10.24
crontab 간단 정리  (0) 2008.10.24
Named 최신버전으로 업그레이드  (0) 2008.10.24
Linux 시스템 cpu,메모리 점검  (0) 2008.10.24
예제] Linux Master/Slave View설정  (0) 2008.10.24
Linux에서 JDK 설치  (0) 2008.10.24
RPM 사용법  (0) 2008.10.24
FTP 계정 사용자의 상위 디렉토리로의 이동 제한  (0) 2008.10.24