-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-01-26 a las 17:59 +0100, Rafa Grimán escribió:
Si haces ftp a un servidor ... ya tienes una shell, la del ftp. Para salir de ella, puedes ejecutar cosas como:
!/bin/bash
No lo sabía; acabo de probarlo en bucle local y es verdad, funciona incluso con "anonymous", usando vsftpd. Tendré que mirar la documentación para desactivarlo. Lo que no lo he probado es con un usuario que tenga denegada la shell.
Funciona aunque el usuario no tenga shell, ten en cuenta que estás lanzando un comando cualquiera ... y la shell es un comando más.
Acabo de crearme un usuario con password, pero sin login, y no puede hacer ftp siquiera (vsftpd). En el vsftpd parece que el poder ejecutar una shell externa está controlado por pam. Yo creía que el ajuste que entregaba SuSE estaba más controlado; se supone que "vsftpd" significa "Very Secure FTP Daemon": tiene que tener una manera de impedir la ejecución de comandos externos. O este comportamiento se debe a que estoy usando usuarios locales, no virtuales. Pero el anonymous... :-?
Lo mejor es: - instalar menos shells: más fácil de controlar
- que los usuarios que _NO_ deben tener shells (ftp, correo, impresión, smb, ...) pertenezcan a un grupo que _NO_ tenga permisos sobre el comando /bin/bash (que _NO_ lo puedan ejecutar) ... lo mismo para otros comandos
Supone un buen conjunto de cambios en el sistema. Cambiar los permisos del bash, meter a todos los usuarios en ese grupo... podría ser el grupo "users". Pero seguro que al hacerlo se rompen cosas: por ejemplo, el usuario "nobody" y otras tareas del cron fallarían. ¿Y acl, permite esas cosas? No lo he mirado todavía, la verdad.
- atributos de inmutabilidad de forma que el comando _NO_ se pueda copiar, enlazar, borrar, ...
Creo que proftpd o pureftpd lo tenían deshabilitado por defecto, pero no recuerdo bien.
En resumen, esto de la seguridad ... es una historia más compleja de lo que parece ;)
Ya, ya... - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFD2SbHtTMYHG2NR9URAk0YAJ9hPYBpd8UJfRhJakoBUQfFDSAiFwCfVCpx zRpowuDub5ujO5ran3MUF0E= =eBC7 -----END PGP SIGNATURE-----