IP는 받았는데 인터넷이 안 된다면? 가짜 DHCP 서버와 DHCP Snooping

 


고양이와 함께 알아보는 가짜 DHCP 서버와 DHCP Snooping

IP는 받았는데 인터넷이 안 된다면? 가짜 DHCP 서버와 DHCP Snooping

분명 네트워크는 연결되어 있고 IP 주소도 받았습니다. 그런데 어떤 PC는 인터넷이 되고, 어떤 PC는 안 됩니다. 새로 연결한 공유기 한 대가 원인일 수도 있습니다. 이번 글에서는 승인되지 않은 DHCP 서버가 만드는 문제와, 이를 막는 DHCP Snooping을 쉽게 살펴보겠습니다.

1. DHCP는 IP만 나눠 주는 기능이 아닙니다

DHCP는 PC가 네트워크에 접속할 때 필요한 설정을 자동으로 받도록 하는 방식입니다. IP 주소뿐 아니라 서브넷 마스크, 기본 게이트웨이, DNS 서버 등의 설정도 함께 전달할 수 있습니다. IP를 받았다는 사실만으로 올바른 네트워크 설정을 받았다고 볼 수는 없습니다.

비유하면 IP 주소는 내 자리 번호이고, 게이트웨이는 건물 밖으로 나가는 출구, DNS는 목적지의 주소를 찾는 안내 데스크에 가깝습니다. 자리 번호가 있어도 출구나 안내 정보가 잘못되면 목적지에 도착하기 어렵습니다.

참고: DHCP 동작 원리: RFC 2131 — https://www.rfc-editor.org/rfc/rfc2131

2. 가짜 DHCP 서버는 해커만 만드는 것이 아닙니다

여기서 말하는 가짜 DHCP 서버(Rogue DHCP Server)는 관리자가 승인하지 않았는데 네트워크 설정을 배포하는 장비나 프로그램입니다. 악의적인 공격 장비일 수도 있지만, 단순한 연결 실수로 생기기도 합니다.

• 사무실 네트워크에 개인 공유기를 LAN 포트로 연결했는데 DHCP 기능을 끄지 않은 경우

• 테스트용 PC나 가상머신에서 DHCP 서비스를 켠 채 운영망에 연결한 경우

• 네트워크 구성을 바꾸면서 예전 DHCP 장비가 계속 동작하는 경우

같은 네트워크에서 정상 서버와 임의의 서버가 함께 응답하면, PC가 의도하지 않은 설정을 선택할 수 있습니다. 다만 “먼저 도착한 응답이 무조건 선택된다”고 단정할 수는 없습니다. 또한 관리자가 구성한 정상적인 이중화 서버는 이런 미승인 서버와 구분해야 합니다.

3. 어떤 문제가 생길 수 있을까요?

• 잘못된 게이트웨이를 받아 외부 인터넷에 연결되지 않습니다.

• 다른 주소 대역을 받아 사내 서비스에 접근하지 못합니다.

• 잘못된 DNS를 받아 사이트 이름으로 접속하는 데 문제가 생깁니다.

• 설정 갱신 시점에 따라 일부 PC에서만 증상이 나타날 수 있습니다.

공격자가 게이트웨이나 DNS를 자신의 장비로 유도하는 경우에는 통신을 잘못된 곳으로 보내려는 시도도 가능합니다. 그렇다고 가짜 DHCP 서버가 있다는 사실만으로 모든 통신이 자동으로 도청된다고 볼 수는 없습니다. 실제 영향은 배포된 설정과 네트워크 구성에 따라 달라집니다.

4. DHCP Snooping은 스위치에서 응답을 걸러냅니다

DHCP Snooping의 핵심은 “아무 포트에서나 DHCP 서버 역할을 하도록 두지 않는 것”입니다. 관리자가 정상 DHCP 서버의 응답이 들어오는 경로를 지정하고, 사용자 연결 포트에서 들어오는 미승인 서버 응답은 스위치가 차단하도록 합니다.

