DNS 서버를 선택한 뒤 “우측 버튼 → 모든 작업 → 중지”를 선택한다.
전체를 안전한 곳에 복사한다.
- 아래와 같은 레지스트리 키로 이동하여 Zones 항목을 선택한다.
(내보내기)을 선택한다. 파일을 저장하는 위치를 물어보는 대화상자가
- 관리도구의 서비스 콘솔에서 DNS Server를 중지 시킨다.
o DNS 파일 복원
- 백업해 두었던 DNS 텍스트 파일들을 탐색기를 열고 “%SystemRoot%
\System32\DNS”로 이동하여 모두 복사한다.
o DNS 레지스트리 복원
- 아래와 같은 레지스트리 키로 이동하여 Zones를 클릭하고 Regisrty
메뉴에서 “Import Registry File”(가져오기)을 선택하여 레지스트리를
복구한다.
Windows Server 2000
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Zone
Windows Server 2003
HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\DNS Server\Zones
o DNS 서버 설치 디렉토리로 이동
- 설정 작업을 위하여 DNS 관련 파일이 저장된 폴더로 이동한다.
o 싱크홀 적용 zone 파일 생성
- KISA에서 제공하는 “xx.com” 파일을 해당 디렉토리(%SystemRoot%\System32\DNS)로 복사한다.
o DNS 서버 설정파일(boot) 변경
- KISA에서 제공하는 boot 파일의 내용을 기존의 “%SystemRoot%\System32\DNS\”에 존재하는 boot 파일에 추가한다.
o 서버 재시작
- DNS 서버를 선택한 뒤 “우측버튼 → 모든 작업 → 다시 시작”을 선택한다.
- 모든 적용이 완료되면 DNS 서버의 정방향 조회 영역에 싱크홀 적용이
완료된 도메인 목록이 나타남을 확인 할 수 있다.
3) 적용 확인
o boot 파일에 포함된 도메인 중 하나를 nslookup 명령어를 사용하여 응답이
싱크홀 서버 주소로 오는지 확인한다.
o nslookup 시작
- 윈도우 커멘드 창에서 nslookup을 입력한다.
o DNS 서버 지정
- 싱크홀을 적용한 DNS 서버를 nslookup 질의를 보낼 서버로 설정한다.
아래 그림에서는 DNS 서버가 설치된 서버에서 테스트 중이므로
localhost 주소를 DNS 서버로 설정했다.
- boot 파일에 저장된 악성 도메인 주소를 입력하면 응답이 211.233.91.10
(싱크홀 서버 IP주소)로 오는 것을 확인 할 수 있다.
4.2 Unix 계열
싱크홀 시스템의 동작 원리는 좀비 PC가 C&C에 대한 질의 요청 시 해당
DNS 서버에서 C&C에 대한 IP주소 대신 싱크홀 서버 IP주소를 매핑 함
으로써 C&C를 차단한다.
본 절은 유닉스 계열의 DNS 서버인 BIND(8.x, 9.x) 환경에서 DNS 싱크홀 적용을
위한 설명이며, 설명의 용이성을 위해 아래 구성 파일과 같은 사항을 가정한다.
o 싱크홀 적용을 위한 DNS 서버 설정 파일
- DNS가 설치된 디렉토리 : /var/named
- 싱크홀 적용 zone 파일 이름 : xx.com
※ C&C 질의에 대해 싱크홀 IP로 우회시키기 위한 설정 파일로 싱크홀 이용자 포탈사이트
Home에서 다운로드 가능
- 악성 도메인 설정 파일 : forward_black.php
※ C&C 목록이 저장된 파일로 wget 명령으로 다운로드 가능
o 운영 시스템별로 DNS 설치 디렉토리를 반드시 확인 후 적용 할 것
2) 적용 방법
o DNS 서버 설치 디렉토리로 이동
- Linux 계열에서는 보통 “/var/named” 아래 관련 파일이 저장되어 있다.
[root@localhost root]# cd /var/named
[root@localhost named]# pwd
/var/named
o 싱크홀 적용 zone 파일 생성
- 악성 도메인에 대한 접속을 싱크홀 서버로 연결시키기 위한 zone 파일생성이필요
하며이를위해“/var/named/forward/black” 위치에“xx.com” 파일을 생성한다.
[root@localhost named]# cd /forward/black
[root@localhost black]# pwd
/var/named/forward/black
[root@localhost black]# vi xx.com
o DNS 서버 설정파일에 악성 도메인이 등록된 파일 추가
- zone 파일 생성 후 악성 도메인을 “xx.com”으로 연결시키기 위한 설정이
필요하다.
- 이를 위해 악성 도메인 목록인 “forward_black.php”를 생성하고 DNS 설정
파일에 include 하도록 설정한다. DNS 서버 설정파일은 주로 “etc/” 아래
위치하고 있으며 이를 수정하여 “forward_black.php”를 추가하도록 설정한다.
[root@localhost etc]# pwd
/etc
[root@localhost etc]# vi named.conf
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "jellygom.com" IN {
type master;
file "jellygom.zone";
allow-update { none; };
};
zone "23.168.192.in-addr.arpa" IN {
type master;
file "jellygom.rev";
allow-update { none; };
};
include "/etc/rndc.key";
include "/var/named/forward_black.php";
o 악성 도메인 목록 파일 다운로드
- KISA에서 제공하는 “forward_black.php” 파일을 해당 디렉토리
(/var/named)로 복사하여 사용하며 아래와 같이 wget 명령어를 사용
하면 간단하게 다운로드 가능하다.
o DNS 서버 설정 업데이트
- BIND 8.x : rdc reconfig
- BIND 9.x : rndc reconfig
3) 적용 확인
o “forward_black.php” 파일에 포함된 도메인 중 하나를 nslookup 명령어를
사용하여 싱크홀 서버 주소로 응답이 오는지 확인한다.
o nslookup 시작
- 쉘 커멘트 창에서 nslookup을 입력한다.
o DNS 서버 지정
- 싱크홀을 적용한 DNS 서버를 nslookup 질의를 보낼 서버로 한다.
※ 질의할 DNS 서버는 자신의 DNS 서버 IP를 사용한다.
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
o 응답 확인
- “forward_black.php” 파일에 저장된 악성 도메인 주소를 입력하면 응답이
211.233.91.10(싱크홀 서버 IP 주소)로 오는 것을 확인 할 수 있다.
※ 아래에서는 00.devoid.us를 이용하여 테스트 함
> 00.devoid.us
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: 00.devoid.us
Address: 211.233.91.10
>
4) 자동업데이트
o 싱크홀 목록 자동 업데이트를 위한 cron 적용
- 아래와 같이 crontab 명령을 사용하여 자동 업데이트 설정을 적용한다.
crontab -e
0 0,12 * * * wget -P /etc/named http://s4.knsp.org/sink_dns/forward_black.php
0 12 30 * * rndc reconfig
# BIND 8.x : rdc reconfig
# BIND 9.x : rndc reconfig
[부록] 용어정리
o (도메인) 숫자로 이루어진 인터넷상의 컴퓨터 주소를 알기 쉬운 영문
으로 표현한 것을 말하며 서비스, 조직, 조직의 종류, 국가의 이름순으로
구분되어 있다.
※ 예 : www.kisa.or.kr
o (호스트) 인터넷에 연결된 컴퓨터 시스템으로 다른 컴퓨터들과 통신이
가능한 컴퓨터를 말한다.
o (IP주소) Internet Protocol address는 컴퓨터 네트워크에서 장치들이 서로를
인식하고 통신하기 위해 사용하는 고유 식별번호이다.
o (ISP) Internet Service Provider는 개인이나 기업체에게 인터넷 접속 서
비스, 웹사이트 구축 및 웹호스팅 서비스 등을 제공하는 회사를 말하며
국내의 경우 KT, SK브로드밴드, LG U+ 등이 있다.
o (악성봇) 로봇과 같이 스스로 움직이지 못하지만 명령자의 명령에 의해
원격에서 실행이 가능한 프로그램 또는 코드로 스팸 메일 발송이나
DDoS 공격에 악용된다.
o (C&C 서버) Command and Control 서버는 악성코드에 감염된 PC에
스팸메일 발송, DDoS 공격을 수행하도록 명령을 내리는 서버로 주로
해커가 운영한다.
o (DDoS 공격, Distributed Denial of Service 공격) 해커가 감염시킨 대
량의 좀비 PC를 이용해 특정 시스템으로 과다한 트래픽을 무차별적으로
보내 서비스를 마비시키는 공격이다.
o (좀비 PC) 악성코드에 감염된 후 해커의 원격 조종에 의해 스팸 메일을
발송하거나 DDoS 공격에 이용되는 PC이다.