개인 네트워크에서는 사용자 이름/비밀번호 로그인만 허용하고 모든 외부 소스는 키/인증서 로그인으로 제한하고 싶다고 가정해 보겠습니다. 나는 다음과 같이 할 것입니다 :
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
Match Address 10.0.0.*
PasswordAuthentication yes
그러나 공격자가 이를 스푸핑하여 내 로컬 IP 범위 내에 나타나도록 하고 인터넷에서 사용자 이름/비밀번호 로그인을 허용할 수 있는 방법이 있습니까?
답변1
IP 스푸핑공격자가 위조된 IP 소스 주소를 이용해 발신자의 신원을 숨기거나 다른 컴퓨팅 시스템으로 가장하는 기술이다.
그러나 이 공격은 인터넷을 통해 수행되기에는 거의 "불가능"합니다.RFC1918다음 블록은 LAN 환경에서만 사용하도록 정의됩니다.
IANA(Internet Assigned Numbers Authority)는
개인 인터넷을 위해 다음 세 가지 IP 주소 공간 블록을 예약합니다.10.0.0.0 - 10.255.255.255 (10/8 prefix) 172.16.0.0 - 172.31.255.255 (172.16/12 prefix) 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
이는 또한 공격자가 LAN 내에서 IP 주소를 스푸핑하는 경우 인터넷의 ISP가 해당 요청을 공격자에게 다시 라우팅하지 않음을 의미합니다.
보안 계층만으로는 충분하지 않으며 방화벽을 제어할 수 있거나 이 컴퓨터가 인터넷 인터페이스에 직접 연결되어 있는 경우 활성화하는 것이 좋습니다.역방향 경로 필터링리눅스 내부:
# sysctl -w net.ipv4.conf.all.rp_filter = 0
# sysctl -w net.ipv4.conf.default.rp_filter = 0
이렇게 하면 커널이 입력하려는 인터페이스의 동일한 서브넷에 확실히 속하지 않는 패킷을 자동으로 삭제하게 됩니다.