[리눅스/서비스 관리] DNS Zone Transfer 설정 (U-34)

DNS Zone Transfer 설정

 

취약점 개요

■ 위험도
- 상

■ 점검 목적
- 허가되지 않는 사용자에게 Zone Transfer를 제한함으로써 호스트 정보, 시스템 정보 등 정보 유출의 방지를 목적으로 함

■ 보안 위협
- 비인가자 Zone Transfer를 이용해 Zone 정보를 전송받아 호스트 정보, 시스템 정보, 네트워크 구성 형태 등의 많은 정보를 파악할 수 있음

점검 및 조치 방법

■ 판단 기준
- 양호 : DNS 서비스 미사용 또는, Zone Transfer를 허가된 사용자에게만 허용한 경우
- 취약 : DNS서비스를 사용하며 Zone Transfer를 모든 사용자에게 허용한 경우

■ 조치 방법
- DNS 서비스를 사용하지 않을 경우 서비스 중지, 사용한다면 DNS 설정을 통해 내부 Zone 파일을 임의의 외부 서버에서 전송 받지 못하게 하고, 아무나 쿼리 응답을 받을 수 없도록 수정



■ 점검 및 조치 사례
<DNS 서비스를 사용할 경우>



● Bind8 DNS 설정(named.conf) 수정 예


● Bind4.9 DNS 설정(named.conf) 수정 예


<DNS 서비스를 사용하지 않는 경우>


● LINUX, AIX, HP-UX, SOLARIS 5.9 이하 버전
DNS 서비스 데몬 중지
# kill -9 [pid]

● SOLARIS 5.10 이상 버전
Step 1) DNS 서비스 데몬 확인


Step 2) svcadm disable "중지하고자 하는 데몬" 명령으로 서비스 데몬 중지
# svcadm disable svc:/network/dns/server:default

■ 스크립트

echo " U-51 START "
echo " [ U-51. DNS Zone Transfer 설정 ]"																						>>$COMPUTERNAME 2>&1
if [ `ps -ef |grep named | grep -v "grep" | wc -l` -eq 0 ]
then
	echo "[U-51] DNS 미실행중입니다 "																	>>$COMPUTERNAME 2>&1
		else
			if [ -f /etc/named.conf ]
			then 
				if [ `cat /etc/named.conf | grep '\allow-transfer'` ]	>>$COMPUTERNAME 2>&1
				then 
					echo "[U-51] 취약 " 															>> $COMPUTERNAME 2>&1
				else
					echo "[U-51] 양호 "															>> $COMPUTERNAME 2>&1
			fi
				else
					if [ -f /etc/named.boot ]
					then
						if [ `cat /etc/named.boot | grep "\xfrnets"` ]	>>$COMPUTERNAME 2>&1
							then
								echo "[U-51] 취약 "															>> $COMPUTERNAME 2>&1
							else
								echo "[U-51] 양호 "															>> $COMPUTERNAME 2>&1
				fi
			else
							echo " [U-51] 취약 " 														>> $COMPUTERNAME 2>&1
		fi
	fi
fi
echo "U-51 END"	
echo "========================================================================================="			>> $COMPUTERNAME 2>&1
echo ""


■ 용어 설명 / 팁
DNS Zone Transfer는 Primary Name Server와 Secondary Name Server 간에 Zone 정보를 일관성 있게 유지하기 위하여 사용하는 기능

댓글

Designed by JB FACTORY