Seguridad linux 2011

Download Report

Transcript Seguridad linux 2011

WALC 2011
Track 6. Seguridad Informática
Principios de seguridad en
Linux
José F. Torres M.
Universidad de Los Andes
Merida, Venezuela
14/09/11
Principios de seguridad en Linux
1
Agenda
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sistemas de archivos
Sistema de Bitácoras (Logs)
Control de acceso de red
Técnicas de autentificación
Cortafuegos de host
Protección de conexiones de red
Sistema de detección de intrusos de Host IDSH
SELinux
Pruebas y monitoreo del sistema
Pasos básicos para mantener sus sistema seguro
14/09/11
Principios de seguridad en Linux
2
Sistemas de archivos
14/09/11
Principios de seguridad en Linux
3
1
Sistemas de archivos
• El sistema de archivo representa la
primera línea básica de defensa.
• Una norma básica de seguridad radica
en la asignación a cada usuario sólo
de los permisos necesarios para
poder cubrir las necesidades de su
trabajo sin poner en riesgo el trabajo
de los demás.
14/09/11
Principios de seguridad en Linux
4
1
•
Sistemas de archivos
Riesgos
•
•
14/09/11
Dentro del sistema Linux todo son archivos:
desde la memoria física del equipo, hasta todos
los periféricos
Un simple error en un permiso puede permitir a
un usuario modificar todo el disco duro, o leer
los datos tecleados desde una Terminal etc.
Principios de seguridad en Linux
5
1
•
•
Sistemas de archivos
El sistema de archivos es la parte del
núcleo (Kernel) mas visible por los
usuarios;
se
encarga
de
abstraer
propiedades físicas de los
diferentes
dispositivos para proporcionar una interfaz
única de almacenamiento: el archivo.
Cada sistema Linux tiene su sistema de
archivos nativo. (ejemplo ext4, raiserFS,
etc.)
14/09/11
Principios de seguridad en Linux
6
1
Sistemas de archivos
• Un primer criterio para mantener un
sistema seguro es una correcta
distribución
del
espacio
de
almacenamiento.
• Esto limita el riesgo de que el
deterioro de una partición afecte a
todo el sistema. La pérdida se
limitaría al contenido de esa partición.
14/09/11
Principios de seguridad en Linux
7
1
•
Sistemas de archivos
Tamaño de las particiones
• No hay unas normas generales aplicables; el uso
al que vaya destinado el sistema y la experiencia
son las bases de la decisión adecuada, aunque
por lo general se recomienda:
• Si el sistema va a dar servicio a múltiples
usuarios que requieren almacenamiento
para sus datos es conveniente que el
directorio /home tenga su propia partición.
• Si el equipo va a ser un servidor el
directorio /var o incluso /var/spool deberían
tener su propia partición.
14/09/11
Principios de seguridad en Linux
8
1
•
Sistemas de archivos
Tamaño de las particiones (continuación)
• Debe dimensionar cuidadosamente la
partición raíz.
• El
directorio
/usr/local
contiene
los
programas compilados e instalados por el
administrador. Resulta conveniente usar
una partición propia para proteger estos
programas
personalizados
de
futuras
actualizaciones del sistema. Este criterio
también se puede aplicar al directorio /opt.
14/09/11
Principios de seguridad en Linux
9
1
•
Sistemas de archivos
Montaje de las particiones
•
•
•
•
14/09/11
Permita los mínimos privilegios en las
opciones de montado de las particiones
Noexec donde sea posible
Nodev en todas las particiones excepto en
la raiz y en las particiones enjauladas
(chroot)
Nosetuid donde sea posible excepto en la
raiz
Principios de seguridad en Linux
10
1
•
Sistemas de archivos
Montaje de las particiones
•
•
•
•
•
•
•
14/09/11
auto - Mount automatically at boot, or when
the command mount -a is issued.
noauto - Mount only when you tell it to.
exec - Allow execution of binaries on the
filesystem.
noexec - Disallow execution of binaries on the
filesystem.
ro - Mount the filesystem read-only.
rw - Mount the filesystem read-write.
nodev - Don't interpret block special devices
on the filesystem.
Principios de seguridad en Linux
11
1
•
Sistemas de archivos
Montaje de las particiones
•
•
•
14/09/11
suid - Allow the operation of suid, and sgid
bits. They are mostly used to allow users on a
computer
system
to
execute
binary
executables
with
temporarily
elevated
privileges in order to perform a specific task.
nosuid - Block the operation of suid, and sgid
bits.
defaults - the default mount options for the
filesystem to be used. The default options for
ext3 are: rw, suid, dev, exec, auto, nouser,
async
Principios de seguridad en Linux
12
1
•
Sistemas de archivos
Un ejemplo de las banderas de montaje
# <file system>
proc
/dev/sda2
/dev/sda1
/dev/sda5
/dev/sda11
/dev/sda9
/dev/sda6
/dev/sda10
/dev/sda7
/dev/sda8
14/09/11
<mount point>
/proc
/
/boot
/home
/opt
/tmp
/usr
/usr/local
/var
/var/log
<type>
proc
ext3
ext3
ext3
ext3
ext3
ext3
ext3
ext3
ext3
<options>
<dump>
defaults
errors=remount-ro
defaults,nosuid,noexec,nodev
defaults,nosuid,nodev
defaults
defaults,bind,nosuid,noexec,nodev
defaults,ro,nodev
defaults
defaults,nosuid
defaults,nosuid,noexec,nodev
Principios de seguridad en Linux
<pass>
0
0
0
1
0
2
0
2
0
2
0
2
0
2
0
2
0
2
0
2
13
1.1 Protección de archivos
• Permisos de un archivo
•
Los permisos de cada archivo son la protección
mas básica de estos objetos del sistema
operativo; definen quien puede acceder a cada
uno de ellos, y de que forma puede hacerlo.
Cuando hacemos un ls -l podemos ver sus
permisos
junto
al
tipo
de
archivo
correspondiente, en la primera columna de cada
línea:
user:~# ls -l texto.txt
-rw-r--r-14/09/11
1 user electric
512 Aug 3 2011 texto.txt
Principios de seguridad en Linux
14
1.1 Protección de archivos
•
Permisos de un archivo (continuación)
•
Propiedad:
•
•
Qué usuario y grupo posee el control de los
permisos del i-nodo. Se almacenan como dos
valores numéricos, el uid (user id) y gid (group id).
Permisos:
•
14/09/11
Bits individuales que definen el acceso a un Archivo
o directorio. Los permisos para directorio tienen un
sentido diferente a los permisos para Archivos. Más
abajo se explican algunas diferencias.
Principios de seguridad en Linux
15
1.1 Protección de archivos
•
Permisos de un archivo (continuación)
•
Lectura (r):
•
•
•
Archivo: Poder acceder a los contenidos de un
Archivo
Directorio: Poder leer un directorio, ver qué
Archivos contiene
Escritura (w):
•
•
14/09/11
Archivo: Poder modificar o añadir contenido a un
Archivo
Directorio: Poder borrar o mover Archivos en un
directorio
Principios de seguridad en Linux
16
1.1 Protección de archivos
• Permisos
de
(continuación)
•
un
archivo
Ejecución(x):
•
•
14/09/11
Archivo: Poder ejecutar un programa binario
o guión de shell
Directorio: Poder entrar en un directorio
Principios de seguridad en Linux
17
1.1 Protección de archivos
• Permisos
de
(continuación)
un
archivo
•
Adicionalmente existe los “sticky bits” para el SUID,
SGID estos nos conceden permisos especiales.
•
El SUID se muestra como una s en la columna de
ejecución de propietario, y nos permite ejecutar ese
archivo como el propietario del mismo.
•
El SGID aparece en la columna de ejecución del grupo,
y nos permite ejecutar ese archivo como el parte del
grupo al cual pertenece el mismo
ls -lah /usr/bin/passwd
-rwsr-xr-x 1 root root 31K 2011-10-14 10:11 /usr/bin/passwd
14/09/11
Principios de seguridad en Linux
18
1.1 Protección de archivos
• Permisos
de
un
(continuación)
• Atributos de un archivo
archivo
• En el sistema de archivos de Linux
existen ciertos atributos para los
archivos
que
pueden
ayudar
a
incrementar la seguridad de un
sistema. Estos atributos son:
14/09/11
Principios de seguridad en Linux
19
1.1 Protección de archivos
14/09/11
Atributo
Significado
A
Dont update Atime
S
Synchronous
updates
a
Append only
c
Compressed file
i
Immutable file
d
No Dump
s
Secure deletion
u
Undeletable
Principios de seguridad en Linux
20
1.2 Listas de control de
acceso
•
Listas de control de acceso (ACLs Access
Control Lists)
•
Las ACL proveen de un nivel adicional de seguridad a
los archivos extendiendo el clásico esquema de
permisos en Unix
Las ACLs van a permiten asignar permisos a usuarios
o grupos concretos; por ejemplo, se pueden otorgar
ciertos permisos a dos usuarios sobre unos archivos
sin necesidad de incluirlos en el mismo grupo.
No todos los sistemas de archivos las soportan.
Las banderas de montaje se deben cambiar para
poder usarlas.
•
•
•
14/09/11
Principios de seguridad en Linux
21
1.3 Almacenamiento seguro
Cifrado de archivos:
•
•
•
•
•
•
•
•
•
•
14/09/11
GnuPG: Gnu Privacy Guard
TCFS: Transparent Cryptographic File System
Cryptographic File System CFS
TrueCrypt
OpenSSL
EncFS
Cryptoloop
Loop-AES
Crypto-FS
Principios de seguridad en Linux
22
Sistema de Bitácoras (Logs)
14/09/11
Principios de seguridad en Linux
23
2
•
•
•
•
Sistema de Bitácoras
El sistema de bitácoras de Linux permite
registrar, casi todos los eventos que ocurren
en el sistema.
Las bitácoras pueden ser utilizadas para
detectar actividades sospechosas en el
sistema.
Las bitácoras pueden ser almacenadas de
forma local o remota.
Estas por lo general son llevadas por el
demonio syslog
14/09/11
Principios de seguridad en Linux
24
2
•
Sistema de Bitácoras
El demonio syslog (syslogd o syslog-ng)
• El demonio syslogd es el encargado de recolectar los
datos de los eventos del sistema y demás actividades
dependiendo
de
su
archivo
de
configuración
(/etc/syslogd.conf o /etc/syslog-ng/syslog-ng.conf ).
• Los logs creados por el syslog son comúnmente usado
por los IDS-Host
• Los archivos de salida del syslog son en texto plano lo
cual facilita su visualización
• Los archivo de logs se encuentran por lo general en
/var/logs/
• Todas las entradas que presenta syslog tienen como
mínimo una fecha y una hora, el nombre de la maquina
y del programa que generó el evento.
14/09/11
Principios de seguridad en Linux
25
2
•
•
•
•
Sistema de Bitácoras
Existen diferentes tipos de archivos de log dependiendo
de la información. Por ejemplo, existe un archivo de log
del sistema, un archivo de log para los mensajes de
seguridad y un archivo de log para las tareas cron.
Los logs del sistema deben ser rotados periódicamente
para poder disminuir su tamaño
Los logs pueden ser comprimidos
Los parámetros y la cantidad de logs que se guardan en
el sistema dependerán en parte de la capacidad de los
discos duros.
14/09/11
Principios de seguridad en Linux
26
2
•
Sistema de Bitácoras
Archivos de logs mas comunes:
•
14/09/11
/var/log/syslog: es el archivo de log mas
importante del sistema; en el se guardan mensajes
relativos a la seguridad de la maquina, como los
accesos o los intentos de acceso a ciertos servicios.
No obstante, este archivo es escrito por syslogd, por
lo que dependiendo de nuestro archivo de
configuración encontraremos en el archivo una u otra
información.
Principios de seguridad en Linux
27
2 Sistema de Bitácoras
•
Archivos de logs mas comunes:
(continuación)
•
14/09/11
/var/log/messages : En este archivo se
almacenan
datos
’informativos’
de
ciertos
programas, mensajes de baja o media prioridad
destinados mas a informar que a avisar de sucesos
importantes, como información relativa al arranque
de la maquina.
Principios de seguridad en Linux
28
Control de acceso de red
14/09/11
Principios de seguridad en Linux
29
3
Control de acceso de red
•
Inetd
•
En las primeras versiones de Unix, para hacer funcionar un
servicio de red se ejecutaban programas diferentes que
atendían a cada uno. Al crecer el número de servicios que
se necesitaban, se optó por una mejor idea, se empezó a
utilizar un sólo demonio llamado /etc/inetd (El daemon de
Internet). Este programa escuchaba en varios puertos a la
vez y ejecutaba los servidores que se necesitaran en el
momento en que se recibía la petición de conexión.
14/09/11
Principios de seguridad en Linux
30
3
Control de acceso de red
•
Inetd como funciona
•
Cuando un host cliente intenta conectarse a un servicio de
red controlado por inetd, el súper servicio recibe la petición y
verifica por cualquier regla de control de acceso wrappers
TCP.
Si se permite el acceso, inetd verifica que la conexión sea
permitida bajo sus propias reglas para ese servicio y que el
servicio no esté consumiendo más de la cantidad de recursos
o si está rompiendo alguna regla. Luego comienza una
instancia del servicio solicitado y pasa el control de la
conexión al mismo.
Una vez establecida la conexión, inetd no interfiere más con
la comunicación entre el host cliente y el servidor.
•
•
14/09/11
Principios de seguridad en Linux
31
3
Control de acceso de red
•
TCP wrappers
•
El wrappers TCP proporciona control de acceso basado en
host a los servicios de red. El componente más importante
dentro del paquete es la librería /usr/lib/libwrap.a. En
términos generales, un servicio wrappers TCP es uno que
ha sido compilado con la librería libwrap.a.
Cuando un intento de conexión es hecho a un servicio
wrapped TCP, el servicio primero referencia los archivos de
acceso de host (/etc/hosts.allow y /etc/hosts.deny) para
determinar si el cliente tiene permitido conectarse. Luego
utiliza el demonio syslog (syslogd) para escribir el nombre
del host solicitante y el servicio solicitado a /var/log/secure
o /var/log/messages.
•
14/09/11
Principios de seguridad en Linux
32
3
Control de acceso de red
•
TCP wrappers
•
Si a un cliente se le permite conectarse, los TCP wrappers
liberan el control de la conexión al servicio solicitado y no
interfieren más con la comunicación entre el cliente y el
servidor.
Además del control de acceso y registro, los TCP wrappers
pueden activar comandos para interactuar con el cliente
antes de negar o liberar el control de la conexión al servicio
solicitado.
Puesto que los TCP wrappers son una utilidad de gran valor
a las herramientas de seguridad de cualquier administrador
de servidor. Algunas de los demonio que utilizan TCP
wrappers
son /usr/sbin/sshd, /usr/sbin/sendmail, y
/usr/sbin/inetd.
•
•
14/09/11
Principios de seguridad en Linux
33
3
Control de acceso de red
•
TCP wrappers (ejemplo)
•
/etc/hosts.allow
•
•
sshd: 192.168.1.0/255.255.255.0
/etc/hosts.deny
ALL: ALL: SPAWN ( \
echo -e "\n\
TCP Wrappers\: Connection refused\n\
By\: $(uname -n)\n\
Process\: %d (pid %p)\n\
User\: %u\n\
Host\: %c\n\
Date\: $(date)\n\
" | /usr/bin/mail -s "Connection to %d blocked" root) &
14/09/11
Principios de seguridad en Linux
34
Técnicas de autentificación
14/09/11
Principios de seguridad en Linux
35
4 Técnicas de
autentificación
• Método clásico
•
•
14/09/11
Uso del archivo /etc/passwd
El problema una atacante podría tratar de romper la
contraseña, aunque esto es poco probable, el
atacante cifrara una palabra junto a un determinado
salt, y comparar el resultado con la cadena
almacenada en el archivo de claves.
Principios de seguridad en Linux
36
4 Técnicas de
autentificación
• Método clásico
•
14/09/11
De esta forma, un atacante puede leer el archivo
/etc/passwd y mediante un programa “crackeador”
como Crack o John the Ripper cifrará todas las
palabras de un archivo denominado diccionario,
comparando el resultado obtenido en este proceso
con la clave cifrada del archivo de contraseñas; si
ambos coinciden, ya ha obtenido una clave para
acceder al sistema de forma no autorizada
Principios de seguridad en Linux
37
4 Técnicas de
autentificación
• Shadow Password
•
La idea básica de este mecanismo es impedir que los
usuarios sin privilegios puedan leer el archivo donde se
almacenan las claves cifradas. En equipos con
/etc/shadow el archivo /etc/passwd sigue siendo legible
para todos los usuarios, pero a diferencia del mecanismo
tradicional, las claves cifradas no se guardan en él, sino
en el archivo /etc/shadow, que sólo el root puede leer.
14/09/11
Principios de seguridad en Linux
38
4 Técnicas de
autentificación
• Shadow Password
•
El aspecto de /etc/shadow es en cierta forma similar al
de /etc/passwd que ya hemos comentado: existe una
línea por cada usuario del sistema, en la que se
almacena su login y su clave cifrada. Sin embargo, el
resto de campos de este archivo son diferentes;
corresponden a información que permite implementar
otro mecanismo para proteger las claves de los usuarios.
14/09/11
Principios de seguridad en Linux
39
4 Técnicas de
autentificación
• Claves de un solo uso (one time
password)
• Tokens de hardware
• Autentificación por medio de llaves
14/09/11
Principios de seguridad en Linux
40
4 Técnicas de
autentificación
• Sistemas de autentificación de red
centralizadas
•
•
•
•
14/09/11
LDAP
Kerberos
Radius
Nis+
Principios de seguridad en Linux
41
4
Técnicas de autentificación
• Otras métodos de autentificación
• PAM (Pluggable Authentication Module)
•
14/09/11
PAM no es un modelo de autenticación en sí, sino
que se trata de un mecanismo que proporciona una
interfaz entre las aplicaciones de usuario y
diferentes métodos de autenticación, tratando de
esta forma de solucionar uno de los problemas
clásicos de la autenticación de usuarios
Principios de seguridad en Linux
42
4
Técnicas de autentificación
• PAM
•
14/09/11
Mediante PAM podemos comunicar a nuestra
aplicaciones con los métodos de autenticación que
deseemos de una forma transparente, lo que
permite integrar las utilidades de un sistema Unix
clásico (login, ftp, telnet...) con esquemas
diferentes del habitual password: claves de un solo
uso,
biométricos,
tarjetas
inteligentes...
Principios de seguridad en Linux
43
4
Técnicas de autentificación
• PAM
El PAM también se puede utilizar para modificar como
se almacenan las contraseñas y cambiar parámetro tales
como: tamaño mínimo o máximo, reusó de contraseñas,
tiempo de vencimiento, entre otros.
• Por ejemplo
•
password
14/09/11
required
pam_unix.so nullok obscure min=6 max=11 md5
Principios de seguridad en Linux
44
Protección de conexiones de red
14/09/11
Principios de seguridad en Linux
45
5
Protección de conexiones de red
• Para proteger las conexiones de red
Linux puede usar herramientas y
protocolos tales como tales como:
•
•
•
•
•
•
•
•
14/09/11
Ssh, tuneles
Ipsec
CIPE
Vtun
PKI
OpenVPN
FreeS/WAN
Stunnel
Principios de seguridad en Linux
46
Cortafuegos de host
14/09/11
Principios de seguridad en Linux
47
6
Cortafuegos de host
• Utilice políticas por omisión tales
como:
• Para iptables:
• iptables -P INPUT DROP
• iptables -P OUTPUT DROP
• iptables -P FORWARD DROP
• Para iptables en IPv6:
• ip6tables -P INPUT DROP
• ip6tables -P OUTPUT DROP
• ip6tables -P FORWARD DROP
14/09/11
Principios de seguridad en Linux
48
14/09/11
Principios de seguridad en Linux
49
6
Cortafuegos de host
• También puede utilizar paquetes tales
como:
• Firestarter
• Shorewall
• TuxFrw
• KmyFirewall
• knetfilter
14/09/11
Principios de seguridad en Linux
50
6
Cortafuegos de host
• Parámetros del kernel:
•
•
•
•
•
14/09/11
icmp_echo_ignore_all: Ignore todas los peticiones
ICMP ECHO. Habilitando esta opción se previene que el
host responda a peticiones ping.
icmp_echo_ignore_broadcasts:
Ignore
todas
las
peticiones ICMP ECHO con destino broadcast o
muliticast. Esto evita que su red sea utilizada como red
amplificadora de ataques
ip_forward: Hablita o deshabilita el enrutamiento IP
entre interfaces
tcp_syncookies: Protégé de ataques “SYN Attack”.
rp_filter: habilita la protección de que solo se reciben
paquetes con origen que concuerde con la interfaz
Principios de seguridad en Linux
51
6
Cortafuegos de host
•
Parámetros del kernel (Continuación):
•
secure_redirects: Solo acepte paquetes ICMP para los
enrutadores.
log_martians: Escriba en el log los paquetes con
direcciones privadas o imposibles.
accept_source_route: Habilita o deshabilita el recibir
paquetes enrutados por origen
•
•
14/09/11
Principios de seguridad en Linux
52
Sistema de detección de intrusos de Host
IDSH
IDS de target
14/09/11
Principios de seguridad en Linux
53
7
IDS de target
• Tripwire:
•
El software de aseguramiento de integridad de los datos
Tripwire, monitorea la consistencia de archivos y directorios
de sistema críticos identificando todos los cambios hechos a
ellos. Esto lo hace mediante un método automatizado de
verificación que se ejecuta a intervalos regulares. Si
Tripwire detecta que uno de los archivos monitoreados ha
sido cambiado, lo notifica al administrador del sistema vía
email. Debido a que Tripwire puede fácilmente identificar
los archivos que son modificados, agregados o eliminados,
se agiliza el proceso de recuperación luego de una entrada
forzada pues mantiene el número de archivos que deben
ser restaurados a un mínimo.
14/09/11
Principios de seguridad en Linux
54
7
IDS de target
• Tripwire:
•
•
Estas habilidades hacen de Tripwire una herramienta
excelente para los administradores de sistemas que
requieren tanto de facilidades para detección de intrusos
como de control de daños para sus servidores.
Tripwire compara los archivos y directorios con una base de
datos de la ubicación de archivos, las fechas en que han
sido modificados y otros datos. Tripwire genera la base
tomando una instantánea. Esta base de datos contiene
fundamentos — los cuales son instantáneas de archivos y
directorios específicos en momentos particulares. Los
contenidos de la base de datos de fundamentos deberían
ser generados antes de que el sistema esté en riesgo, esto
es antes de que se conecte a la red.
14/09/11
Principios de seguridad en Linux
55
7
•
IDS de target
Tripwire:
•
Después de crear la base de datos de fundamentos, Tripwire compara
la base de datos actual con la base de datos de fundamentos e informa
de cualquier modificación, adición o eliminación.
•
Otras alternativas
•
•
•
•
14/09/11
AIDE (Advanced Intrusion Detection Environment)
samhain (integrity checker y host intrusion
detection system)
sXid
Integrit
Principios de seguridad en Linux
56
7
IDS de target
• AIDE
•
•
•
14/09/11
AIDE (Entorno Avanzado de Detección de
Intrusiones).
Genera una base de datos que puede ser usada
para verificar la integridad de los archivos en el
servidor. Usa expresiones regulares para
determinar que archivos son tomados para
añadirlos a la base de datos.
El archivo de conf. Crea una base de datos a
partir de una serie de reglas y expresiones
regulares
Principios de seguridad en Linux
57
7
IDS de target
• samhain
(integrity checker y host
detection system)
•
intrusion
El es un sistema de detección de intrusos basados en host,
el cual provee:
•
revisión de integridad para sistemas de archivos
•
Monitoreo
•
Detección de rootkits
•
Monitoreo de puertos
•
Cambio de SUID
•
Monitoreo de procesos ocultos
•
Posee capacidades de monitoreo múltiples hosts con
diferentes SO
•
Puede utilizarse para llevar bitácoras centralizadas
14/09/11
y análisis de bitácoras
Principios de seguridad en Linux
58
SELinux
14/09/11
Principios de seguridad en Linux
59
8 SELinux (Security Enhancement Linux)
• El SELinux es una modificación de kernel
que refuerza “mandatory access control”
y por lo tanto permite mayor control
sobre cuales recursos los usuarios y las
aplicaciones tienes privilegios de uso.
SElinux permite mayor granularidad al
control de acceso
14/09/11
Principios de seguridad en Linux
60
8 SELinux (Security Enhancement Linux)
• Permite que los usuarios y aplicaciones
tengan
los
mínimos
privilegios
necesarios para poder ejecutar sus
tareas, esto contribuye a la seguridad
debido a que disminuye la cantidad de
daño que se puede infligir. Por ejemplo
puede negar el cambio de la perisología
de determinados archivos.
14/09/11
Principios de seguridad en Linux
61
Pruebas y monitoreo del sistema
14/09/11
Principios de seguridad en Linux
62
9 Pruebas y monitoreo del sistema
• Las pruebas y monitoreo del sistema
debe centrarse el:
•
•
•
•
14/09/11
Logins y passwords
Sistemas de archivos
Red
Logs del sistema
Principios de seguridad en Linux
63
9 Pruebas y monitoreo del sistema
• Pruebas de fortaleza de passwords
• John the Ripper
• Cracklib
14/09/11
Principios de seguridad en Linux
64
9 Pruebas y monitoreo del sistema
•
Cuentas sin password
• Para ello revisar el archivo /etc/shadow
• Ejemplo
• # awk -F: '$2 =="" {print $1 “ sin password"}'
/etc/shadow
• # pedro sin password
•
Cuentas de superusuario
• Para ello revisar el archivo /etc/pasword
• Ejemplo
• # awk -F: '$3 ==0 {print $1 " es superuser"}'
/etc/passwd
• # root es superuser
14/09/11
Principios de seguridad en Linux
65
9 Pruebas y monitoreo del sistema
• Usuarios que se han entrado al
sistema
• Para esto usar el comando:
• # Lastlog
• También se puede revisar los últimos
acceso de red mediante el comando:
• # tail /var/log/secure
14/09/11
Principios de seguridad en Linux
66
9 Pruebas y monitoreo del sistema
• Sistemas de archivos
• Estandarizar el uso de los IDS de target
tales como los ya mencionados
• Para encontrar archivos con permisos de
escritura para todos:
•
14/09/11
# find / -xdev -perm +o=w ! \( -type d -perm
+o=t \) ! -type l -print
Principios de seguridad en Linux
67
9 Pruebas y monitoreo del sistema
• Sistemas de archivos
•
•
•
Búsqueda de rootkits
Para esto se puede utilizar herramientas tales como
Chkrootkit y Rkhunter
•
14/09/11
Son shells de script que busca en nuestro sistema
binarios modificados por esos root kits usados por los
jackers para comprometer sistemas. Adicionalmente a
esto también se revisan los archivos de arranque que
han sido modificados
Principios de seguridad en Linux
68
9 Pruebas y monitoreo del sistema
• Red
•
Búsqueda de puertos en escucha:
• Usar el netstat
• Usar herramientas tales como nmap
• Ejemplo
• nmap -v -sV localhost
• lsof
14/09/11
Principios de seguridad en Linux
69
9 Pruebas y monitoreo del sistema
• Red
•
Utilizar herramientas observar las conexiones de
red tales como:
• Tcpdump
• Wireshark
•
Revisar periódicamente si alguno de los servicios
de red acepta contraseñas planas:
• Para capturar las mismas podemos usar dsniff
14/09/11
Principios de seguridad en Linux
70
9 Pruebas y monitoreo del sistema
• Red
•
•
Utilice un detector de intruso de red tal como
SNORT
•
Utilice herramientas tales como Nessus para
revisar sus servicios de red en búsqueda de
vulnerabilidades.
14/09/11
Principios de seguridad en Linux
71
9 Pruebas y monitoreo del sistema
• Logs del sistema
•
•
14/09/11
Revise periódicamente el funcionamiento de los
logs del sistema, y el sistema de rotado de los
mismos.
Para facilitar la visualización de los mismo puede
usar herramientas tales como logwatch.
• Ejemplo:
• # logwatch --range all --print | less
Principios de seguridad en Linux
72
Pasos básicos para mantener sus
sistema seguro
14/09/11
Principios de seguridad en Linux
73
10- Pasos básicos para mantener
sus sistema seguro
•
Restinga el acceso local a sistema (Password de bios,
Passwords de lilo-grub, parámetros de arranque, deshabilite las
unidades extraíbles, restringa los accesos por consola)
•
Instale solo los paquetes necesario. (elimine los compiladores,
y lenguajes de programación que no necesite)
•
Monte sus sistema de archivos de forma apropiada.
•
Verifique periódicamente
aplíquelas con prudencia.
•
Desactive todos los servicios innecesarios
•
Asegúrese que todos los servicios que estén instalados se
encuentren actualizados y configurados de forma apropiada
•
Utilice los tcp wrappers
14/09/11
si
existen
Principios de seguridad en Linux
actualizaciones,
y
74
10-Pasos básicos para mantener
sus sistema seguro
•
Limite el numero de conexiones entrantes a sus servicios desde
el exterior, implementando un firewall o con cualquier otro tipo
de políticas.
•
Configure los parámetros del kernel relacionados con la red
•
Infórmese de cómo mantener y asegurar su sistema de forma
apropiada.
•
Realice pruebas de integridad a su sistema de forma periódica
•
Utilice sistemas de detección de intrusos basados en: Red,
host, target
•
Utilice sistemas para la detección de root-kits
•
Analice su sistema de auditoria (logs, bitácoras, etc.) de forma
periódica
14/09/11
Principios de seguridad en Linux
75