PDF de programación - Seguridad básica en servidores Linux

Imágen de pdf Seguridad básica en servidores Linux

Seguridad básica en servidores Linuxgráfica de visualizaciones

Actualizado el 22 de Junio del 2017 (Publicado el 15 de Enero del 2017)
912 visualizaciones desde el 15 de Enero del 2017
109,3 KB
6 paginas
Creado hace 13a (05/07/2010)
Seguridad básica en servidores Linux

Jul 5 2010 in Artículos por RevistaLiNUX.net
Por Adolfo Lozano Tello, Marcos Blanco Galán

Por su naturaleza, GNU/Linux es considerado un sistema operativo robusto al
incorporar características comunes de UNIX relacionadas con la seguridad. A
pesar de ello, el administrador de sistemas sigue jugando un papel fundamental
en este aspecto, especialmente, cuando hay involucrados servidores que ofrecen
servicios a miles de usuarios.

Dependiendo de las fuentes de amenaza, el concepto de seguridad informática
puede dividirse, principalmente, en seguridad física y seguridad lógica. Esta
guía se centra exclusivamente en la seguridad lógica, esto es, en cómo asegurar
el acceso a los recursos de la máquina y garantizar la integridad del sistema
ante posibles ataques. Los puntos que se van a tratar en este documento se
centran en aspectos técnicos muy concretos. Al final de la guía se proporcionan
una serie de referencias para que el lector pueda profundizar en los temas que
estime conveniente.

Permisos de ficheros y atributos
Establecer correctamente los permisos y atributos de los ficheros del sistema es
crucial para mantener su integridad. Regularmente, es conveniente llevar a cabo
auditorías en busca de permisos que no deberían estar autorizados o atributos
inapropiados. Algunos de los aspectos que deberían analizarse para tomar las
medidas oportunas, son los siguientes:
▪ Los bits SETUID o SETGID en ficheros ejecutables permiten que un usuario sin
privilegios de administración pueda llevar a cabo acciones que únicamente podría
realizar el usuario root. En concreto, la activación de estos bits hace que el
eUID sea igual al ownerUID y que el eGID sea igual al ownerGID, respectivamente.
Para localizar estos ficheros ejecutaremos: “find / -perm /6000 -type f -ls”.
Para suprimir los permisos SETUID y SETGID ejecutaremos “chmod -s” sobre los
ficheros deseados. Los códigos de los permisos, en notación octal, del SETUID y
el SETGID son 4000 y 2000, respectivamente.
▪ El llamado sticky bit (también conocido como bit de permanencia, bit pegajoso
o modo t) impide que un fichero se elimine del área de swapping. Esto suele
resultar útil en programas que son ejecutados frecuentemente por varios
usuarios. Aplicado sobre un directorio, permite que únicamente el propietario
del fichero, el propietario del directorio o el administrador puedan renombrar o
eliminar los ficheros contenidos en él. El código de permiso en notación octal
del sticky bit es 1000. Si el archivo posee permiso de ejecución, en la terna
correspondiente al resto de usuarios (other) aparecerá una t en lugar de x; si
no tiene permiso de ejecución se mostrará una T
▪ Los archivos world-writable (modificables por cualquier usuario) también
pueden suponer un importante agujero de seguridad. Algunos de los ficheros
propios de los sistemas basados en UNIX que nunca deberán ser world-writable
son: /etc/passwd, /etc/shadow y /etc/group. Para listar todos los ficheros y
directorios modificables por cualquier usuario ejecutaremos: “find / -perm -o=w
! -type l -ls”. La salida habitual del comando anterior muestra entradas
pertenecientes a los directorios /dev y /tmp.
▪ Un posible indicio de intrusiones en el sistema son los archivos que carecen
de dueño o no pertenecen a ningún grupo. Para localizarlos realizaremos la
siguiente búsqueda: “find / -nouser -o -nogroup”.
▪ Los comandos lsattr y chattr permiten al administrador de sistemas cambiar

características de archivos y directorios, incluyendo la posibilidad de
controlar el borrado y modificación por encima de las funciones que provee
chmod. Los atributos “append-only” y “immutable” son particularmente efectivos a
la hora de prevenir el borrado de archivos de log, o cuando algún tipo de
software malicioso intenta sobrescribir o suplantar ficheros legítimos del
sistema. El comando lsattr se emplea para listar estas propiedades, mientras que
el comando chattr permite añadirlas (+) o eliminarlas (-) con los parámetros i
(immutable) y a (append-only).
▪ Una estrategia adicional para mejorar la seguridad del sistema de ficheros es
utilizar adecuadamente las opciones de mount, bien a través del propio comando
mount desde la línea de comandos, o desde el fichero de configuración
/etc/fstab. Algunas de las opciones más interesantes a la hora de montar una
partición o sistema de ficheros son: nosuid (evita la asignación de los bits
SETUID y SETGID), noexec (evita la ejecución de archivos binarios), nodev (evita
la interpretación de los dispositivos especiales de bloque o de carácter) y ro
(acceso de sólo lectura).

