> ipconfig /displaydns ## DNS Cache 조회
> ipcofnig /flushdns ## DNS Cache 삭제
TTL - 해당 Cache 정보를 유지하는 시간
DNS Lookup
Record Type
설명
A, AAAA
도메인의 IP 주소
ANY
도메인에 대한 모든 레코드
MX
도메인의 메일 서버
NS
도메인의 네임 서버
SOA
도메인 영역(Zone)의 기본 속성 정보
TXT
텍스트 정보. SPF 등 다양하게 사용.
PTR
역방향 도메인 정보. IP로 도메인 정보 질의
AXFR
모든 Zone 정보 요청.
nslookup 명령어
> nslookup [Domain] [NameServer]
## NameServer 미 입력 시 시스템에 설정된 NameServer 이용
> nslookup ## 대화형 모드 진입
> server [NameServer] ## NameServer 설정
> set type=[Record Type] ## Record Type 설정
dig 명령어
# dig [@NameServer] Domain [Type] [Option]
ex) dig tistory.com
dig kakao.com MX // kakao.com 도메인의 메일 서버 질의
dig @8.8.8.8 youtube.com A +trace
// 8.8.8.8을 NS로 설정하여 youtube.com 도메인 질의 및 경로 추적
dig -x 8.8.8.8 // 8.8.8.8의 역방향 레코드(Reverse Record) 조회
[Option]
+short // 최소한의 결과만 출력
+trace // 도메인 질의 경로 추적
+tcp // tcp 허용 여부 확인
+dnssec // dnssec 사용 여부 확인
+recurse // 재귀적 질의(Recursive Query)
+norecurse // 반복적 질의(Iterative Query)
+multiline // 보기 편하게 출력
DNS를 이용한 공격
Client에게 전달되는 DNS 응답을 조작하거나 Cache 정보를 조작하여 공격 대상이 의도하지 않은 주소로 접속하게 만드는 공격.
1) 스니핑(Sniffing)을 기반 DNS 스푸핑
2) DNS 캐시 포이즈닝(Cache Poisoning)
스니핑(Sniffing) 기반 DNS 스푸핑
공격자가 네트워크 스니핑을 진행.
공격 대상 컴퓨터가 도메인 질의 시 정상 응답이 도착하기 전에 조작된 응답을 전달하는 기법
예방
* Sniffing 탐지 및 차단
* 중요 도메인은 hosts 파일 설정
DNS Cache Poisoning 공격
공격자가 공격 대상 DNS 서버에 조작할 도메인을 질의.
질의 요청과 함께 조작된 응답의 Transaction ID와 Destination Port 램덤하게 생성하여 전송.
대상 DNS 서버는 Iteractive Query를 요청.
공격자의 조작된 응답 중 정상 응답보다 먼저 일치하는 응답이 있다면, DNS 서버 캐시에 저장.
예방
* NameServer 최신 업데이트 유지
* 관리용 DNS 서버는 Recursive Query 비활성화 하거나 사용자 제한
* DNSSEC 사용
네임서버, 존 설정 파일(named.conf, zone File)
named.conf
---------------
options {
directory "/var/named";
...
};
zone "frosty.kr" IN{
type master;
file "frosty.kr.zone";
};
zone "10.168.192.in-addr-arpa" IN{
type master;
file "10.168.192.in-addr-apra.zone";
};
---------------
frosty.kr.zone
---------------
$TTL 1800
@ IN SOA ns1.frosty.kr. master.frosty.kr. (
2024110801 ;serial // Zone file 버전 정보
43200 ;refresh // Zone 전송 주기
1800 ;retry // 실패시 재시도 대기시간
604800 ;expire // Zone 정보 만료 시간
1800) ;Minimum // TTL
# [Hostname] [TTL] Class Type Data
# Hostname이 위 레코드와 동일할 경우 생략
IN NS ns1.frosty.kr.
IN MX 10 mx1.frosty.kr.
IN A 192.168.10.12
ns1 IN A 192.168.10.100
mx1 IN A 192.168.10.101
www 300 IN A 192.168.10.10
---------------
10.168.192.in-addr-apra.zone
---------------
...
100 IN PTR ns1.frosty.kr
101 IN PTR mx1.frosty.kr
100 IN PTR www.frosty.kr
---------------