반응형

2.4. DNSSEC 설정

 

학습 목표

- DNSSEC 설정을 할 수 있다.

 


DNSSEC(DNS Security Extensions)은 "데이터 위-변조 침해공격"에 취약한 DNS의 문제점을 근본적으로 보완 개선하기 위해 국제인터넷표준화기구인 IETF에서 1990년대 후반부터 논의를 시작, 2005년경 완성된 국제표준기술로, 다양한 시험을 거쳐 2010년에는 전세계 최상위 DNS인 ‘루트DNS’에도 적용되면서, 전세계적으로 적용이 확대되고 있습니다.

 - 한국인터넷정보센터(KRNIC) 인용


DNSSEC는 기존의 DNS에 공개키 암호화 방식의 보안 기능을 추가하여 '파밍' 등의 DNS 취약점에 대한 보안성을 높이고자 하는데 있으며 DNSSEC 개념은 클라이언트의 질의에 대해 DNS가 응답 시 전자서명을 통해 응답을 하고 사용자의 DNS에서 무결성을 검증한다면 클라이언트에게 응답하는 방식이 됩니다.

 

 

[ 그림 2-4-1. DNSSEC 동작방식 ] - 한국인터넷정보센터

 

 

BIND를 통한 DNSSEC 구축 방법은 아래 그림 2-4-2와 같이 도메인에 대한 존파일을 작성하고 존의 Key를 생성하여 Public Key를 Zone에 반영하고 Zone 서명을 한 다음 네임서버에 존을 반영하는 단계로 이루어집니다. 

 

실제 실습에서는 이전에 작업하였던 DNS 가상머신을 그대롤 활용하여 Master DNS에 대한 DNSSEC를 적용해보고 검증해보도록 하겠습니다.

 

 

[ 그림 2-4-2. DNSSEC 구축방법 ] - 한국인터넷정보센터

 

 

1. 도메인 존파일 작성 ( test.com.zone )
기존의 도메인 존파일 또는 신규 도메인 존 파일을 작성합니다. 


2. 존의 Key 생성 ( /var/named/key )
DNSSEC 서명적용 대상 도메인 존의 서명용 키를 생성하는 절차로 존 서명키(ZSK)와 키 서명키(KSK)를 각각 생성합니다.

#dnssec-keygen -a NSEC3RSASHA1 -r /dev/urandom -b 1024 -n ZONE test.com. - 존 서명키(ZSK) 생성
#dnssec-keygen -a NSEC3RSASHA1 -r /dev/urandom -b 2048 -n ZONE -f KSK test.com. - 키 서명키(KSK) 생성

 

-a : 암호화 알고리즘 -r : 키저장 디렉토리 -b : 키값의 크기 -n : ZONE파일 


서명생성 작업을 수행한 디렉토리(/var/named/key)에 아래와 같이 존의 존 서명키(ZSK), 키 서명키(KSK)가 각각 파일로 생성됩니다.


존 서명키(ZSK)

- Ktest.com.+007+52043.key
- Ktest.com.+007+52043.private
키 서명키(KSK)

- Ktest.com.+007+11121.key
- Ktest.com.+007+11121.private

 

3. Public Key 존 반영
test.com의 공개키(public key)는 키 서명키(KSK)와 존 서명키(ZSK) 각각에 해당하는 DNSKEY 리소스 레코드를 도메인 존 파일에 반영 설정하는 절차로 존 파일( test.com.zone )을 열어서 아래와 같이 존 서명키(ZSK), 키 서명키(KSK) 각각의 공개키 파일(*.key)을 존 파일에 포함시키는 설정을 합니다.

 

#vi /var/named/test.com.zone
$INCLUDE /var/named/key/Ktest.com.+007+52043.key
$INCLUDE /var/named/key/Ktest.com.+007+11121.key

 

4. 존 서명
test.com의 기본 존 파일 test.com.zone을 대상으로 DNSSEC 서명처리를 수행하는 절차로 여기서는 서명키들이 /var/named/key에 저장되어 있다고 가정을 하며 아래와 같이 서명처리 명령을 사용하여 서명 처리하며 서명된 존 파일은 'test.com.zone.signed' 라는 이름으로 생성됩니다. 

 

#cd /var/named

#dnssec-signzone -r /dev/urandom –K /var/named/key -o test.com. -S test.com.zone

 

 

[ 그림 2-4-3. zone 서명 ] - 후티(출처)

 

 


5. 네임서버에 존 반영
test.com의 서명된 존 파일인 test.com.zone.signed 를 네임서버에 반영하고 설정하는 절차로 네임서버 /etc/named.conf 파일에 아래와 같은 내용으로 설정하여 네임서버 구동 등을 통해 네임서버에 반영처리 합니다.

 

#vi /etc/named.conf
options {
             recursion no;
             dnssec-enable yes;
};
zone "test.com" IN {
             type master;
             file "dnssec/test.com.zone.signed";
             key-directory "key";
             auto-dnssec maintain;
             update-policy local;
};

 

6. DNSSEC 검증

 

#dig @199.6.1.30 www.isc.org a +dnssec +multiline

RRSIG(Resource Record Signature)레코드는 도메인 네임 시스템의 각 리소스 레코드 데이터에 대한 전자서명 데이터를 저장하기 위한 리소스 레코드로 ANSWER 부분에 이 레코드가 보이면 dnssec가 설정이 된 것을 알 수 있습니다. 

 

 

 

[ 그림 2-4-4. dnssec 검증 - dig ] - 후티(출처)

 

 

실습을 위해서는 이전의 DNS설정 부분을 참고하여 네임서버가 동작중이어야 하며 그 이후에 DNSSEC 설정을 진행하면 됩니다. 관련 설정 내용은 유튜브 채널 'youtube.com/에듀쉐어'를 통해 확인이 가능하며 구독 및 좋아요 항상 감사드립니다.

 

 

 

[ DNSSEC 설정 ] - 에듀쉐어

[에듀쉐어-강좌공유]

반응형

+ Recent posts