가짜 라우터 및 ARP 중독을 방지하기 위한 정적 ARP 항목

가짜 라우터 및 ARP 중독을 방지하기 위한 정적 ARP 항목

저는 현재 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) 주소가 허용되는지 확인하세요.

관련 정보