iptables 규칙은 Mac 인증을 통해 SSH에 대한 외부 연결을 허용합니다.

iptables 규칙은 Mac 인증을 통해 SSH에 대한 외부 연결을 허용합니다.

연결을 시도합니다내 네트워크 외부에서내 SSH 서버에 연결하지만 이 연결을 내 Mac 주소로만 제한하고 싶습니다.

이 규칙은 다음과 같이 작동합니다.

iptables -t mangle -A PREROUTING -p tcp --dport 22 -j ACCEPT

그러나 다음 규칙 중 어느 것도 나에게 적합하지 않습니다.

iptables -t mangle -A PREROUTING -m mac --mac-source 2c:fd:a1:zz:xx:yy -p tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -m mac --mac-source 2c:fd:a1:zz:xx:yy -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m mac --mac-source 2c:fd:a1:zz:xx:yy -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -m mac --mac-source 2c:fd:a1:zz:xx:yy -p tcp --dport 22 -j ACCEPT

Mac 인증으로 SSH를 보호하려면 어떻게 해야 하나요?

PD: SSH가 TCP/IP 프로토콜이고 MAC 주소가 아닌 IP 주소만 수신한다는 것을 알고 있습니다. 하지만 일부 포럼에서 이것이 가능하다는 것을 보았지만 방법은 설명하지 않았습니다. 또한 "포트 노킹", "비밀번호 대신 키" 등과 같이 ssh를 보호하는 다른 방법이 있다는 것과 Macs 주소가 위조될 수 있다는 것도 알고 있습니다. 하지만 여전히 mac verify를 사용하여 ssh를 통해 항목을 확인하는 방법을 알고 싶습니다.

답변1

서버/장치는 라우터 뒤의 장치가 아닌 로컬 네트워크에 있는 다른 장치의 MAC 주소만 볼 수 있습니다.

따라서 한 장치를 다른 장치에 직접 연결할 수 있으면 서로의 Mac을 볼 수 있습니다. 그러나 한 장치가 라우터(스위치나 WiFi 스위치가 아니라 서로 다른 네트워크 인터페이스를 사용하는 두 장치에 대한 라우터)를 통해 다른 장치에 연결되어야 하는 경우 서로의 Mac을 볼 수 없습니다.

a) 이 경우 장치는 서로의 Mac을 볼 수 있습니다.

(device1) <---\
                ----- (switch or wifi point)
(device2) <---/

b) 이 경우 (장치 1)은 (ISP 라우터)의 Mac만 볼 수 있고 (장치 2)의 Mac은 볼 수 없습니다.

(device1) <-----> (ISP router) <-----> (device2)

따라서 Mac을 기반으로 로컬 네트워크 및 직접 연결과 관련하여 Wi-Fi 포인트에 연결할 수 있는 사람을 구성할 수 있습니다.

그러나 원격 위치에서 네트워크에 액세스하려는 장치의 MAC을 모르면 원격 장치의 MAC을 아는 것이 쓸모가 없습니다.

말이 되나요?

답변2

서버에서는 실제 클라이언트 Mac을 볼 수 없습니다. 여기서는 게이트웨이(라우터 등) Mac만 볼 수 있습니다. 네트워킹 및 프로토콜에 대한 내용을 읽어야 합니다.

관련 정보