Pagina 1 di 1

Domanda riguardante NFS.

Inviato: gio 5 apr 2012, 12:45
da mandrago
Oggi ho una domanda per voi che riguarda il servizio NFS.
Poniamo A come il server e B,C come il client.
Nel file /etc/exports di A è definito un indirizzo che è 192.168.0.2 (C) il quale ha diritto a montare la directory /home/mario.
E' possibile, spoofando l'indirizzo IP di B in quello di C , montare directory condivise da B non essendo tuttavia specificato nel file /etc/exports di A ?
Vi sono particolari filtri a riguardo ? Se si quali? Grazie :)

Re: Domanda riguardante NFS.

Inviato: gio 5 apr 2012, 15:03
da masalapianta
mandrago ha scritto:Oggi ho una domanda per voi che riguarda il servizio NFS.
Poniamo A come il server e B,C come il client.
Nel file /etc/exports di A è definito un indirizzo che è 192.168.0.2 (C) il quale ha diritto a montare la directory /home/mario.
E' possibile, spoofando l'indirizzo IP di B in quello di C , montare directory condivise da B non essendo tuttavia specificato nel file /etc/exports di A ?
Vi sono particolari filtri a riguardo ? Se si quali? Grazie :)
ammesso che si stia usando almeno nfsv3 (oppure nfsv2 con estensione proprietaria per l'uso di TCP in luogo di UDP), il problema diventa: è possibile fare spoofing al livello 3 della pila iso/osi? la risposta è "dipende"; se i client stanno nella stessa sottorete del server, basta cambiare ip (ed eventualmente usare tecniche di arp poisoning per sodomizzare l'atro client evitando così conflitti di ip), se invece si parla di sottoreti differenti bisogna tentare uno spoofing alla cieca (come da premesse parliamo di tcp), quindi devi riuscire in qualche modo ad indovinare il sequence number giusto con un numero di tentativi accettabile, ma riusciresti soltanto ad inviare dati al server senza poter ricevere alcunchè.
Per evitare problemi di sicurezza come quello da te esposto, in nfsv4 è stato implementato un sistema di autenticazione basato su kerberos.

Re: Domanda riguardante NFS.

Inviato: gio 5 apr 2012, 17:19
da mandrago
masalapianta ha scritto:
mandrago ha scritto:Oggi ho una domanda per voi che riguarda il servizio NFS.
Poniamo A come il server e B,C come il client.
Nel file /etc/exports di A è definito un indirizzo che è 192.168.0.2 (C) il quale ha diritto a montare la directory /home/mario.
E' possibile, spoofando l'indirizzo IP di B in quello di C , montare directory condivise da B non essendo tuttavia specificato nel file /etc/exports di A ?
Vi sono particolari filtri a riguardo ? Se si quali? Grazie :)
ammesso che si stia usando almeno nfsv3 (oppure nfsv2 con estensione proprietaria per l'uso di TCP in luogo di UDP), il problema diventa: è possibile fare spoofing al livello 3 della pila iso/osi? la risposta è "dipende"; se i client stanno nella stessa sottorete del server, basta cambiare ip (ed eventualmente usare tecniche di arp poisoning per sodomizzare l'atro client evitando così conflitti di ip), se invece si parla di sottoreti differenti bisogna tentare uno spoofing alla cieca (come da premesse parliamo di tcp), quindi devi riuscire in qualche modo ad indovinare il sequence number giusto con un numero di tentativi accettabile, ma riusciresti soltanto ad inviare dati al server senza poter ricevere alcunchè.
Per evitare problemi di sicurezza come quello da te esposto, in nfsv4 è stato implementato un sistema di autenticazione basato su kerberos.
Questa è la risposta che mi interessava :) Dunque versioni a priori del nfsv4 sono teoricamente vulnerabili giusto ?

Re: Domanda riguardante NFS.

Inviato: ven 6 apr 2012, 11:39
da masalapianta
mandrago ha scritto:
masalapianta ha scritto: Per evitare problemi di sicurezza come quello da te esposto, in nfsv4 è stato implementato un sistema di autenticazione basato su kerberos.
Questa è la risposta che mi interessava :) Dunque versioni a priori del nfsv4 sono teoricamente vulnerabili giusto ?
no, non è una vulnerabilità, le versioni 3 e precedenti di nfs sono _pensate_ per non dover operare in ambienti dove serve autenticazione, ed in quanto tali vanno utilizzate solo in tali ambienti (non è un bug, è così per design); se ti serve un protocollo che abbia un sistema di autenticazione, semplicemente va usato altro (nfsv4, smb, ecc..)