DHCP와 DNS
DHCP(Dynamic Host Configuration Protocol)¶
네임 서버 주소
, IP주소
, 서브넷 마스크
, 게이트웨이 주소
등을 자동으로 할당해주는 프로토콜
동적
설정 프로토콜UDP
기반 프로토콜
이전 프로토콜¶
RARP¶
호스트의 MAC주소
를 통해 RARP 서버에서 IP 주소
를 매핑하여 호스트에게 전달
- 단점
- IP 주소만을 제공
- 서브넷마다 브로드캐스트 방식 필요
BOOTP¶
RARP의 약점 2가지를 극복하기 위해 만든 클라이언트-서버 프로그램
- DHCP와
상호호환
- 패킷 구조가 거의 동일
정적
인 프로토콜- 고정된 IP 주소와의 바인딩만 가능
동작 원리¶
- DHCP Discover: DHCP서버가 있는지 확인을 위한 메시지 생성
- 출발지 IP:
0.0.0.0
, 목적지 IP:255.255.255.255
- DHCP Offer: DHCP에서 PC에게 줄 수 있는
IP주소 리스트
를 제공 - DHCP Request: 리스트중 IP 하나를 선택하여 제공을 요청
- DHCP Ack : IP 및 네트워크 정보를 할당해주고 임대 기간 전달
장단점¶
장점 | 단점 |
---|---|
N/W 설계 변경이 자유로움 | DHCP 클라이언트는 부팅시 브로드캐스트 방식으로 트래픽 전송 (N/S 성능저하) |
DHCP 서버에서만 N/W 정보 변경하면 되기 때문에 N/W 구성변경 용이 | 호스트 전원이 켜 있는 것 만으로 IP 할당됨 |
실제로 호스트가 사용중일 때만 IP 할당하기 때문에 IP 절약 가능 | 호스트 전원을 꺼도 임대기간까지 해당 IP는 다른 단말에 할당 X (IP주소 낭비) |
사용자가 TCP/IP를 따로 설정할 필요가 없음 | 호스트 수가 많아지면 서버의 과부하 발생 |
Starvation 공격¶
- 공격자가 DHCP 서버의 할당 가능한
IP를 모두 소진
하게 하여 IP할당이 불가능하게 하는 공격 - 공격자는 DHCPDISCOVER msg를 서로다른 MAC주소로 DHCP에 보내고 서버로부터 OFFER가 오면 REQUEST까지만 하고 실제로 주소는 할당하지 않음
DNS(Domain Name Server)¶
도메인 네임을 IP 주소로 변환해주는 시스템
- zone 파일: 개별 도메인에 대한 DNS 정보가 설정되어 있는 파일
구성 요소¶
- 루트 서버
- 전체 트리 영역을 가지는 서버
- 도메인에 대한 정보를 갖지 않으며,
다른 서버들에 대한 참조
만 함 - 1차 서버(Primary Server)
- 자신이 권한을 가지는
zone에 대한 파일
을 가짐 - 파일에 대한 생성/관리/갱신의 책임을 가지며 로컬 디스크에 저장
- 2차 서버(Secondary Server)
- 영역파일을 생성하지 않으며 갱신하지도 않음
- 존 전송(Zone Transfer)
- 마스터에 있는 원본 존 DATA를 슬레이브가 동기화하는 작업(TCP/53)
동작 방식¶
- 재귀적(Recursive) 해석
- 클라이언트가 네임 서버에게 재귀적 요청
- 서버는 정보가 있는 경우 해당 정보로 응답
- 없는 경우
다른 서버
(부모 서버)에게 새로운재귀적 요청
을 보내어 응답 - 반복적(Iterative) 해석
- 클라이언트가 네임 서버에게 반복적 요청
- 서버는 정보가 있는 경우 해당 정보로 응답
- 없는 경우 그 정보에 좀 더 가까운
다른 서버의 네임
으로 응답
질의 순서¶
- 캐시
- 주소 해석 속도를 높이기 위해 사용
- 네거티브 캐싱: 너무 오래동안 캐싱정보를 가지고 있으면 정보가 잘못될 수 있음
- 이 경우 잘못된 매핑 정보를 보냄
- hosts 파일
/etc/hosts
- 도메인/호스트명과 IP주소 매핑정보를 담고있는 파일
- 네임 서버에 질의되기 전 참조되는 파일
- 로컬 DNS 서버
- Recursive DNS 서버
- 동일한 작업을 조건이 만족할 때 까지 반복적으로 처리
- Authoritative DNS 서버
- 권한이 있는 네임서버
- 특정 도메인에 대한 정보를 관리, 해당 도메인에 대한 질의만 응답
DNS 스푸핑¶
스니핑¶
공격 대상이 DNS 질의를 수행하면 공격자가 스니핑을 하고 있다가 정상 응답보다 빠르게
희생자에게 조작된 웹 사이트 정보를 담은 DNS 응답을 보내 조작된 주소로 접속하게 만드는 공격
- UDP의 특징 중 먼저 수신한 응답을 제외한 나머지 응답은 모두 버린다는 특징을 이용
보안대책¶
- 스니핑 탐지 및 차단
- 중요한 사이트 IP주소는 hosts파일을 사용
캐시 포이즈닝¶
DNS 서버의 캐시정보를 조작하는 공격
공격 절차¶
- 공격 대상 DNS 서버(Recursive DNS Server)에 조작할 도메인 질의를 다수 전송
- DNS 서버가 질의에 사용하는
Transaction ID
와 출발지Port
랜덤으로 생성 - 조작된 응답 중 정상 응답보다 먼저
Transaction ID
와 출발지Port
가 일치한 응답이 있으면 조작된 주소 정보가 공격 대상 DNS 서버의 캐시에 저장됨
보안대책¶
- 소프트웨어 최신 버전 상태 유지
- 도메인 관리용 DNS 서버는 재귀적 질의를 허용하지 않음
- DNSSEC 기술을 활용
Last update :
4 juin 2023
Created : 4 juin 2020
Created : 4 juin 2020