LAN의 특정 호스트(다중 OS)가 인터넷에 액세스하지 못하도록 차단해야 합니다. iptables를 통해 mac 주소로 특정 호스트를 차단하기로 결정했지만 워크스테이션이 L3 스위치를 통과하고 프레임이 스위치의 인터페이스 mac로 재구성되므로 워크스테이션의 mac 주소를 사용할 수 없습니다. Wireshark 유틸리티를 사용하여 이를 확인했습니다 tshark
.
IP 주소로 차단할 수 있다는 것은 알고 있지만 사용자가 IP를 변경하여 차단을 우회할지 여부를 제어할 수는 없습니다. 다음을 수행하는 스크립트를 사용하면 솔루션을 얻을 수 있다고 생각합니다.
- fping을 사용하여 arp 테이블을 업데이트합니다.
fping -c 1 -g 10.10.10.0/24
- arp 테이블을 grep하여 파일에 있는 Mac 주소 목록에서 IP를 가져옵니다.
arp -n | grep "00:11:22:aa:bb:cc" | awk '{print $1}'
- 해시 또는 배열을 구축하고 차단해야 하는 IP 주소로 iptables를 동적으로 업데이트합니다. 나는 아마도 파일을 사용하고
iptables-restore < ips_to_deny
. - 이 스크립트를 5분마다 실행하세요. (타이밍은 확실하지 않음)
그럼... 질문입니다. 이 방법에 결함이 있습니까? 아니면 더 좋게 만드는 방법이 있나요?
- Mac 스푸핑이 생각나지만 호스트 사용자에게는 관리자 액세스 권한이 없습니다.
그것이 중요하다면 스크립트에 Perl이나 Ruby를 사용할 것입니다.
답변1
워크스테이션을 제어할 수 없는 대규모 LAN 파티(사용자 500명 이상)를 조직할 때 비슷한 상황을 처리해야 했는데, 꽤 흥미로웠습니다.
L3 스위치(기술적으로 라우터)가 상당히 높은 등급인 경우 SNMP로 관리할 수 있으며 적절한 서브넷(스테이션에 직접 연결되는 서브넷)에 대한 ARP 테이블을 읽어 효과적인 mac/ip를 검색할 수 있습니다. 매핑.
그러나 귀하의 동의 없이 기계가 IP를 변경하는 것이 두렵다면 기계가 MAC을 변경하는 것에 대해서도 걱정해야 할 것입니다. MAC을 변경하지 않도록 머신을 신뢰하는 경우 우리가 사용한 또 다른 옵션은 DHCP 서버의 로그를 구문 분석하는 것이었습니다. 보너스로, DHCP 로그와 ARP 테이블을 연관시켜 스푸퍼를 탐지할 수도 있습니다.
스위치가 이를 지원하는 경우 802.1x 인증을 사용할 수도 있습니다. 이 모드에서 머신은 실제로 패킷 전환을 시작하기 전에 Radius를 통해 스위치에 인증해야 하며, 모든 인증에 대해 Radius 서버는 스테이션의 ID, 물리적 위치 및 MAC를 수신합니다.
답변2
나에게는 모든 것이 지나치게 복잡해 보이며 미래에 문제가 될 경향이 있는 "맞춤형" 솔루션 중 하나가 될 수 있습니다. 바꿔라"). 그래서 저는 개인적으로 좀 더 표준에 기반한 것을 살펴보고 싶습니다.
인터넷 액세스가 가능한 장치와 인터넷 액세스가 없는 장치가 동일한 L2 네트워크 세그먼트에 있어야 하는 경우가 아니라면 802.1X MAC 인증 우회(MAB)를 구현하겠습니다. 이렇게 하면 인증된 장치에 하나의 VLAN이 제공되고 인증에 실패한 장치는 두 번째 VLAN에 배치됩니다.
스위치가 MAB만 지원하지 않는 경우(예: MAB는 IEEE 802.1X 인증이 실패한 경우에만 적용됨) IEEE 인증에 대한 재시도 및 시간 초과 값을 최소값으로 줄일 수 있습니다. IEEE 인증은 신경 쓰지 않고 금방 실패하므로 그렇게 선택하지 않는 한 어떤 종류의 신청자도 구성할 필요가 없습니다.
보안을 강화하려면 인터넷 액세스가 필요한 모든 장치에 대해 해당 장치만 인증하고 인터넷 액세스를 제공하는 VLAN에 넣을 수 있도록 MAC 주소를 구성합니다. 그러나 특정 장치만 제한하고 새 장치가 자동으로 인터넷에 연결되도록 하려면 실패한 인증은 인터넷 액세스가 가능한 VLAN에 배치되고 성공적인 인증은 액세스 없이 VLAN에 배치되도록 구성할 수 있습니다.
이를 수행하려는 이유에 대한 이유를 제공하지는 않지만 그렇게 할 이유가 있는 경우 두 호스트 세트 간의 액세스를 쉽게 제한할 수 있는 기회도 제공합니다.