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