2014-07-04 2 views
0

서버 IP를 스푸핑하거나 가장 할 수 있습니까? 클라이언트가 서버의 IP에 연결하기를 원한다면 실제로 공격자의 컴퓨터에 연결됩니까? 그러나 공격자는 여전히 실제 서버에 접속할 수 있습니다.대상 (서버) IP를 스푸핑하거나 가장 할 수 있습니까?

이것은 모두 TCP/IP 기반이며 이름 확인이 없으며 모든 컴퓨터가 동일한 네트워크 또는 인터넷 (NAT 없음)에 있습니다.

네트워킹 응용 프로그램을 작성 중이며 일부 인증을 구축하고 싶습니다.

내가해야 할 일은 IP로 서버를 인증하는 것입니다. 즉, IP 주소로 HTTPS URL을 열면 해당 IP가있는 컴퓨터로 이동하게됩니다.

기타 참고 사항 : 모든 통신은 TLS를 통해 이루어 지지만 인증서는 맹목적으로 받아 들여집니다.

답변

0

예, man-in-the-middle 공격을 수행 할 수 있으면 가능합니다. LAN에있는 사악한 투명 프록시가이를 수행 할 수 있습니다.

+0

그래서 (내 LAN을 신뢰한다면) 나의 ISP는 원격 기계와 IP를 접촉하려고 할 때 여전히 이것을 할 수 있습니다. – Alecz

1

내가해야 할 일은 IP로 서버를 인증하는 것입니다. 즉, IP 주소로 HTTPS URL을 열면 해당 IP가있는 컴퓨터로 이동하게됩니다.

이것은 HTTPS (SSL/TLS)의 기능 중 하나입니다. MITM 공격을 막고 대상 서버가 가장하지 못하게 할 수 있습니다.

기타 참고 사항 : 모든 통신은 TLS를 통해 이루어 지지만 인증서는 맹목적으로 받아 들여집니다.

이것은 훌륭하지만 인증서가 맹목적으로 받아 들여지지 않도록해야합니다. 인증서의 일반 이름이나 제목이 연락하려는 서버와 일치하는지 확인해야합니다. 또한 루트 인증서가 신뢰하도록 선택했는지 확인해야합니다 (신뢰할 수있는 루트 인증서를 만들 수 있음). 이렇게하면 서버 인증서가 루트 인증서로 인증서에 서명 할 수 없으므로 공격자가 스푸핑하는 것을 방지 할 수 있습니다.

대안은 certificate pinning입니다. 이렇게하면 응용 프로그램이 응용 프로그램에 하드 코딩되거나 응용 프로그램 서버의 외부인이 액세스 할 수없는 신뢰할 수있는 인증서 목록과 만 통신 할 수 있습니다.

+0

+1은 인증서에 대한 매우 유용한 통찰력을 제공합니다. 나는 특히 당신 자신의 인증 기관이되는 것을 좋아한다. – Alecz

+0

@alecz 시원하고 기꺼이 도와 드리겠습니다. 이것이 최선의 답변이라면 동의하십시오. – SilverlightFox