Integridad del sistema de archivos
Antes de habilitar por primera vez el acceso a redes de un servidor, es
recomendable crear una base de datos que contenga un listado donde se
identifiquen de forma inequívoca todos los ficheros existentes actualmente en el
sistema. Un mecanismo de estas características garantizará el control ante
posibles modificaciones no deseadas. En GNU/Linux existen herramientas que
facilitan esta tarea, capaces de monitorizar y alertar al usuario ante cambios
en el sistema de archivos basándose en la comprobación de hashes. Algunos
ejemplos son Tripwire, AIDE o Afick, considerados sistemas IDS (Intrusion
Detection System).

Contraseñas vulnerables
Según algunos estudios (Infosec Europe 2006) , más del 40% de las contraseñas
elegidas por los usuarios no son lo suficientemente fuertes. Se suelen
caracterizar por ser de longitud corta, contener palabras simples, el nombre de
la máquina, nombres de usuario o combinaciones que pueden ser averiguadas
rápidamente con diccionarios.
Todo administrador debería llevar a cabo periódicamente pruebas de
vulnerabilidad sobre las contraseñas almacenadas en el sistema de ficheros. Para
facilitar esta tarea, es posible recurrir a herramientas como John the Ripper o
checkpasswd, capaces de realizar ataques por diccionario a ficheros de claves
como /etc/shadow o /etc/gshadow.
La utilidad passwd, característica de los sistemas operativos tipo UNIX,
proporciona mecanismos para evitar que los usuarios utilicen contraseñas
fácilmente averiguables. En GNU/Linux, passwd está configurado para trabajar con
la API Linux-PAM (Pluggable Authentication Modules). El módulo pam_cracklib.so,
disponible a través del paquete libpam-cracklib, puede ayudar a prevenir estas
contraseñas débiles añadiendo controles a la hora de cambiar la contraseña,
realizando chequeos contra diccionarios o estableciendo periodos de expiración.
La configuración de PAM se define en el directorio /etc/pam.d/. .

Módulos del kernel
Una de las reglas básicas a la hora de configurar el kernel es suprimir todo
aquello que no se vaya a utilizar. Además de obtener un binario más reducido, se
eliminan riesgos innecesarios ante posibles vulnerabilidades en los módulos o
características del kernel. Llevado al extremo, ante una máquina con las
funciones perfectamente definidas y hardware inalterable en el tiempo,
probablemente, lo más recomendable sea utilizar un kernel monolítico. Los
kernels monolíticos aportan mayor seguridad en servidores, ya que se evita la
carga de módulos con funcionalidades que podrían comprometer la integridad del

sistema. La desactivación de módulos cargables, característica intrínseca de los
kernels monolíticos, dificulta la instalación de algunos rootkits. La decisión
de utilizar un kernel monolítico o modular dependerá, por lo tanto, del
propósito y escenario concretos.

El pseudo-sistema de archivos /proc
A través del pseudosistema de archivos /proc también es posible modificar
ciertos parámetros del kernel relacionados con la seguridad en tiempo de
ejecución. El comando sysctl es usado para visualizar y modificar las
configuraciones en /proc/sys/. Ejecutando “sysctl -a” se obtiene la lista con
todas las variables del kernel configurables. La sintaxis para establecer el
valor de un parámetro con sysctl es “sysctl -w kernel.PARÁMETRO=VALOR”. Además
de sysctl, también puede usarse el comando echo sobre el parámetro cuyo valor
deseamos obtener o modificar. A continuación, se enumeran algunas de las
principales opciones del kernel que el administrador debería tener presente.
▪ /proc/sys/proc/sys/net/ipv4/ip_forward: La activación de esta opción hace que
un paquete con dirección IP de destino diferente de la local sea reenviado
utilizando la tabla de enrutamiento. Esta opción debería desactivarse si tan
sólo existe una conexión de red. Es recomendable activar o desactivar ip_forward
antes que cualquier otra opción, ya que el evento también activa o desactiva
otras opciones del kernel de forma automática.
▪ /proc/sys/net/ipv4/icmp_echo_ignore_all: Ignora las peticiones de ECHO ICMP.
Activando esta opción se evita que el servidor responda a las peticiones de
ping.
▪ /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts: Ignora las peticiones de ECHO
ICMP con direcciones de destino broadcast (difusión) y multicast
(multidifusión). Se trata de un mecanismo de prevención ante posibles intentos
de utilizar la red local como arma en posibles ataques de denegación de servicio
(Dennial of Service, DoS) mediante packet flooding a otros hosts.
▪ /proc/sys/net/ipv4/tcp_syncookies: Protección contra SYN packet flooding, uno
de los ataques DoS más conocidos. SYN flooding aprovecha la mala implementación
del protocolo TCP basándose en un “saludo” incompleto entre el equipo atacante y
la víctima.
▪ /proc/sys/net/ipv4/conf/all/rp_filter: Prevención ante posibles ataques IP
spoofing dentro de la red interna. Básicamente, consiste en ignorar los paquetes
entrantes cuya dirección de origen no aparece en la tabla de routing de la
interfaz de red receptora, es decir, tiene lugar una verificación de la
dirección del origen.
▪ /proc/sys/net/ipv4/conf/all/secure_redirects: Únicamente se aceptarán mensajes
de redirección ICMP para las puertas de enlace (gateways) de
  • Links de descarga
http://lwp-l.com/pdf1863

Comentarios de: Seguridad básica en servidores Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad