Seguridad

De Departamento de Informatica
Saltar a: navegación, buscar

Contenido

Introducción

En este capítulo referente a seguridad trataremos con tres tópicos, SELinux, Firewall y Contraseñas.

Contenido

SELinux

Contextos

  • Security Enhanced Linux
    • Módulo de Kernel (Implica carga al inicio del S.O.)
    • Identifica Contextos en que un archivo/carpeta se desenvuelve comúnmente y las acciones que un servicio necesita ejecutar, comúnmente.
  • Idea: Cada cosa en su lugar
    • Ej: Web -> /var/www/
    • FTP: /var/ftp/
    • TFTP: /var/lib/tftp/

Librerías y Comandos

  • Paquetes: Setroubleshoot-server, setools-console
  • ls -lZ o ll -Z

[ r o o t@x dx p ˜ ]# l l −Z −rw−−−−−−−. 1 r o o t r o o t u n c o n f i n e d u : o b j e c t r : admin h ome t : s 0 1651 ago 22 0 1: 0 7 anaconda−k s . c f g

  • User -u [1]
  • Role -r
  • Type -t
  • Level s0

Semanage - Seinfo

  • User: semanage login -l | seinfo -u
    • Muestra la relaci´on entre las cuentas del sistema y los “ Usuarios SELinux ”
    • semanage user -l: Muestra todos los posibles “ Usuarios SELinux ”
  • Role: seinfo -r
  • Type: semanage fcontext -l | seinfo -t

Firewall

  • Cortafuegos - Enrutador
    • IPTables: Tables, Chains
    • Firewalld: Zonas4
  • Propósito: Denegar/Permitir Acceso
  • Filosofía: Permitir lo declarado, Denegar lo declarado.

Uso

  • firewall-cmd
    • permanent
    • add-service=http/https/. . .
    • add-port=5432/tcp mid 27007/udp
    • reload
    • list-all
    • get-services

Algo más específico

  • Permitir ping5 solo para pcs en la red 10.10.15.0/24
  • Bloquear ssh para la red 10.10.14.0/24 (labit)
  • firewall-cmd –direct: Bypasear firewalld pasando a estructura IPtables

IPTables

  • Tablas: filter6, mangle, security, nat
  • Cadena/Chain:
    • filter: INPUT, OUTPUT, FORWARD
    • nat: PREROUTING, POSTROUTING, FORWARD
  • Instrucción:
    • A: Append
    • I: Insertar en línea X
    • L: List, -F: Flush, -X: Eliminar cadena
    • p: Protocolo
    • dport: Destination Port
    • j: ACCEPT | REJECT | DROP
  • Ejemplo: -A INPUT -p tcp –dport 5432 -j ACCEPT
  • Ej2: -A INPUT -p


Contraseñas

Hash

  • Función direccional.
  • Modificaciónn mínima del input genera gran variación del output.
  • Funciones de criptografía que generan hash: SHA2 (SHA-512, SHA-256), SHA3 (SHA3-512), Whirpool8,...
Ejemplo Hash

Usando libreria crypto en python3:

python3 -c ’import crypt; print (crypt.crypt("")) ’$6$mKiNt8qGTA.Pz053$x37c2bht4pejfdEJfc69wzxpKIlMYXq8hCCuquBe7SZfI78.SfSGWzD658FisVRgFB7QdS9l.1wGhQOUzGbJ/1
python3 -c ’import crypt; print (crypt.crypt("test")) ’$6$6vFQg3XlXKeB4rKK$GVcxomqdhZPp92UvWzzut8vxY/7CYYbzsBC2yetu9rnt3H8lm9he1mkoG8pk5HZCHl9rrHWOdpQ5ZmhA4GDzZ0

Salt

  • Complemento para la contraseña en texto plano.
  • Mejora la resistencia a ataques de diccionario (Brute Force) y de Rainbow tables9.
  • Un Salt por Password.
Ejemplo Salt

Usando libreria crypto en python3:

python3 -c ’import crypt; print ( crypt.mksalt() ) ’$6$eyP9OD2ea1jpmhxF
python3 -c ’import crypt; print ( crypt.mksalt(crypt.METHOD_SHA512) ) ’$6$e5RpW0zEktESKBO.
SHA512 pertenece a la familia SHA2 y genera un hash de largo 64 bytes (512 bits)11

Contraseña

1. Generar Salt.

2. Anexar Salt a Contraseña en texto plano

3. Encriptar Salt + Contraseña en texto plano

Ejemplo Contraseña

Usando libreria crypto en python3:

’import crypt; print(crypt.crypt("", crypt.mksalt(crypt.METHOD_SHA512)))’$6$N6uFYsnJQmUj53qm$pTM5HQkh3MN83aPxrD4eAVzkF5N2Cl7htedZ0xG/EFKDhdIdfcpTcKhOen944Rzn9ZdP10FUIeP8smNLNLf/t.
’import crypt; print(crypt.crypt("test", crypt.mksalt(crypt.METHOD_SHA512)))’$6$7/GqdsdOXxgYtgUq$3rwH2zPIV77kvLKXBQye4M6p0.rKfm2McGRoF6PDkAJPq/1moY5i3aZFKSminzzR6ZMhmziAtSmd0RAIMPYnv0

Referencias

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas