¿Hay algún problema serio con la configuración del bit SUID en tcpdump?

2

Estoy ejecutando tcpdump en una máquina remota y canalizando la salida a Wireshark en mi máquina local a través de SSH. Para hacer esto, tuve que establecer el bit SUID en tcpdump.

Para el fondo, la máquina remota es un Amazon EC2 que ejecuta "Amazon Linux AMI 2012.09". En esta imagen, no hay una contraseña de root, y no es posible iniciar sesión como root. No puede usar sudo sin un TTY y, por lo tanto, debe configurar el SUID.

¿Cuáles son los riesgos prácticos de establecer este bit en tcpdump? ¿Hay alguna necesidad de ser paranoico? ¿Debo desactivarlo cuando no esté capturando?

Dean
fuente

Respuestas:

3

Eso significa que todos los que tienen acceso de shell a esta máquina pueden usar tcpdump para captar el trafico. La paranoia no es lo malo cuando hablamos de seguridad. Eventualmente, puede olvidar que lo configuró en su totalidad y algún día le dará acceso de shell a alguien en quien no pueda confiar en toda su extensión. Creo que no quieres esto. Creo que deberías considerar usar sudo correr tcpdump desde tu cuenta. Es posible configurar el sudo no solicitar una contraseña para un usuario específico y para comandos específicos.

Serge
fuente
Esta es una máquina de un solo propósito, y cualquier persona que inicie sesión necesitará acceso de root. sudo no funcionará porque no puedes usarlo sin haber iniciado sesión en la máquina (estoy ejecutando tcpdump pasándolo como un argumento a ssh). Gracias, solo quería asegurarme de que no planteara un problema de seguridad externo.
Dean
entonces porque no puedes usar ssh user@machine sudo tcpdump eth0 ¿por ejemplo?
Serge
Esto devuelve sudo: sorry, you must have a tty to run sudo
Dean
1
Necesitas configurar el sudo de acuerdo a tus necesidades. Echa un vistazo a man sudo Si te interesa hacer que funcione para ti.
Serge
1
Para el problema de tty, intente esto: ssh -t usuario @ máquina sudo tcpdump eth0
Valor
1

En función de su solicitud de comentarios, aquí se muestra cómo funciona para canalizar el tcpdump remoto a través de sudo a wireshark:

ssh user@host sudo tcpdump -s0 -w - | wireshark -k -i -

Notas: He añadido s0 para capturar los paquetes completos.

Acaba de crear un script de envoltura que ejecuta exactamente eso, pero solo necesita dar las credenciales ssh y un filtro opcional para tcpdump. Puedes descargarlo desde aquí

Valor
fuente
Aprecio el esfuerzo Valor, pero desafortunadamente esto da como resultado el mismo error descrito anteriormente (sudo: lo siento, debes tener un tty para ejecutar sudo, o el error de Wireshark si uso -t).
Dean
@Dean que os y que shell estas corriendo? Acabo de intentarlo en Debian & amp; ubuntu contra una instancia de EC2 (Ubuntu 10.04) y funcionó bien.
Valor
@Dean Check / etc / sudoers en su instancia de EC2, si hay una línea que dice que debe eliminarlo o comentarlo.
Valor
Eso funciona. Sin embargo, advierte que mostrará la contraseña en claro. ¿Esto tiene alguna ventaja sobre la configuración del bit SUID en tcpdump?
Dean
@Dean "se mostrará la contraseña"? ¿Dónde estás usando una contraseña?
Valor