• Trusted: 정상 DHCP 서버의 응답을 허용하도록 관리자가 지정한 포트입니다.

• Untrusted: 사용자 장비를 연결하는 포트 등으로, 서버 응답을 허용하지 않는 포트입니다.

Untrusted라고 해서 그 포트의 일반 통신을 모두 차단하는 것은 아닙니다. PC가 보내는 정상적인 DHCP 요청까지 전부 막는다는 뜻도 아닙니다. 또한 Trusted는 관리자가 지정하는 포트 정책이지, 서버의 신원을 암호학적으로 인증하는 기능은 아닙니다.


정상 DHCP 응답은 통과하고 미승인 포트의 서버 응답은 스위치에서 차단되는 예시

참고: DHCP Snooping 동작: Cisco 공식 설명 — https://www.cisco.com/c/en/us/support/docs/ip/dynamic-host-configuration-protocol-dhcp-dhcpv6/217055-operate-and-troubleshoot-dhcp-snooping.html

5. 적용 전에는 정상 서버의 경로부터 확인하세요

먼저 사용 중인 스위치 모델과 소프트웨어가 해당 기능을 지원하는지 확인해야 합니다. 그다음 정상 DHCP 서버와 중계 장비(DHCP Relay)의 위치, 적용할 VLAN, 서버 응답이 실제로 들어오는 포트를 확인합니다. 정상 경로를 잘못 막으면 오히려 새 IP 할당에 문제가 생길 수 있습니다.

사용자 포트까지 전부 Trusted로 지정하면 차단 효과가 약해집니다. 반대로 모든 상위 연결 포트를 무조건 신뢰하는 것도 적절하지 않습니다. 실제 서버 응답 경로에 필요한 포트만 지정하고, 작은 범위에서 먼저 확인한 뒤 확대하는 편이 좋습니다. 장비에 따라 Option 82라는 추가 중계 정보의 처리 방식도 달라, DHCP 서버·중계 장비와의 호환성을 확인해야 합니다.

참고: 설정 범위와 유의사항: HPE Aruba 공식 가이드 — https://arubanetworking.hpe.com/techdocs/AOS-S/16.10/ASG/YAYB/content/common%20files/dhc-sno.htm

6. 이상할 때는 받은 설정을 비교해 보세요

Windows에서는 명령 프롬프트에서 아래 명령으로 현재 네트워크 설정을 확인할 수 있습니다. 설정을 바꾸는 명령이 아니라 조회용 명령입니다.

ipconfig /all

문제가 있는 PC와 정상 PC의 DHCP 서버, 기본 게이트웨이, DNS 서버가 예상한 값인지 비교해 보세요. 서로 다르다는 사실만으로 공격이라고 확정하지 말고, 해당 VLAN과 단말에 의도된 설정인지 관리자에게 확인하는 것이 좋습니다. 원인을 제거해도 이미 받은 설정은 임대 갱신 전까지 남을 수 있습니다.

7. 이것만 켜면 모든 네트워크 공격이 막힐까요?

아닙니다. DHCP Snooping은 미승인 DHCP 서버 응답을 통제하는 데 초점을 둔 기능입니다. ARP 위조나 IP 주소 도용까지 같은 기능 하나로 모두 막는 것은 아닙니다. 장비에서 지원한다면 Dynamic ARP Inspection이나 IP Source Guard 같은 별도 기능과 연계할 수 있습니다. 여기서 설명한 IPv4 DHCP 보호와 IPv6의 DHCPv6 보호도 구분해서 확인해야 합니다.

한 줄 정리

네트워크에서는 “IP를 받았는가”만큼 “누가 어떤 설정을 배포했는가”도 중요합니다. DHCP Snooping은 그 배포 경로를 스위치에서 통제하는 방법입니다.

Powered by Blogger.