724. 스머프 공격 방어를 위한 no ip directed-broadcast 설정 논리
핵심 인사이트: 억울한 피해자(타겟)를 압사시키려면, 동네 라우터에게 '살수차(핑 패킷)' 하나만 던져주면 된다. 라우터가 그걸 250개로 복사해서 온 마을 사람들에게 뿌려대면 마을 전체가 피해자를 공격하는 끔찍한 지옥(스머프 공격)이 연출된다. 이 지옥을 막기 위해 전 세계 라우터 설계자들은 단 하나의 명령어를 강제로 박아 넣었다. "외부에서 날아온 전단지는 우리 마을에 절대 뿌리지 마라!"
Ⅰ. 문제의 발단: IP Directed Broadcast의 위험성
앞선 713번 문서에서 스머프(Smurfing) 공격의 핵심 무기가 **'지정 브로드캐스트(IP Directed Broadcast)'**의 악용이라고 배웠습니다.
- 원래 우리 집 안(LAN)에서 "255.255.255.255"로 뿌리는 방송(Local Broadcast)은 라우터가 밖으로 안 내보내고 집안에서만 돕니다.
- 하지만 외부 인터넷에 있는 해커가 아예
192.168.10.255처럼 **특정 네트워크 대역의 끝자리(255, 브로드캐스트 주소)**를 딱 찍어서 패킷을 던지면? 구형 라우터는 이걸 받아서 자기 밑에 딸려 있는192.168.10.1부터192.168.10.254까지의 모든 PC에 무지성으로 전단지를 쫙 복사해서 뿌려주었습니다. (증폭의 폭발점)
Ⅱ. 방어의 논리: no ip directed-broadcast 🌟
라우터가 외부인의 꼬드김에 넘어가 '확성기' 노릇을 하는 것을 막기 위한 라우터(Cisco 등)의 글로벌 표준 대응 명령어입니다.
1. 설정 논리와 동작 원리
- 라우터의 인터페이스(보통 외부 인터넷망과 맞닿는 부분)에 이 명령어를 타자 쳐서 입력합니다.
- 방어 로직: 이제 라우터는 외부 망(WAN)에서 패킷이 쓱 들어올 때 목적지 IP를 검사합니다. 만약 목적지 IP가 자기 관할 구역의 브로드캐스트 주소(예: x.x.x.255)로 적혀있다면, "감히 외부에서 우리 동네 전체에 방송을 때려?"라며 패킷을 마을로 들여보내지 않고 그 즉시 찢어버립니다(Drop).
- 결과: 해커가 아무리 가짜 출발지 IP를 적고 스머프 핑 패킷을 쏴도, 증폭기 역할을 해야 할 라우터 입구에서 막혀버리므로, 마을 안의 250대 PC는 핑 패킷을 아예 받지도 못하게 되고 당연히 응답도 하지 않아 스머프 공격이 완벽히 무력화됩니다.
2. 현대 네트워크의 기본값 (Default)
- 과거(1990년대)에는 이 기능이 활성화(On)되어 있었지만, 스머프 공격으로 전 세계 인터넷이 초토화된 이후, 2000년대 초반(Cisco IOS 12.0 이후)부터 출고되는 지구상의 모든 라우터는 아예 공장에서부터
no ip directed-broadcast가 기본값(Default)으로 강제 적용되어 나옵니다. - 그래서 오늘날에는 스머프 공격이 현실 세계의 인터넷에서 완전히 멸종한 전설 속의 고전 해킹 기법이 된 것입니다.
Ⅲ. 보충 방어 수단 (서버 단의 조치)
라우터가 혹시나 뚫렸을 때를 대비해 타겟 서버나 개별 PC 단에서도 방어벽을 하나 더 칩니다.
- 리눅스나 방화벽 설정에서 **"목적지 IP가 브로드캐스트 주소로 되어 날아온 ICMP(핑) 요청에는 절대 응답(Echo Reply)하지 마라"**라는 룰을 켭니다. (예: 리눅스의
icmp_echo_ignore_broadcasts = 1)
📢 섹션 요약 비유: 옛날 아파트 경비실(라우터) 아저씨는 밖에서 배달부(해커)가 피자 전단지 1장을 들고 와 "이거 101동 전체에 돌려주세요(Directed Broadcast)"라고 하면, 착하게도 100장으로 복사해 전 세대 우편함에 다 넣어주었습니다. 그 결과 주민들이 실수로 잘못된 번호로 전화를 걸어 애먼 식당이 마비되는 사태(스머핑)가 터졌습니다. 이에 아파트 입주자 대표 회의는 규칙을 바꿨습니다(
no ip directed-broadcast). "앞으로 외부 배달부가 아파트 단지 '전체'에 돌려달라고 가져오는 전단지는 묻지도 따지지도 말고 경비실 앞 파쇄기에 다 갈아버리시오!" 이 규칙 하나로 전단지 테러는 아파트 단지에서 영원히 사라졌습니다.