Sicuro per eseguire un tor bridge come utente corrente?

1

È sicuro eseguire un nodo tor bridge dal mio attuale utente, ho in mente che posso usare sudo ?

Ecco torrc :

ORPort 9001
Nickname somenick
ExitRelay 0
ExitPolicy reject *:* # no exits allowed
BridgeRelay 1
SocksPort 0

Ecco tor.service :

[Unit]
Description=Anonymizing Overlay Network
After=network.target

[Service]
User=#name of user here
Type=simple
ExecStart=/tor/bin/tor -f /tor/etc/tor/torrc
KillSignal=SIGINT
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
# WantedBy=default.target
    
posta k76u4vkweek547v7 28.01.2018 - 16:54
fonte

1 risposta

1

I rischi di utilizzare Tor come utente normale

Dipende dal tuo modello di minaccia. Eseguire un demone connesso in rete come utente non privilegiato è ovviamente una buona idea, ma eseguirlo come il proprio potrebbe non essere. Sotto Linux e nella maggior parte degli Unices, il modello di sicurezza è progettato solo per proteggere un utente da un altro, non da un processo di un altro processo se entrambi hanno le stesse autorizzazioni. Come tale, un processo compromesso in esecuzione come il tuo attuale utente potrebbe essere in grado, utilizzando varie tecniche, dirottare il tuo browser o registrare le tue battute. Se questo è considerato un rischio inaccettabile dipende da voi. Per alcuni esempi di possibilità, supponendo che Tor sia compromesso da un exploit sulla rete, il processo Tor può:

  • Utilizza LD_PRELOAD o LD_LIBRARY_PATH per iniettare le librerie nei comandi.
  • Utilizza ptrace() o syscalls correlate per modificare direttamente la memoria dei processi in esecuzione.
  • Modifica PATH per sostituire i comandi privilegiati con quelli dannosi.
  • Visualizza e inietta sequenze di tasti o azioni del mouse usando il protocollo X11.

Tutti questi sono possibili solo se il processo compromesso e un processo di destinazione sensibile (gestore password, browser, ecc.) sono in esecuzione come lo stesso utente. Questo è ciò che l'esecuzione di un daemon come un utente dedicato e con un solo scopo è progettato per prevenire. Un processo in esecuzione come tor dell'utente può solo dirottare altri processi sotto quell'utente, ma non per root , www-data , joesmith o altri.

Nel complesso, il rischio è probabilmente piuttosto basso, dato che Tor è progettato bene e non dovrebbe essere particolarmente facile da dirottare in remoto. Anche se ovviamente non è una scusa per evitare la difesa in profondità, vuol dire che non stai esponendo una superficie di attacco enorme eseguendola sulla rete, a patto che tu la mantenga aggiornata.

Perché usare sudo potrebbe essere una cattiva idea

Mentre puoi usare sudo per eseguire Tor come utente diverso, tieni presente che, se sudo è impostato per consentire l'esecuzione di comandi root, l'utente, se compromesso, può anche compromettere root . Questo perché qualsiasi processo compromesso può annusare le sequenze di tasti e modificare l'ambiente, quindi se si esegue sudo in quell'ambiente, è possibile che si stia eseguendo una sostituzione dannosa. Un modo più sicuro per accedere come root è utilizzare un TTY diverso e accedere direttamente (ad es. Tramite logind o agetty ).

Un semplice esempio, che mostra come sudo può essere dirottato:

$ echo $SHELL
/bin/bash
$ function /usr/bin/sudo { echo "I am evil. Please enter your password:"; }
$ function sudo { /usr/bin/sudo; }
$ /usr/bin/sudo id
I am evil. Please enter your password.
$ sudo id
I am evil. Please enter your password.

Usare sudo per eseguire Tor come un utente specifico di Tor può essere a posto, purché sia stato configurato in sudoers(5) per autorizzare i comandi e gli utenti accettabili. La configurazione di sudoers che consente a myusername di eseguire /usr/bin/tor come tor utente apparirebbe come segue:

myusername ALL=(tor) NOPASSWD: /usr/bin/tor

Esecuzione sicura di Tor come utente non privilegiato

Suggerisco invece di eseguire Tor come demone, avviato dal tuo sistema init. Puoi regolare l'utente in torrc utilizzando la direttiva User . Quando Tor si avvia con questo set nel suo file di configurazione, verrà rilasciato all'utente specificato ed eseguito come da quel momento in poi. Questo di solito richiede l'avvio di Tor originariamente come root, poiché il cambio di utente è un'operazione privilegiata. È sicuro che Tor venga avviato dal tuo sistema init (ad esempio, ad ogni avvio, dopo che la rete è online), che verrà avviato come root.

Tratto dalla pagina di manuale tor(1) o dalla documentazione online :

User Username:
    On startup, setuid to this user and setgid to their primary group.
    Can not be changed while tor is running.

La configurazione di Tor per l'esecuzione automatica tramite il tuo sistema init dipende dalla specifica distribuzione che stai utilizzando. Solitamente, l'installazione di Tor tramite il gestore di pacchetti installa anche il supporto per l'esecuzione come servizio, nonché l'aggiunta di un utente specifico Tor al tuo /etc/passwd . Solitamente l'utente viene chiamato tor , anche se su Debian è chiamato debian-tor . Controllare quale utente è stato aggiunto e impostarlo all'utente per eseguirlo come. Usa gli strumenti di gestione del tuo particolare sistema di init per abilitare il servizio Tor a funzionare automaticamente dopo l'avvio nel runlevel desiderato. Questo è davvero il modo previsto per eseguire Tor, quindi consiglio vivamente di farlo.

    
risposta data 28.01.2018 - 21:58
fonte

Leggi altre domande sui tag