Tutti i miei programmi hanno i diritti di proprietario su tutti i miei file?


1

Sono preoccupato per tutti i miei programmi che hanno pieno accesso a tutti i miei file.

Ad esempio: il mio utente è "john". Installa alcuni programmi, ad esempio Dropbox. Dropbox funziona come "john". Pertanto non ha solo pieni diritti sui suoi file sotto ~ / .dropbox, ma su tutti i file incluso ~.

1) Ho ragione? Se è così,

2) Dovrei preoccuparmi di questo?

3) C'è un modo per risolvere questo problema? Qualcuno mi ha detto che potrei usare chroot o setuid, ma non sono sicuro di come usarli.

Sto usando Ubuntu 12, nel caso abbia importanza.

Risposte:


2

Questa è una cosa ragionevole da considerare: altre piattaforme, come MacOS-X e applicazioni come Chrome, utilizzano sandboxing per eseguire intere applicazioni o parti di applicazioni in modo tale da smettere di avere il controllo completo equivalente a quello che hai.

Quindi, in risposta a 1, sì, se si avvia un'applicazione in esecuzione come se stessi, ha accesso equivalente a ciò che si fa: qualsiasi file che è possibile modificare, può modificare e così via. L'unica eccezione è se l'applicazione stessa fa cose per limitare i privilegi.

In risposta a 2, probabilmente dovresti esserne vagamente preoccupato molto più di te attivamente preoccupazione a proposito. Dopotutto, ogni singola applicazione eseguita ha lo stesso accesso - l'unica cosa che distingue DropBox è che proviene da qualcuno che non sia la distribuzione upstream.

Quindi, 3: puoi sistemarlo? La risposta è "probabilmente no". Non è che sia impossibile, è che è probabile che sia difficile da fare in un modo che soddisfi i tuoi desideri di utilizzare le applicazioni oi servizi.

utilizzando chroot ti permette di fingere che ci sia un'altra "directory root" rispetto a quella reale. Questo isola le applicazioni (come dropbox) dalla tua vera radice - e potrebbe permetterti di sfuggire al rischio che possa leggere il resto della tua home directory. (Aggiungi un link simbolico da ~/.dropbox a ~/chroot/whatever/home/you/.dropbox e non è nemmeno del tutto inopportuno.

Tuttavia, devi essere root o usare uno strumento come schroot per gestire l'accesso all'esecuzione dell'applicazione e il chroot isola solo alcune parti del sistema: i file. Applicazioni con root all'interno che possono ancora vedere all'esterno o escape. Varie altre risorse (porte IP, pid, ecc.) Sono ancora condivise.

Inoltre, scommetto che DropBox abbia un componente UI, e che non funzioni bene con il chroot. Anche se così fosse, quella limitazione ferisce altre applicazioni.

L'alternativa, a setuid applicazione, è un modo che puoi dire "non importa chi lo esegue, avvialo come questo altro utente, non l'utente che l'ha avviato".

Questo è più spesso usato per consentire alle applicazioni che tu, un utente normale, inizi a eseguire come root, ad esempio sudo. Tuttavia, può impostare l'utente o il gruppo del processo anche a un utente non privilegiato.

Il problema è che funziona come un utente diverso, proprio come lo hai eseguito con sudo -u another-user dropbox o qualsiasi altra cosa Ciò significa che non ha accesso alla tua home directory e, senza lavorare sodo, non hai accesso alla home directory degli altri utenti.

Potete aggirare questo, ma non è né banale né conveniente nel caso comune. In genere, si desidera condividere un gruppo e provare a disporre che i file che può leggere appartengano a quel gruppo anziché al gruppo standard. Questo non è banale da fare, anche con le directory setuid (che cambiano il gruppo o il proprietario dei file creati sotto di loro), in parte perché è necessario gestire il tuo umask, e questo è un problema sotto Linux.

Finalmente, potresti usare AppArmor o SELinux per proteggere l'applicazione. Credo che AppArmor sia ciò che Ubuntu ha scelto come opzione preferita. Mentre è convinto in modo convincente che è meno sicuro di SELinux, è anche concettualmente più semplice basarsi su nomi e percorsi visibili più che su etichette sicure.

Potresti trovare un modo efficace per migliorare la tua sicurezza senza dover percorrere percorsi più complessi. In teoria, dovrebbe consentire di limitare DropBox esattamente al solo ~/.dropbox cartella e Niente altrimenti senza dover eseguire come utente diverso.

Quindi, se vuoi veramente migliorare la tua sicurezza, guarda il percorso di chroot. È il modo meno doloroso per migliorare la sicurezza di DropBox su Ubuntu - molto meno di un'applicazione setuid, almeno.

Detto questo, le probabilità sono che il maggior rischio di esposizione è da un dipendente di DropBox - sappiamo che si deduplica anche tra gli utenti, quindi i loro sistemi possono vedere il contenuto non criptato, il che significa che qualcuno che lavora per loro potrebbe fare lo stesso.

Potresti prendere in considerazione usando encfs invece di crittografare i file prima che vengano spediti a DropBox ...


Sì, sto già usando encfs, grazie. Quindi ora sono solo preoccupato per quest'altra cosa, che diventa ancora peggiore visto che dropbox è propietario e il suo codice non può essere rivisto.
HappyDeveloper

cenno Quindi, in effetti, sostengo che "un chroot è il modo più probabile per ridurre l'esposizione alla sicurezza". Tuttavia, ho dimenticato che potevi (in teoria) usare SELinux o AppArmor per proteggere ulteriormente ...
Daniel Pittman

Perfetto, grazie mille. Allora leggerò di tutte quelle cose.
HappyDeveloper

1

1) Sì. 2) In generale no. Devi fidarti almeno di alcuni dei software che esegui per non rovinare tutto. 3) Il modo più semplice sarebbe probabilmente quello di eseguire il software come un utente diverso. Se non ha bisogno di accedere a nulla, è possibile eseguirlo come utente "nessuno" che in pratica non ha diritti. In caso contrario, è possibile modificare il proprietario di tutti i file che l'applicazione deve accedere all'utente che esegue. Nota che questo renderebbe l'accesso ai file più difficile per te e per altri programmi.

In generale, non mi preoccuperei troppo di questo. Hai dei backup dei tuoi dati che potresti comunque ripristinare da un file, non è vero?


Sì, ma non sono così preoccupato per i programmi che eliminano i miei file. Sono più preoccupato che siano in grado di leggerli.
HappyDeveloper

0

1) Ho ragione?

Fondamentalmente sì, ma non sono "programmi" che hanno diritti di accesso ma "utente" che possiede il "processo" che esegue il "programma". Quindi se esegui Dropbox, Dropbox ha i tuoi diritti di accesso. Se qualcun altro esegue Dropbox, ha i suoi diritti di accesso.

2) Dovrei preoccuparmi di questo?

Non proprio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.