문제

내 자신의 RPC 프레임 워크를 구현하고 대부분의 작업이 완료되었지만 Auth_unix를 어떻게 확인합니까? 데이터의 구조가 정의됩니다 http://www.faqs.org/rfcs/rfc1050.html 9.2 UNIX 인증이지만 사용자를 어떻게 확인해야합니까?

도움이 되었습니까?

해결책

UID 및 GID는 서버의 UID 및 GID와 비교하여 진위를 검증합니다. 이 ID는 NIS 또는 다른 시설을 사용하여 UNIX 시스템에서 공유 할 수 있습니다. 그 후 원격 시스템에서 실행 된 모든 것은 해당 효과적인 UID 및 GID 아래에서 실행됩니다.

서버 뒤의 응용 프로그램은 추가 인증을 구현할 수 있지만 Auth_unix는 사용자 자체를 인증하지 않습니다. 그것은 UID와 GID를 공급 한 것을 신뢰합니다.

섹션 9.3에서 :

9.3 DES Authentication

   UNIX authentication suffers from two major problems:

         (1) The naming is too UNIX oriented.
         (2) There is no verifier, so credentials can easily be faked.

   DES authentication attempts to fix these two problems.

Unix 인증을 사용하는 경우 메시지가 신뢰할 수있는 호스트에서 유래했으며 일부 메커니즘이 전화를받을 수있는 일을하기 전에 사용자를 인증 할 수있는 메커니즘이 마련되었다고 가정 할 수 있습니다.

이 경우 사용자 자격 증명을 확인하는 것은 응용 프로그램에 달려 있습니다. 원래의 기계 이름도 제공되므로 원래의 IP 주소가 일치하고 해당 주소에 대해서만 응답 할 수 있습니다. DNS 캐시 중독 공격에 대한 명백한 취약점이 있습니다. 또한 DHCP 또는 NAT와 함께이 플레이를 멋지게 만드는 것은 독자에게 연습으로 남아 있습니다.-}

즉, 선택의 여지가 거의 없지만 UID 및 GID를 신뢰하거나 RPC 라이브러리 위에있는 응용 프로그램 내에서 추가 확인을 수행하는 것이 좋습니다. RFC는보다 안전한 인증 메커니즘에 대해 설명합니다. 그러나 Sun RPC는 가장 안전한 프로토콜이 아니며 일반적으로 신뢰할 수없는 고객에게 제공되는 서비스에는 권장되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top