Como Limito a los usuarios a su HOME

Imagen de BitFrost

Forums: 

Saludos colegas del foro

mi pregunta es como limito a los usuarios a que solamente esten dentro de su directorio /home y a ningun otro lado mas?

Exsite una utilidad que grabe todo lo que un usuario haga en el sistema?
Todos los comandos, hora ded ingreso y salida, etc..

Hay alguna forma para que los archivos del servidor Apache solamente sean leidos por el demonio y por ningun otro usuario o servicio como MySQL?

Muchisimas gracias por sus ideas =)

Imagen de Epe

Comienzo indicandote que es poco comun ya que usuarios tengan acceso al shell, es una falla de seguridad aun cuando restrinjas el shell, aun cuando sean confiables, aun cuando creas que tu sistema esta protegido.

Existen varias formas de obtener privilegios elevados a partir de un shell normal.. no te sugiero que des acceso al shell, a no ser que confies tanto en un usuario que no tengas que restringirle nada.

Hablando de restricciones, lo que encontre hace un tiempo, cuando me entretenia en dar accesos de shell, es lo que se llaman restricted shells (shells restringidos).

Bash puede actuar como restricted shell si lo llamas con -r (/bin/bash -r) eso lo puedes actualizar en el /etc/passwd para el usuario en si.

Antes habian formas de salirse del restricted shell, de ver la info, pero fue lo mejorcito que encontre, supongo que ahora, despues de unos annos que han pasado, ya sea mas seguro el restricted shell. Posiblemente hayan otros shells restringidos.

Sobre lo del apache... me imagino que puedes cambiar los derechos de o (chmod o= /var/log/httpd -R) esa es una forma. Pero ma mejormejor seria que enjaularas el proceso y no dejaras a nadie entrar a esa jaula.

En [url]www.ernestoperez.com[/url] ensenno como enjaular al DNS, se puede aplicar al apache, si en realidad tienes mucho mucho interes en hacerlo, por ahi puedes guiarte.

Sobre lo de los historicos, lo unico que uso es history (o editar .bash_history en el directorio home del usuario) supongo que hayan otras utilerias pero te repito, es super indeseable darle acceso a shell a usuarios.

Saludos
epe[/url]

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Imagen de BitFrost

Hola Ing. Ernesto muchas gracias por su respuesta :D
Si en verdad no se deberia permitir mejor de todas formas el acceso a la shell, porque existen programas para poder escalar los privilegios, una forma que los usuarios se pudieran saltar el que se graben los comandos es escribiendo lo siguiente en la shell

$unset HISTFILE

de esta maera ya no se graba en el .bash_history y no se puede saber que travesuras (bien o mal intencionadas) estubo haciendo el usuario...
Estoy investigando para saber como le puedo enjaular a todos los servicios MySQL, APACHE y limitar a todos los usuarios, el problema esta en que si tienen que ingresar los usuarios a la shell :!:

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
[img]http://counter.li.org/cgi-bin/certificate.cgi/345468[/img]

Saludos me he perdido un poco, Como decían antes dar una shell puede tener graves consecuencias, especialmente por las úlitmas vulnerabilidades del kernel <= 2.4.22 , (con la que se colaron en los debian recientemente)
http://www.debian.org/security/2003/dsa-403,
Pero podrías probar con osh (Operator Shell) que tambien es una shell restringuida o con rbash o bash -r, además he visto que por ejemplo algunos amigos de ISP le dan una shell restringida a sus clientes utilizando la utilidad sudo.
Bueno en conclusión si realmente necesitar dar una shell, te recominedo que actualices el kernel al 2.6 , controlando siempre los fallos y limitalos con bash-r y SUDO
:twisted:

Hasta la Victoria Siempre!

Imagen de Epe

el 2.6 no esta suficientemente probado como para usarlo en ambientes de produccion. Debe esperarse al menos unos 5 releases (2.6.5 aprox) para pensar que es bueno.

La sugerencia es sencillamente actualizar al 2.4.23 o parchear los anteriores con los problemas corregidos. Meterse en el 2.6 es bonito para el que no lo use en ambiente de produccion, asi puede probar todo lo que quiera. El kernel mas usado en la actualidad es el 2.4 y asi permanecera unos meses, posiblemente hasta un anno.

Debian es bien conservador.. pienso que ellos no saquen el 2.6 como estable hasta dentro de un tiempo.

Saludos
epe

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Imagen de Epe

Problemas conocidos del kernel 2.6 (no hablemos de los que no han salido todavia a la palestra):
[url]http://kerneltrap.org/node/view/1816[/url]

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

[quote:1bfb729e15="co2pd"]el 2.6 no esta suficientemente probado como para usarlo en ambientes de produccion. Debe esperarse al menos unos 5 releases (2.6.5 aprox) para pensar que es bueno.

epe[/quote:1bfb729e15]

Te doy la razón con ello ..mas aún acabo(hace 2 horas) de tener una mala experiencia recompilado con control de stack y errores de kernel
le doy netstat -an , me dio kernel panic. y literalmente murió (si les interesa fue en un Debian)
Pero instalandolo sin lujos de deteccion de errores he solucionado ese problema..

Rectifico mi sugerencia y coincido con co2pd : pon el 2.4.23 y el parche

Hasta la Victoria Siempre!

Imagen de Epe

Estudiando (porque todos los dias hay que estudiar, la universidad es solo para coger un carton y oir a varios ingenieros y masters disertar sobre lo que saben) encontre el siguiente articulo, no te doy garantias sobre su seguridad, no lo he implementado, pero me parece una muy bonita idea.. tratare de ponerla en practica algun dia:
[url]http://www.tjw.org/chroot-login-HOWTO/[/url]

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Imagen de BitFrost

Si en verdad solamente estudiando por cuenta propia se logran los objetivos =) son como diamantes muy escasos las personas que se apoyan entre si, encontre la forma de hacer un Jail pero en FreeBSD, es como un sistema de archivos virtual, justamente la aplicacion para hacer esto se llama jail, en Linux tambien debe de haber un sistema asi, que le cree a cada usuario una parte separada del sistema para los procesos que ejecute...voy a seguir intentandolo gracias =)

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
[img]http://counter.li.org/cgi-bin/certificate.cgi/345468[/img]

Imagen de BitFrost

:)
Aqui encontre mas informacion sobre el Jail
http://www.gsyc.inf.uc3m.es/~assman/jail/index.html
Soporta algunos sistemas Linux, Solaris, FreeBSD

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
[img]http://counter.li.org/cgi-bin/certificate.cgi/345468[/img]