Beruflich Dokumente
Kultur Dokumente
3. CUOTAS
Las cuotas permiten especificar limites en dos aspectos del almacenamientoen disco: El
numero de inodos que puede poseer un usuario o un grupo; y el numero de bloques de
disco que puede ocupar un usuario o un grupo. La idea que se esconde detrás de las
cuotas es que se obliga a los usuariosa mantenerse debajo de su limite de consumo de
disco, quitándoles su habilidad de consumir espacio ilimitado de disco en un sistema.
utmp: Guarda un registro (log) de los usuarios que estan tilizando el sistema mientras
estan conectados al sistema. Directorios: /var/adm/utmp y /etc/utmp
wtmp: Guarda un log cada vez que un usuario se introduce en el sistema o sale del
sistema. Directorios: /var/adm/wtmp y /etc/wtmp
lastlog: Guarda un log del momento exacto en que un usuario entro por ultima vez.
Directorio: /var/adm/lastlog
acct o pacct: Registra todos los comandos ejecutados por cada usuario (aunque no
registra los argumentos con que dichos comandos fueron ejecutados). Directorio:
/var/adm/acct
who y users: Permite saber quien esta conectado al sistema en el momento en que
ejecutamos el comando.
finger: Lo mismo que el comando who, con el añadido de que podemos saber que
usuarios estan conectados a una determinada maquina en el momento en que ejecutamos
el comando.
last: Muestra la ultima vez que se conecto un usuario. Last toma la informacion que
saca en pantalla del fichero wtmp.
ps: Permite saber que procesos estan siendo ejecutados por el sistema y que usuarios los
ejecutan.
lastcomm: Permite saber que comandos han ejecutado los usuarios.Lastcomm toman la
informacion que sacan por pantalla del fichero acct.
Por lo tanto, si queremos borrar nuestras huellas del sistema, bastar con borrar cualquier
log relativo a nuestro usuario de los ficheros utmp, wtmp y acct. Esto se puede hacer de
dos formas:
Para "animar" un poco mas la cosa se utiliza lo que se denomina en criptologia como un
"grano de sal". Se trata de un valor de 12 bits que se utiliza para modificar el resultado
de la funcion DES, esto es, un valor que puede variar de 0 a 4095. Asi que para cada
contraseña posible existen 4096 formas de encriptacion y almacenamiento.
Cuando utilizamos el programa /bin/passwd para introducir una nueva contraseña, dicho
programa utiliza un "grano de sal" basado en la hora del sistema, la cual es utilizada
para la funcion de calculo de la contraseña encriptada. Esta sal es guardada junto a la
contraseña en el archivo /etc/passwd. Asi que los dos primeros caracteres de una
contraseña encriptada son en realidad el "grano de sal".
Asi pues, un password una vez encriptado no se puede desencriptar. Pero esto no quiere
decir que el password este seguro y no se pueda averiguar.
Cada línea de este fichero representa a un usuario del sistema y contiene informacion
sobre el, repartida en 7 campos separados por ":", a saber:
Si en tu sistema tienes "Shadow Password", en vez de una clave cifrada verás una "x".
Si no tienes nada es que ese usario no tiene clave asignada. Si hay un "*" esa cuenta esta
deshabilitada.
El fichero /etc/passwd tiene permisos de lectura para todo el mundo, con lo cual todo el
mundo puede leer la clave encriptada de todo el mundo. Podemos ver la clave, pero esta
cifrada según un método ( estándar de encriptación DES ) con lo que es practicamente
imposible averiguar la clave original.
Esta forma de buscar claves válidas se conoce como el método de la fuerza bruta y si no
tomamos precauciones puede ser muy efectivo.
Para mantener una seguridad decente en tu sistema Linux, en lo concerniente a la
entrada al sistema, dos son las medidas basicas a adoptar:
• Nunca elegir como clave la misma palabra que el "login" ( es lo primero que
prueban los programas de crackeo).
• Nada de elegir una "palabra clave" recuerda que hay diccionarios de todos los
idiomas, asi como de nombres propios o apellidos, de personas y cosas famosas
etc. La clave no debe ser una palabra!
• Tampoco vale una palabra modificada fácilmente, los programas de crackeo
descritos permiten incluso atacar combinaciones de palabras con prefijos y
sufijos, Mayusculas-minúsculas, orden inverso... etc.
• Elige pues, una combinación de letras ( a ser posible mayúsculas y minúsculas,
recuerda que son diferentes ) y números o signos de puntuación ( comas, puntos
guiones ... )
• No elijas cosas obvias como tu fecha de cumpleaños, el nombre de tu
perro/novia/mujer/hijo la matrícula de tu coche, tu número de teléfono.. Ah! y
no la apuntes en un POST-IT en tu monitor!! ;)
Por el contrario, si un usuario elige una clave de 6 caracteres, todas letras minúsculas. A
10.000 combinaciones por segundo, su clave sería encontrada en ¡¡8 horas y media!!
Al administrador del sistema le queda la tarea de comprobar que todo el mundo tiene
una clave mínimamente resistente, para lo cual tendrá que probar alguno de los
programas de crackeo de claves descritos sobre su mismo sistema.
7.1 Descripción
El email spamming es una variante del bombing; envía email a cientos o miles de
usuarios. Puede dañar aún más si los destinatarios contestan ese email, causando que
todas las direcciones originales reciban esa contestación.
7.2 Detección
Si tu email es lento o no parece que sea enviado ni recibido, la razón puede ser que el
sistema está intentando procesar un número alto de mensajes.
7.3 Reacción
1. Identifica el origen del email bombing o spamming y configura tu router para
prevenir prevenir la llegada de paquetes de esa dirección.
2. Revisa las cabeceras de los email para determinar el verdadero origen del email.
Contacta con el sistema que has identificado para alertarle de la acción.
7.4 Prevención
8.1 Descripción
El email spoofing puede ocurrir de distintas formas, pero todas tienen el mismo
resultado: un usuario recibe un email que parece haber sido enviado de un cierto sitio,
pero realmente ha sido remitido desde otro. Es a menudo un intento de engañar al
usuario para que revele información sensible (por ejemplo, el password) o dañina.
Ejemplos de email spoofing que pueden afectar la seguridad del sistema son:
8.2 Reacción
1. Revisa toda la información (cabeceras de los email y los archivos de estado del
sistema) relacionados con el email spoofing, siguiendo las políticas y
procedimientos de tu organización.
2. Examina los archivos de estado del tcp_wrapper, ident y sendmail para
averiguar el origen del email spoofing.
3. La cabecera del email trae a menudo un completo registro de los saltos que ha
dado hasta llegar al destino. La información en la cabecera (el Received: y el
Message-ID), junto con los archivos de estado (logs), deberían ayudarte a
determinar cómo el mensaje ha alcanzado tu sistema.
1. Usa firmas criptográficas (por ejemplo, PGP "Pretty Good Privacy" u otra
tecnología para encriptar) para intercambiar mensajes autentificados. je.
2. Configura tu demonio de correo para prevenir que nadie se conecte a tu puerto
SMTP y haga email spoofing.
3. Considera un único punto de entrada de email a tu sistema. Puedes hacer esto
configurando tu firewall para que las conexiones SMTP desde el exterior deban
ir a través de un servidor central de correo.
Seguridad en Linux
Bien ahora vamos a empezar con la seguridad en linux, y previamente como hackearlo,
muy bien empezamos. Nada mas conectarse por defevto tienes todos los puertos
habiertos, lo que tienes que hacer es lo siguiente: Edita el archivo /etc/inetd.conf y pon
un '#' delante de todos los servicios que no ofrezcas. Recuerda que esto se refiere los
servicios que quieres DAR no a los que quieres ACCEDER, o sea que para entrar en un
ftp no necesitas tener abierto el puerto ftp.
por:
Con esto pasamos a dar el servicio de net-bios por el puerto 140 y el 139 se cierra.
Cuidado! Es muy probable que tengas que modificar los programas que usan net-bios
para que sigan funcionando.
El passwd :
En concreto /etc/passwd. Este es el archivo mas ansiado (junto con el de los passwords
para internet) por los hackers, así que lo mejor será protegerlo.
Asegúrate que sus permisos son:
Truco: Usa el programa John The Ripper para testear la seguridad de tus passwords, si
es capaz de crakearlos en pocas horas es que tu password no es seguro.
El usuario roto es siempre un peligro potencial. El sistema considera que roto sabe
perfectamente lo que hace por lo que ni siquiera pedirá confirmación si por error
formateamos el disco, imaginaos el desastre ...
Reduciendo las vías de acceso de roto al sistema minimizamos riesgos a la vez que nos
forzamos a nosotros mismos a dejar de trabajar con roto.
Edita el archivo /etc/securetty y deja solo las consolas en las que quieres que roto pueda
entrar. Este archivo contiene una lista de terminales (tty) en las que puede entrar roto,
una por linea. Eliminando las lineas que no deseemos evitamos el acceso de roto a ese
terminal.
Conozco sistemas en los que roto no puede hacer ningún login y la única manera que
tiene de entrar al sistema es mediante el comando "su" que además solo puede ser
ejecutado por un grupo muy reducido de usuarios. Sin llegar a este extremo, algo
recomendable es dejar por ejemplo las tres primeras consolas para el acceso de roto.
Lo mejor seria que nunca se hiciese login como roto, en lugar de esto podemos usar el
comando su para tener privilegios de roto momentáneamente, cambiar lo que haga falta
y teclear exit para volver a ser usuario normal sin peligro de estropear nada.
Truco: Nunca, nunca, nunca, dejes acceso por telnet a roto, elimina todas las entradas
con ttyp?
Truco: Estas restricciones no protegen contra el uso del comando su!
Tcp_wrappers:
Uso de tcp_wrappers: para filtrar un puerto a través de tcp_wrappers debes definir ese
puerto en el /etc/inetd.conf con una linea parecida a esta:
ftp stream tcp nowait roto /usr/sbin/tcpd ftpd
Ejemplo:
ftpd: ALL: spawn ( /bin/echo -e " Intruso %a %n en %d" ; wave -l10 -d1 -f2000 ) &
Esta linea, en el /etc/hosts.allow filtra los accesos al puerto ftp (ftpd) de todo el mundo
(ALL) y después de permitirle el acceso realiza los siguientes comandos (spawn):
/bin/echo -e " Intruso %a %n en %d": Saca por pantalla un mensaje indicando los datos
del intruso y el puerto atacado.
wave -l10 -d1 -f2000: Emite un sonido por si no estas atento al mensaje.
Truco: Define en /etc/hosts.allow los puertos a los servicios que quieras ofrecer y pon
en /etc/hosts.deny ALL: ALL
Truco: Los parámetros permiten hacer cosas al intruso usando spawn ( programa %a ) ...
deja volar tu imaginación.
Truco: La linea ALL: PARANOID detecta los intentos de spoof y similares
services:
Este archivo, localizado en /etc/services es una base de datos que contiene información
sobre los puertos.
Es importante remarcar que no indica si un puerto esta abierto o cerrado, es solo una
guía para que los programas sepan localizar los servicios y como responder a las
peticiones. Por lo tanto en principio no debemos tocar nada de este archivo. El archivo
donde se abren o cierran puertos es inetd.conf.
De forma "extraoficial" podemos comentar lineas para cerrar los puertos que definen.
Atención! Este no es un método correcto y solo lo recomiendo en el caso de que el
puerto implicado no sea definido en el inetd.conf y no podamos usar un firewall para
protegerlo.
Nuevos puertos/servicios:
Como sencillo ejemplo voy a crear un nuevo servicio en el puerto 22 que será atendido
por un demonio telnet. Para distinguirlo del telnet normal (puerto 23) le llamaremos
telnet2. Tenemos que modificar los siguientes archivos:
/etc/inetd.conf: aquí definimos las opciones y el demonio que atiende al nuevo servicio:
/etc/hosts.allow: por supuesto, el nuevo servicio puede ser filtrado por tcp_wrappers
para delimitar su accesibilidad:
El firewall:
Esto nos permite acceso total a nuestra propia maquina y limita los accesos al puerto
515 (el de la impresora) cosa que no podíamos hacer con tcp_wrappers.
Gracias a Javi Polo por esto.
A partir de aquí las posibilidades de configuración son casi infinitas: detectar spoof,
seleccionar los protocolos de entrada, salida, definir rangos de IPs "amigas" ... sean
cuales sean tus necesidades hay una forma de cubrirlas con ipchains. Lee el ipchains-
howto y el man ipchains para mas información.
/sbin/ipfwadm -I -f
/sbin/ipfwadm -I -a a -S 127.0.0.1
/sbin/ipfwadm -I -a d -P tcp -D 0.0.0.0/0 515
Actualizate!:
Truco: Por algún motivo el IMAP y el sendmail son especialmente sensibles a exploits.
Si usas alguno de los dos asegúrate de tener siempre la ultima versión disponible.