martes, 10 de marzo de 2009

[FreeBSD] "Login Class" Limites y Clases para los Usuarios

Bueno para que no se confundan desde ahorita, no me estoy refiriendo a los clásicos grupos del sistema UNIX, ya que generalmente estos solo nos dan restricciones sobre direcctorios y procesos que se nos permiten ejecutar, pero que hay de restringir el uso de la memoria o del CPU, Numero de Processos etc.

Dentro de FreeBSD el archivo /etc/login.conf nos permite gracer nuevas clases de usuarios para ajustar estos niveles de restricciones.

Por defecto el sistema nos coloca en default:

default:\
        :passwd_format=blf:\
        :copyright=/etc/COPYRIGHT:\
        :welcome=/etc/motd:\
        :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
        :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
        :nologin=/var/run/nologin:\
        :cputime=unlimited:\
        :datasize=unlimited:\
        :stacksize=unlimited:\
        :memorylocked=unlimited:\
        :memoryuse=unlimited:\
        :filesize=unlimited:\
        :coredumpsize=unlimited:\
        :openfiles=unlimited:\
        :maxproc=unlimited:\
        :sbsize=unlimited:\
        :vmemoryuse=unlimited:\
        :priority=0:\
        :ignoretime@:\
        :umask=022:

Como podremos ver esa clase de usuarios no tiene restriccion sobre los recursos.

Por describir un ejemplo real que he usado al momento de configurar el servidor para "Torneo Shell" en el warzone de elhacker.net.

Cree un clase de usuario llamada "Warusers" con lo cual limitaba los recursos del servidor el codigo es el siguiente:

warusers:\
       :copyright=/etc/COPYRIGHT:\
       :welcome=/etc/motd:\
       :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\
       :path=~/bin /bin /usr/bin /usr/local/bin:\
       :manpath=/usr/share/man /usr/local/man:\
       :nologin=/var/run/nologin:\
       :cputime=10m:\
       :datasize=8M:\
       :vmemoryuse=80M:\
       :stacksize=2M:\
       :memorylocked=4M:\
       :memoryuse=8M:\
       :filesize=8M:\
       :coredumpsize=1M:\
       :openfiles=48:\
       :maxproc=64:\
       :priority=0:\
       :umask=077:\
       :ignoretime@:

Con estas opciones podremos indicar hasta un archivo motd diferente para cada tipo de usuarios que tengamos en nuestro sistema. Limitamos cosas como el tiempo del CPU, la memoria, el Uso del Disco duro, Numero de procesos en ejecucion etc.

Anteriormente había colocado el tema de Fun D.o.S. local on a Unix system poorly managed con el cual generabamos una Denegacion de Serivicio al equipo por el hecho de consumir los procesos, esta es la solucion el campo maxproc especificamos el numero de procesos maximo lo cual nos daria cierta cantidad mas de control sobre el sistema otra muy recomendable es el opendiles la cual tambien es muy limitante sobre lo que pueden o no pueden hacer los usarios, el punto donde se especifica el login class a los usuarios es con el comando pw el cual podremos modificar la clase del usuario en cuestion y podre asi tener control sobre los recursos.

Espero y les sea de su ayuda.

Saludos
--
- Anon

No hay comentarios:

Populares Siempre