¿Seguro para ejecutar un puente de puente como usuario actual?

1

Es seguro ejecutar un nodo tor bridge desde mi usuario actual, ¿tengo en cuenta que puedo usar sudo ?

Aquí está el torrc :

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

Aquí está el 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
    
pregunta k76u4vkweek547v7 28.01.2018 - 16:54
fuente

1 respuesta

1

Los riesgos de ejecutar Tor como su usuario habitual

Esto depende de tu modelo de amenaza. Ejecutar cualquier demonio conectado a la red como un usuario sin privilegios es, por supuesto, una buena idea, pero ejecutarlo como su propio usuario no puede ser . Bajo Linux y la mayoría de Unices, el modelo de seguridad está diseñado solo para proteger a un usuario de otro, no a un proceso de otro proceso si ambos tienen permisos iguales. Como tal, un proceso comprometido que se ejecuta como su usuario actual puede ser capaz de, mediante diversas técnicas, secuestrar su navegador o registrar sus pulsaciones de teclado. Depende de usted si esto se considera un riesgo inaceptable o no. Para algunos ejemplos de posibilidades, suponiendo que Tor se vea comprometida por un exploit a través de la red, el proceso Tor puede:

  • Use LD_PRELOAD o LD_LIBRARY_PATH para inyectar bibliotecas en los comandos.
  • Use ptrace() o syscalls relacionados para modificar directamente la memoria de los procesos en ejecución.
  • Modifique PATH para reemplazar los comandos privilegiados con los maliciosos.
  • Ver e inyectar pulsaciones de teclas o acciones del mouse usando el protocolo X11.

Todo esto solo es posible si el proceso comprometido y un proceso objetivo sensible (administrador de contraseñas, navegador, etc.) se ejecutan como el mismo usuario. Esto es lo que el hecho de ejecutar un demonio como usuario dedicado y de un solo propósito está diseñado para prevenir. Un proceso que se ejecuta como el usuario tor solo puede secuestrar otros procesos bajo ese usuario, pero no para root , www-data , joesmith , o cualquier otro.

En general, el riesgo es bastante bajo, ya que Tor está bien diseñado y no debería ser particularmente fácil de secuestrar de forma remota. Si bien eso obviamente no es una excusa para evitar la defensa en profundidad, significa que no está exponiendo una gran superficie de ataque ejecutándola en la red, siempre y cuando la mantenga actualizada.

Por qué usar sudo puede ser una mala idea

Si bien puede usar sudo para ejecutar Tor como un usuario diferente, tenga en cuenta que, si sudo está configurado para permitir ejecutar comandos de root, su usuario, si está comprometido, también puede comprometer la raíz . Esto se debe a que cualquier proceso comprometido puede detectar sus pulsaciones y modificar su entorno, por lo que si ejecuta sudo en ese entorno, es muy posible que esté ejecutando un reemplazo malintencionado. Una forma más segura de iniciar sesión como root es usar un TTY diferente e iniciar sesión directamente (por ejemplo, a través de logind o agetty ).

Un ejemplo simple, que muestra cómo sudo puede ser secuestrado:

$ 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.

El uso de sudo para ejecutar Tor como usuario específico de Tor puede puede estar bien, siempre y cuando se haya configurado en sudoers(5) para agregar a la lista blanca los comandos y usuarios aceptables. La configuración de los sudoers que permite que myusername se ejecute /usr/bin/tor , ya que el usuario tor buscaría algo en estas líneas:

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

Ejecutar Tor de forma segura como un usuario sin privilegios

Sugiero que en su lugar ejecutes Tor como un demonio, iniciado por tu sistema init. Puede ajustar el usuario en el torrc usando la directiva User . Cuando Tor se inicia con este conjunto en su archivo de configuración, pasará al usuario especificado y se ejecutará a partir de ese momento. Por lo general, esto requiere que Tor se inicie originalmente como root, ya que cambiar usuarios es una operación privilegiada. Es seguro que Tor sea iniciado por su sistema de inicio (por ejemplo, en cada inicio, después de que su red se conecte), lo que lo iniciará como root.

Tomado de la página de manual tor(1) o documentación en línea :

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

La configuración de Tor para que se ejecute automáticamente a través de su sistema de inicio depende de la distribución específica que esté utilizando. Por lo general, la instalación de Tor a través de su administrador de paquetes también instalará el soporte para ejecutarlo como un servicio, así como también agregará un usuario específico de Tor a su /etc/passwd . Normalmente, al usuario solo se le llama tor , aunque en Debian se llama debian-tor . Verifique qué usuario se agregó y configúrelo al usuario para ejecutarlo como. Use las herramientas de administración de su sistema de inicio particular para permitir que el servicio Tor se ejecute automáticamente después del inicio en el nivel de ejecución deseado. Esta es realmente la forma prevista de ejecutar Tor, así que recomiendo encarecidamente hacer esto.

    
respondido por el forest 28.01.2018 - 21:58
fuente

Lea otras preguntas en las etiquetas