본문 바로가기
서버/Openwrt

possible DNS-rebind attack detected

by itsrainday 2024. 10. 24.

openwrt 라우터를 잘 쓰고 있던 어느날!!!

daemon.warn dnsmasq\[27408\]: possible DNS-rebind attack detected:

를 띄우며 모든 네트워크가 불능 상태가 되버림....
그래서 구글링과 ai느님의 자료를 찾아봄

설명

DNS 리바인드 공격은 도메인 네임 시스템(DNS)을 악용하여 사용자의 개인 네트워크에 있는 장치를 공격하는 사이버 공격 기법입니다. 이 공격은 브라우저의 동일 출처 정책(Same Origin Policy, SOP)을 우회하여 피해자의 브라우저가 내부 네트워크의 머신과 상호 작용하도록 유도합니다

작동원리 & 방어방법

작동 원리

1.  **도메인 등록**: 공격자는 악성 도메인(예: attacker.com)을 등록하고, 이 도메인의 DNS 설정을 자신이 제어하는 DNS 서버로 위임합니다
2.  **초기 접근**: 피해자가 악성 웹사이트를 방문하면, 브라우저는 해당 도메인의 IP 주소를 요청합니다. 처음에는 공격자의 서버 IP로 응답하며, TTL(Time-to-Live)을 매우 짧게 설정하여 빠르게 캐시가 만료되도록 합니다
3.  **IP 주소 변경**: 짧은 TTL이 만료된 후, DNS 서버는 도메인을 내부 네트워크의 IP 주소(예: 192.168.0.1)로 다시 바인딩합니다
4.  **내부 네트워크 접근**: 브라우저는 여전히 동일한 도메인으로 인식하기 때문에 내부 네트워크의 리소스에 접근할 수 있게 됩니다. 이를 통해 공격자는 민감한 정보 유출, 비인가 명령 실행 등의 악성 행위를 수행할 수 있습니다

방어 방법
-   **DNS 피닝**: 브라우저가 처음 받은 DNS 응답의 IP 주소를 고정하여 TTL 만료 후에도 동일한 IP를 사용하도록 합니다
-   **자바스크립트 실행 제한**: 악성 스크립트가 실행되지 않도록 자바스크립트 실행을 제한합니다
-   **HTTPS 사용**: 모든 비공개 서비스에서 HTTPS를 사용하여 SSL 인증서를 통해 도메인을 검증합니다
-   **DNS 필터링**: DNS 응답이 내부 IP 주소로 해석되지 않도록 필터링합니다

이게 원론적인 방어 방법인듯
나의 케이스는 plex쪽의 문제여서 맘편하게 그냥 설정을 끄기로 함
DNSmasq 레벨에서 차단당하고 핑을 할 수 없어지는건데 난 포트를 다 막아놓고 외부로 나가는 것들은 cloudflare의 제로 트러스트를 사용중이라
뭐 별일 없겠지 라고 생각함....

openwrt 내에서의 해결방법

NETWORK -> DHCP AND DNS
filter 탭에서 Rebind protection 체크를 해제

조치를 취한 후 한달 정도 지났는데 별 문제 없음...

728x90