2012-12-06 4 views
0

내 Apache2 서버에서 수신 한 패킷 (아마도 사용자 정의 플러그인을 통해)에서 원격 IP를 검색 할 수 있다면 항상 정확한지 보장 할 수 있습니까? 또는이 값은 리퍼러 헤더로 스푸핑하기 쉽습니다.패킷에서 가져온 원격 IP 주소의 정확도

내 의도 된 사용 사례는 인증되지 않은 API 호출의 속도를 제한하는 것입니다.

답변

1

TCP 패킷 인 경우 전송 호스트에 대해 정확합니다. TCP 패킷의 IP는 관련 라우터를 제어하지 않으면 스푸핑 할 수 없습니다. 스푸핑 된 소스 패킷을 사용하면 초기 SYN 패킷 만 반환되며 서버의 SYN + ACK 응답은 스푸핑 된 주소로 이동합니다. 위조가 발생한 곳이 아닙니다. 대상 컴퓨터에서 패킷 라우팅을 제어 할 수없는 경우 전체 3 방향 핸드 셰이크를 수행 할 수 없습니다.

UDP 패킷은 다른 한편으로는 위조 될 수 있으며, 당신은 그것에 대해 아무것도 신뢰할 수 없습니다.

또한 프록시 서버 및 NAT 게이트웨이와 같은 단순한 것조차도 패킷이 생성 된 곳의 '실제'IP를 숨길 수 있습니다. IP를 얻을 수는 있지만 원래의 시스템이 아닌 게이트웨이/프록시의 IP가됩니다.

+0

아, 고마워. –

1

신뢰할 수 없습니다. 스푸핑 될 수있을뿐만 아니라 네트워크 요소로 인해 서버가 다른 IP 주소를 볼 수 있기 때문입니다.

예를 들어 회사에서 프록시를 통해 인터넷에 액세스하는 것은 매우 일반적입니다. 구성에 따라 서버의 관점에서 모든 다른 사용자는 동일한 IP 주소에서 왔습니다.

많은 경우에 사용할 수있는 필터입니다. 예를 들어 동일한 IP 주소에서 너무 많은 로그인 요청을 감지하면 보안 문자를 표시합니다.

+0

오른쪽, 감사합니다. –

1

유효하지 않은 API 호출의 속도를 제한하려는 경우 spamhaus과 같은 서비스를 사용하는 것이 좋습니다. 그들은 봇과 프로브 일 가능성이있는 IP를 나열합니다. 다른 회사 및 목록도 있습니다. 그러나 여러분의 의도가 '악의적 인 사람'을 신분 확인하는 것이라면 원본 IP가 맞지 않을 것입니다.

관련 문제