Domanda

Sto implementando il mio framework RPC e la maggior parte delle cose è fatta, ma ho bisogno di aiuto come posso verificare un auth_unix? la struttura dei dati è definita in http://www.faqs.org/rfcs/rfc1050. html 9.2 Autenticazione UNIX ma come devo verificare l'utente?

È stato utile?

Soluzione

UID e GID vengono confrontati con UID e GID sul server per convalidarne l'autenticità. Questi ID possono essere condivisi su sistemi unix utilizzando NIS o altre strutture. Qualunque cosa eseguita successivamente sul sistema remoto viene eseguita con quell'UID e GID effettivi.

L'applicazione dietro il server può implementare un'ulteriore autenticazione, ma nota che AUTH_UNIX non autentica l'utente in sé; si fida dell'UID e del GID forniti.

Dalla sezione 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.

Se usi l'autenticazione Unix puoi solo supporre che il messaggio provenga da un host fidato e che esistesse un meccanismo per autenticare l'utente prima che avessero la possibilità di fare qualcosa che ha originato la chiamata.

In questo caso spetta all'applicazione verificare le credenziali dell'utente. Viene inoltre fornito il nome del computer di origine in modo da poter verificare che l'indirizzo IP di origine corrisponda a esso e rispondere solo a tale indirizzo: ciò presenta evidenti vulnerabilità agli attacchi di avvelenamento della cache DNS. Inoltre, rendere questo gioco piacevole con DHCP o NAT viene lasciato come esercizio al lettore; -}

Ciò significa che non hai altra scelta che fidarti di UID e GID o di effettuare ulteriori verifiche all'interno dell'applicazione che si trova in cima alla tua libreria RPC. RFC discute meccanismi di autenticazione più sicuri. Tuttavia, Sun RPC non è il protocollo più sicuro e non è generalmente consigliato per i servizi forniti a clienti non attendibili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top