[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Jaula chroot para cuentas por ssh



¿Flojita?
	Hombre, reconozco que seguro al 100% no hay nada, pero esto se
acercaria bastante, en primer lugar el usuario queda encerrado en su
home con la jaula chroot. En segundo lugar se pueden montar los
directorios de las jaulas en modo de solo lectura. En tercer lugar,
usando LIDS y ACL (como esta pensado para el sistema) se tiene un
control total sobre que ejecutables puede usar cada usuario. Aparte de
que como dije antes, se puede crear una jerarquia exclusiva para las
jaulas que tengas las librerias y los ejecutables minimos que se
montaran en cada una de las jaulas chroot de cada usuario. Con todo esto
y sin dejar acceso a ningun compilador, ninguna libreria innecesaria,
ningun comando comprometedor ... Realmente es muy (y repito) muy dificil
que alguien consiga privilegios de root y aun consiguiendolos, salir de
la jaula.

	Por lo tanto repito ¿Flojita? :) . El unico tema que me falta
por solucionar es que el sistema monte automaticamente los directorios
dentro de la jaula al efectuarse la conexion y que los desmonte una vez
finalice esta. Se que sshd ejecuta el ~/.ssh/rc si existe este al
efectuarse la conexion. Tendria acceso de lectura para todos (como es
logico) y solo root tendria acceso de escritura sobre el. Dentro de este
archivo habria que poner el script que montaria los directorios (cosa
que no he conseguido aun) y no se si al finalizar la conexion los
directorios se desmontarian automaticamente.
	
	Como ya dije antes, para ahorrar espacio en el sistema en lugar
de copiar todo lo necesario en cada home, uso la opcion --bind del mount
para montar "directorios" que ya existen como /lib /dev etc, en los
respectivos de las jaulas pero me falta que el .ssh/rc se ejecute para
que se monten automaticamente. Lo que tengo en el .ssh/rc de cada home
es:

if [ -d etc ] ; then
	if [ -d usr/lib ] ; then mount --bind /usr/lib usr/lib ; fi
	if [ -d lib ] ; then mount --bind /lib lib ; fi
	if [ -d dev ] ; then mount --bind /dev dev ; fi
	if [ -d bin ] ; then mount --bind /bin bin ; fi

	No se si el script esta bien acabado o si hace falta el
#!/bin/bash al principio (lo he provado de todas las maneras) pero no me
funciona. Aver si alguien lo hare rular.

	Un saludo.
	



Reply to: