HTTP 요청의 IP 주소를 스푸핑 할 수 있습니까?


27

내가 구축하는 웹 사이트에서 필요한 경우에 대비하여 제출의 IP 주소를 기록 할 계획입니다. 프록시는 신경 쓰지 않지만 IP 주소를 완전히 스푸핑하면 목적이 무효화됩니다.

수신 여부에 관계없이 완전한 GET 조치를 수행하려면 합법적 인 IP 주소가 필요합니까? 또는 임의의 스푸핑 된 IP 주소의 게시물로 웹 사이트에 스팸이 발생합니까?

(POST가 다른가요?)


2
DuckDuckGo가 취한 또 다른 방법은 IP 주소를 요청하는 경우를 대비하여 IP 주소를 추적하지 않습니다. duckduckgo.com/privacy.html#s3 에서 개인 정보 보호 정책을 참조하십시오 . 당신은 "필요한 경우에 대비하여"라고 말합니다. 왜 그것이 필요할 수 있는지 좋은 아이디어가 있습니까?
랜디 올리 슨

답변:


31

아뇨 아니면 어쩌면 "IP 주소"데이터를받는 위치와 신뢰할 수 있는지 여부에 따라 다릅니다.

IP 패킷 자체에서 주소를 가져 오는 경우 패킷을 보낸 사람이 해당 IP 주소로 전송 된 패킷에 액세스 할 수 있다는 것을 신뢰할 수 있습니다. 이는 해당 IP 주소의 합법적 인 사용자 (이 시대의 봇넷, 공개 프록시 및 Tor에서 "합법적"이라는 단어의 값이 적절하게 제한되어 있음)이거나 패킷을 보낸 사람이 중간 시스템에 액세스 할 수 있다는 것을 의미합니다. 지나가는 패킷을 볼 수 있습니다.

그러나 리버스 프록시가 널리 보급됨에 따라 IP 패킷은 종종 연결 소스를 잘못 표시 할 수 있으므로 프록시에서 "실제"오리진 IP 주소를 제공 할 수 있도록 다양한 HTTP 헤더가 도입되었습니다. 여기서 문제는 정확한 정보를 제공하기 위해 헤더를 보내는 사람을 신뢰해야한다는 것입니다. 또한 기본 (또는 잘못 복사 된 붙여 넣기) 구성을 사용하면 해당 헤더를 스푸핑 할 수 있습니다. 따라서 리버스 프록시가 귀하의 요청에 합법적으로 관련되어 있는지 여부를 식별하고 해당 프록시 (및 웹 서버)가 올바르게 구성 및 보안되어 있는지 확인해야합니다.


23

아니.

HTTP가 사용하는 TCP 연결에는 양방향 통신이 필요합니다. SYN패킷 의 소스 IP를 쉽게 스푸핑 할 수 있지만 SYN-ACK서버 의 응답은 초기 패킷에서 스푸핑 한 IP로 라우팅되므로 서버 에서 응답을 볼 수 없으면 연결을 완료 할 수 없습니다.

그러나 Tor와 같은 익명의 프록시 도구는 연결의 출처를 쉽게 익명화 할 수있는 수단을 제공 할 수 있습니다. 이는 IP 금지를 통해 스팸 제어를 쉽게 물리 칠 수 있다는 점을 명심하십시오.


12

짧은 대답 .. 오늘은 할 수 없습니다.

과거에는 컴퓨터가 TCP 트래픽의 시퀀스 번호에서 매우 예측할 수있었습니다. 이는 공격자가 시퀀스 번호를 알아낼 때까지 합법적 인 트래픽을 보내면 다음에 어떤 일이 일어날 지 추측 할 수 있습니다. 그런 다음 스푸핑 된 IP 주소를 모방하기 위해 TCP 트래픽을 보내고 다른 쪽의 호스트는 믿습니다. 따라서 3 방향 핸드 셰이크를 위조 할 수 있습니다.

오늘과 저는 10 년 이상을 말할 것입니다. 컴퓨터는 무작위 배정에 훨씬 능숙하므로 불가능하지는 않지만 매우 어렵습니다. 공격자가 그렇게하는 것은 시간 낭비 일 것입니다.


8

HTTP는 TCP를 통해 실행됩니다. TCP가 작동하려면 GET 또는 POST 요청을 발행하기에 충분히 앞서 기 전에 완전한 3 방향 SYN / ACK 핸드 셰이크가 필요하므로 간단한 스푸핑 된 소스는 그다지 많지 않습니다. 다른 고급 형태의 스푸핑 (MitM)은 여전히 ​​유효합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.