[리눅스/서비스 관리] DNS Zone Transfer 설정 (U-34)
- 취약점 점검/리눅스
- 2021. 5. 30.
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 정보를 일관성 있게 유지하기 위하여 사용하는 기능