저는 현재 arp 스푸핑 공격(mitm)을 연구하고 있습니다. 가장 일반적인 Linux 배포판은 기본적으로 이러한 유형의 공격에 취약한 것으로 보입니다. 그러나 간단한 해결책은 게이트웨이 arp 항목을 정적으로 설정하는 것 같습니다.
NetworkManager(dispatcher.d)를 사용하여 정적 게이트웨이 arp 항목(또는 동일한 효과)을 자동으로 설정하는 방법이 있습니까? 아니면 arp 중독을 방지하기 위해 설정할 수 있는 매개변수가 sysctl.conf에 있습니까? 아니면 이것을 달성하는 다른 방법이 있습니까?
답변1
개념적으로 그렇습니다. 일부 MAC 주소를 고정하는 것이 가능한 솔루션이지만(위의 @daniel의 답변에 따라) 많은 단점이 있습니다.
- 정적 ARP 항목을 추가할 수 있더라도 공격자는 여전히 게이트웨이와 MAC를 스푸핑할 수 있으며 두 시스템 모두 공격자의 프레임을 구문 분석합니다.
- 시스템이 DHCP를 통해 L3 구성을 얻는 경우 공격자는 시스템을 공격하여 다른 게이트웨이를 사용하고 있는지 확인할 수 있습니다. 이 경우 실제 게이트웨이의 MAC를 수정해도 아무런 영향을 미치지 않습니다.
- 모든 시스템에는 수동 구성이 필요하기 때문에 정적 항목 목록을 유지 관리하는 데 어려움을 겪게 됩니다.
답변2
먼저 다음을 사용하여 테스트해 보시기 바랍니다.
arp -s router_hostname router_ethernet_addr
router_ethernet_addr
라우터의 MAC 주소(이더넷 또는 802.11)는 어디에 있습니까? 특정 Linux 배포판을 확인하려면 다음을 읽어보세요.
man arp
가능하다면 arp
테이블에 대한 동적 추가를 거부하는 것이 좋습니다.
sysctl 'arp_accept=0'
sysctl 'drop_gratuitous_arp=1'
이 구문을 확인하려면 다음을 읽어보세요.
man sysctl
man sysctl.conf
그런 다음 네트워크에서 가짜 라우터 응답을 테스트하고 해당 이더넷(또는 802.11) 주소가 허용되는지 확인하세요.