IT보안관의 공부 클라우드

DHCP(Dynamic Host Configuration Protocol) 본문

IT/네트워크

DHCP(Dynamic Host Configuration Protocol)

ㅡㅡㅡㅡㄷ 2020. 12. 21. 17:02

DHCP는 호스트 IP 구성 관리를 단순화하는 IP 표준이다. 동적 호스트 구성 프로토콜 표준에서는 DHCP 서버를 사용하여 IP 주소 및 관련된 기타 구성 세부 정보를 네트워크의 DHCP 사용 클라이언트에게 동적으로 할당하는 방법을 제공한다.

 

DHCP 동작 원리

DHCP 동작 원리는 크게 네 단계로 단말과 서버 간에 통신이 이루어진다.

  • 1) DHCP Discover :

메시지 방향: 단말 → DHCP 서버 로 이루어지며 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 를 통해서, 단말장비가 DHCP 서버에게 아이피 주소를 할당을 요청하는것이다

  • 2) DHCP Offer :

메시지 방향: "DHCP 서버 → 단말"로 이루어진다. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF)이거나 유니캐스트를 통해서 이루어지며, 단말에서 요청을 한 아이피 주소 정보를 포함한 네트워크 정보의 할당 요청을, DHCP 서버가 받아서 이것에 대해서 응답을 하는것이며, 이때 아이피 주소 정보 와 단말의 MAC 주소 정보 등을 네트워크 정보와 함께 같이 전송한다.

  • 3) DHCP Request:

메시지 방향: "단말 → DHCP 서버"로 이루어진다. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 로 단말이 받은 아이피 주소 정보를 사용하겠다는 것을 서버로 보내서, 확정을 받기 위한 메시지이다.

  • 4) DHCP Ack:

메시지 방향: "DHCP 서버 → 단말"로 이루어진다. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 혹은 유니캐스트일수 있다. 단말에서 보낸 DHCP Request 메시지 내의 Broadcast Flag=1이면 DHCP 서버는 DHCP Ack 메시지를 Broadcast로, Flag=0 이면 Unicast로 보내주며, 단말의 MAC 어드레스에 매칭이 되는 IP 주소와 게이트웨이 주소를 확정하여 주는 것이다.

 

임대

DHCP는 주어진 IP 주소가 일정한 시간동안만 그 컴퓨터에 유효하도록 하는 "임대" 개념을 사용한다. 임대시간은 사용자가 특정한 장소에서 얼마나 오랫동안 인터넷 접속이 필요할 것인지에 따라 달라질 수 있다. DHCP는 사용자들이 자주 바뀌는 학교와 같은 환경에서 특히 유용하다. DHCP는 사용 가능한 IP 주소의 개수보다 더 많은 컴퓨터가 있는 경우에도 IP 주소의 임대시간을 짧게 함으로써 네트워크를 동적으로 재구성할 수 있다. 영구적인 IP 주소를 필요로 하는 웹서버에 대해서는 정적인 주소를 제공한다.

 

 

DHCP Relay Agent

DHCP Relay Agent라는 것이 있는데, 브로드캐스트 패킷은 라우터, 즉 게이트웨이를 넘어가지 못한다. 대부분의 가정의 경우 그냥 공유기 아래에 물려 있으니 상관이 없지만, 기업 레벨에서는 DHCP 서버가 라우터 너머에 있는 경우가 종종 있다. 하지만 브로드캐스트 패킷은 라우터를 넘어가지 못하는데 위에서 봤다시피 IP 할당 과정 4단계가 전부 브로드캐스트로 이루어진다. 이런 경우 라우터 단에서 DHCP Relay Agent를 설정해서 DHCP 요청이 라우터로 들어오면, 라우터에서 유니캐스트로 변환하여 DHCP서버로 패킷을 보낸다. DHCP 서버에선 역시 유니캐스트로 라우터에게 보내고 라우터는 브로드캐스트로 뿌린다.

 

DHCP Snooping

DHCP snooping은 네트워크 스위치에 지나다니는 DHCP 패킷을 감시해서, 어느 가입자가 어느 IP를 할당받았는지에 대한 binding table을 관리하는 기능이다. DHCP 서버가 아는 개발 네트워크 장비 입장에서 동작하며, 일반적으로 DHCP relay와 연동되어 동작한다.

이렇게 DHCP snooping이 동작하여 binding table이 관리되면, 다음과 같은 동작에 이용될 수 있다.

  • 하단에 언급되는 DHCP exhaustion attack를 감지하거나 이를 차단하는 용도로 쓸 수 있다.

  • 허용되지 않는 가입자가 DHCP로 IP를 획득하려 하는 시도를 찾아내어 차단할 수 있다.

  • 가입자가 DHCP를 쓰지 않고 고정 IP를 사용하여 인터넷을 사용하는 경우를 감지/차단할 수 있다.


DHCP 관련 취약점

1. DHCP starvation attack

공격자가 계속해서 IP를 요청하는 형태의 공격이다. MAC 주소를 적당히 위조하여 서로 다른 가입자인 것처럼 속여서 IP를 계속 할당 받는 방법으로, DHCP 서버가 관리하는 모든 IP 대역을 공격자가 다 먹어버리는 것이다.

 

2. DHCP MITM attack

중간에서 공격자가 사설 DHCP 서버를 설치하고, 자신이 공인된 DHCP 서버인 척하며 가입자에게 IP를 할당해 준다. IP를 부여할 때 DNS와 default gateway를 공격자가 관리하는 라우터로 지정해 버리면, 피해자의 모든 트래픽은 해당 라우터를 거쳐서 지나가게 된다. 공격자는 이를 분석하여 암호를 비롯하여 가입자의 중요 정보들을 획득할 수 있게 된다. 또는 허위로 DNS 정보를 주어서 실제 사이트가 아닌 피싱 사이트로 연결되도록 하는 것도 가능하다. 이런 방법을 중간자 공격이라고 부른다.

 

이를 해결하기 위해서는 가입자 포트로부터 DHCP offer나 DHCP ack가 오는 것을 강력하게 차단하여 문제를 해결한다. 또한, DHCP relay와 연동하여 정상적인 DHCP 서버로만 패킷이 가도록 제어하여, 사설 DHCP 서버를 차단한다.


참조:

ko.wikipedia.org/wiki/%EB%8F%99%EC%A0%81_%ED%98%B8%EC%8A%A4%ED%8A%B8_%EA%B5%AC%EC%84%B1_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C

 

동적 호스트 구성 프로토콜 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP)은 호스트 IP 구성 관리를 단순화하는 IP 표준이다. 동적 호스트 구성 프로토콜 표준에서는 DHCP 서버

ko.wikipedia.org

namu.wiki/w/DHCP

 

DHCP - 나무위키

DHCP 서버의 임대, 갱신, 반환 과정에 대해 서술한다. DHCP로 임대를 생성할 경우 4가지 과정을 통해서 IP 주소를 할당하게 된다. 1. DHCP Discover. IP 주소가 할당되지 않은 클라이언트는 MAC 주소를 기반

namu.wiki

 

'IT > 네트워크' 카테고리의 다른 글

OSI 7계층  (0) 2020.12.29
네트워크 토폴로지  (0) 2020.12.18
TCP(Transmission Control Protocol) / UDP(User Datagram Protocol)  (0) 2020.12.16
Comments