USE    IMPROVE   EVANGELIZE“ Seguridad en OpenSolaris”     Víctor M. Fernández GómezComunidad Hispana OpenSolaris (OSUG)  ...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE    IMPROVE   EVANGELIZEUn poco de historia ● OpenSolaris nace en Junio de 2005 ● Base de desarrollo de Solaris 11 (Nev...
USE   IMPROVE   EVANGELIZEUn poco de historia - Licencia CDDL                                              5
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE   IMPROVE   EVANGELIZEQue es OpenSolaris? ● No es un sistema operativo, tampoco es un entorno de desarollo ● Proyecto ...
USE   IMPROVE   EVANGELIZE                     8
USE   IMPROVE   EVANGELIZEQue es OpenSolaris? ● Core: consiste en el core del núcleo, las bibliotecas y las órdenes que so...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE    IMPROVE   EVANGELIZEDistribuciones Binarias ● Solaris 10 ● SXCE Build 79 (xVM <- Xen) Solaris Express Community Edi...
USE   IMPROVE   EVANGELIZEDistribuciones Binarias                                               12
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE   IMPROVE   EVANGELIZEMinimización y bastionado ● Minimización: Es la eliminación de los paquetes innecesarios para el...
USE   IMPROVE   EVANGELIZEMinimización y bastionado ●Solaris Security Toolkit (SSE) es una  herramienta de bastionado:   −...
USE   IMPROVE    EVANGELIZEMinimización y bastionado ●   Instalación como paquete # pkgadd SUNWjass-4.2.0.pkg ● Permite co...
USE   IMPROVE   EVANGELIZEMinimización y bastionado ● Plantilla personalizable por dos scripts:    − El script minimize-Su...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE   IMPROVE   EVANGELIZEACLs de sistemas de ficheros ● Por encima de los permisos UNIX (octales o modales) y de los bits...
USE    IMPROVE   EVANGELIZEACLs de sistemas de ficheros ●   Existentes en ZFS (Zettabyte FileSystem) ●   Sintaxis: # chmod...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE    IMPROVE   EVANGELIZEPerfiles, roles y privilegios ● Perfiles y roles forman parte del paquete RBAC (Role-Based Acce...
USE    IMPROVE   EVANGELIZEPerfiles, roles y privilegios ● Sintaxis Role: (No es un parametro, es “casi” un usuario) # vi ...
USE    IMPROVE   EVANGELIZEPerfiles, roles y privilegios ●  Privelege: Parámetro que permite realizar llamadas directas a ...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE    IMPROVE   EVANGELIZEFiltros de red y firewall ● Filtros de red denominados Tcp_Wrappers ● Al margen de los servicio...
USE   IMPROVE   EVANGELIZEFiltros de red y firewall ●   IPFilter es un firewall a nivel de módulos de     kernel (no es un...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE   IMPROVE   EVANGELIZEZonas y contenedores ●   Virtualización de entornos operativos ●   Anfitrión OpenSolaris = zona ...
USE    IMPROVE   EVANGELIZEZonas y contenedores ● Zona no global + gestión de recursos de tipo hardware = Contenedor ● Res...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE    IMPROVE   EVANGELIZEHerramientas de auditoría ● BART (Basic Audit Reporting Tool) captura información acerca de la ...
USE    IMPROVE   EVANGELIZEHerramientas de auditoría # bart compare manifest-before manifest-after /etc/security/exec_attr...
USE     IMPROVE    EVANGELIZEHerramientas de auditoría ●BSM (Basic Security Module) no se encuentra activo por defecto. Es...
USE    IMPROVE   EVANGELIZEHerramientas de auditoría ●Permite enviar la salida de los eventos de la auditoría a través del...
USE         IMPROVE   EVANGELIZEHerramientas de auditoría # auditreduce -u g brunett -m AUE_s u |praudit -x <?xml version=...
USE   IMPROVE   EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad      − ...
USE       IMPROVE   EVANGELIZERecursos e información               -    ¡ Unete ! ●   Portal internacional opensolaris.org...
USE    IMPROVE   EVANGELIZE     ¡ Muchas Gracias !     Víctor M. Fernández GómezComunidad Hispana OpenSolaris (OSUG)      ...
Upcoming SlideShare
Loading in...5
×

Seguridad en Open Solaris

332

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
332
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Seguridad en Open Solaris"

  1. 1. USE IMPROVE EVANGELIZE“ Seguridad en OpenSolaris” Víctor M. Fernández GómezComunidad Hispana OpenSolaris (OSUG) vfernandezg@gmail.com http://vfernandezg.blogspot.com
  2. 2. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimización y bastionado − Perfiles, roles y privilegios − ACLs de sistemas de ficheros − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoría ● Recursos e información 2
  3. 3. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimizacion y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoria ● Recursos e información 3
  4. 4. USE IMPROVE EVANGELIZEUn poco de historia ● OpenSolaris nace en Junio de 2005 ● Base de desarrollo de Solaris 11 (Nevada) ● Licencia CDDL de código abierto aprobada por la OSI (Open Source Initiative) ● Creación del portal opensolaris.org (proyectos: http://www.opensolaris.org/os/projects comunidades: http://www.opensolaris.org/os/communities) ● Creación de grupos de usuarios locales ● La innovación y el conocimiento están en marcha 4
  5. 5. USE IMPROVE EVANGELIZEUn poco de historia - Licencia CDDL 5
  6. 6. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimizacion y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoria ● Recursos e información 6
  7. 7. USE IMPROVE EVANGELIZEQue es OpenSolaris? ● No es un sistema operativo, tampoco es un entorno de desarollo ● Proyecto de código abierto patrocinado por Sun Microsystems ● Esfuerzo por unir a las comunidades de desarrolladores, ya sean de Sun ó de otras organizaciones open source ● Cualquiera puede contribuir en el código de OpenSolaris y mejorar la tecnología del sistema operativo -> OpenGrok 7
  8. 8. USE IMPROVE EVANGELIZE 8
  9. 9. USE IMPROVE EVANGELIZEQue es OpenSolaris? ● Core: consiste en el core del núcleo, las bibliotecas y las órdenes que son distribuidas actualmente en Solaris™ ● Sun distribuye una imagen de lo que será Sun Solaris 11 como binario, denominada Solaris Express ● Desde el 10/07 ya esta disponible la primera release de una distribución completa, cuya versión estable esta planificada para el Q2 del 2008 => INDIANA 9
  10. 10. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimizacion y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoria ● Recursos e información 10
  11. 11. USE IMPROVE EVANGELIZEDistribuciones Binarias ● Solaris 10 ● SXCE Build 79 (xVM <- Xen) Solaris Express Community Edition ● SXDE 1/08 (NetBeans, Java , Sun Studio 12 y DLight) Solaris Express Developer Edition ● Nexenta (Solaris kernel + usuario Ubuntu) ● SchilliX (Live CD) ● Belenix (Live CD) ● marTux (Live DVD – Sparc y x86 / x64) ● Polaris (PowerPC) 11
  12. 12. USE IMPROVE EVANGELIZEDistribuciones Binarias 12
  13. 13. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimización y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoría ● Recursos e información 13
  14. 14. USE IMPROVE EVANGELIZEMinimización y bastionado ● Minimización: Es la eliminación de los paquetes innecesarios para el sistema ● Bastionado: Es la modificación de la configuración del sistema para mejorar su seguridad ● Premisa: Los paquetes actuales presentan una mayor granularidad # pkginfo | grep -i telnet system SUNWtnetc Telnet Command (client) system SUNWtnetd Telnet Server Daemon (Usr) system SUNWtnetr Telnet Server Daemon (Root) 14
  15. 15. USE IMPROVE EVANGELIZEMinimización y bastionado ●Solaris Security Toolkit (SSE) es una herramienta de bastionado: − Permite la configuración de parametros de seguridad del sistema como: • Longitud de contraseñas • Duración de contraseñas • Numero de intentos fallidos • Máscara de permisos UNIX... Y de minimización: − Permite eliminar paquetes en base a plantillas customizables 15
  16. 16. USE IMPROVE EVANGELIZEMinimización y bastionado ● Instalación como paquete # pkgadd SUNWjass-4.2.0.pkg ● Permite configurar parametros finales del sistema en /opt/SUNWjass/Drivers/user.init ● Permite la auditoria del sistema (BSM y BART). Habilitar en hardening.driver y deshabilitar en undoable-hardening.driver ● Ejecución en base a plantilla customizable para la función final del sistema # cd /opt/SUNWjass # ./jass-execute -d install-Sun_ONE-WS.driver 16
  17. 17. USE IMPROVE EVANGELIZEMinimización y bastionado ● Plantilla personalizable por dos scripts: − El script minimize-Sun_ONE-WS.fin elimina los paquetes innecesarios de acuerdo a la versión de sistema − El script install-Sun_ONE-WS.fin extrae e instala el Sun ONE Web Server 6.0SP2 ● La versión 4.2 ya es compatible con Solaris 10, tanto para arquitecturas sparc como para x86 y x64 (Similar en cuanto a funcionalidad a productos como CISscan y Titan) 17
  18. 18. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimización y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoría ● Recursos e información 18
  19. 19. USE IMPROVE EVANGELIZEACLs de sistemas de ficheros ● Por encima de los permisos UNIX (octales o modales) y de los bits especiales (SUID, SGID y Sticky) ● Existentes en UFS (Unix FileSystem) ● Sintaxis: # setfacl -r -m pepe:fichero1:6 fichero1 # getfacl fichero1 ... pepe:fichero1:rw- # ls -ltr fichero1 - rw-r--r--+ 1 root sys 301 Ene 24 18:15 fichero1 19
  20. 20. USE IMPROVE EVANGELIZEACLs de sistemas de ficheros ● Existentes en ZFS (Zettabyte FileSystem) ● Sintaxis: # chmod A +everyone@:delete_child/delete:file_inherit/dir_in herit:deny /mypool/pepe # cp /etc/motd /mypool/pepe # ls -l /mypool/pepe/motd - rw-r--r--+ 1 pepe users 301 Ene 24 18:15 motd # rm /mypool/pepe/motd rm: archive/motd not removed: Permission denied # echo "Hello World" > archive/motd # zfs get aclmode,aclinherit mypool/pepe 20
  21. 21. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimizaciòn y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoría ● Recursos e información 21
  22. 22. USE IMPROVE EVANGELIZEPerfiles, roles y privilegios ● Perfiles y roles forman parte del paquete RBAC (Role-Based Access Control) ● Sintaxis Perfil: # vi /etc/security/prof_attr Format:::Allow users to run format command:: # vi /etc/security/exec_attr Format:suser:cmd:::/usr/sbin/format:uid=0 # usermod -P Format pepe # su – pepe # pfexec /usr/sbin/format 0. c0d0t0 <DEFAULT cyl 2556 alt 2 hd 128 sec 32> 22
  23. 23. USE IMPROVE EVANGELIZEPerfiles, roles y privilegios ● Sintaxis Role: (No es un parametro, es “casi” un usuario) # vi /etc/security/prof_attr Snoop:::Allow users to run snoop command:: # vi /etc/security/exec_attr Snoop:suser:cmd:::/usr/sbin/snoop:uid=0 # roleadd -P Snoop rolesnoop # usermod -R rolesnoop pepe # su – pepe # su rolesnoop # /usr/sbin/snoop 23
  24. 24. USE IMPROVE EVANGELIZEPerfiles, roles y privilegios ● Privelege: Parámetro que permite realizar llamadas directas a funciones del sistema ● Integrado con RBAC (perfiles y roles) ● Integrado con SMF (Service Management Facility) ● Sintaxis: # usermod -K defaultpriv=basic,net_privaddr webservd # svccfg -s apache2 svc:/network/http:apache2> setprop start/privileges = astring:basic,net_privaddr 24
  25. 25. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimización y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoría ● Recursos e información 25
  26. 26. USE IMPROVE EVANGELIZEFiltros de red y firewall ● Filtros de red denominados Tcp_Wrappers ● Al margen de los servicios Criptográficos (Openssl, IPSec y Kerberos) ● Integrados con los servicios controlados por SMF (SSH, TELNET, FTP, RPC...) # svccfg -s rpc/bind setprop config/enable_tcpwrappers=true # svcadm refresh rpc/bind # inetadm -m telnet tcp_wrappers=true # inetadm -l telnet | grep tcp_wrappers tcp_wrappers=TRUE # cat “sshd: 10.73.130.15” >> /etc/hosts.allow 26
  27. 27. USE IMPROVE EVANGELIZEFiltros de red y firewall ● IPFilter es un firewall a nivel de módulos de kernel (no es un proceso) ● Filtrado de tráfico TCP / UDP y traducción de direcciones IP (NAT) y puertos (NAPT) ● Es un servicio propio de SMF # vi /etc/ipf/ipf.conf block in log on pcn0 all pass in quick on pcn0 proto tcp from 172.16.0.0/16 to 172.16.1.100/32 port = 22 # tail -f /var/adm/ipfilter.log pcn0 @0:4 b 10.73.130.68,50315 -> 10.73.130.251,22 PR tcp len 20 44 -S IN 27
  28. 28. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimización y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoría ● Recursos e información 28
  29. 29. USE IMPROVE EVANGELIZEZonas y contenedores ● Virtualización de entornos operativos ● Anfitrión OpenSolaris = zona global ● No globales: − Invitado OpenSolaris = zona sparse − Invitado Linux (CentOS/RHEL) = zona brandz − Acceso directo a los dispositivos bajo configuración − Menores privilegios que la zona global − Alto % sistema montado solo lectura 29
  30. 30. USE IMPROVE EVANGELIZEZonas y contenedores ● Zona no global + gestión de recursos de tipo hardware = Contenedor ● Resource Manager es el gestor de recursos que actúa bajo situaciones de competencia ● Permite establecer limites de consumo para cada recurso (CPU, Memoria, Swap...) ● Sintaxis: # zoneadm list -iv 0 global running / native shared - zonelx installed /opt/zones/zonelx lx shared # zonecfg -z zonelx info 30
  31. 31. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimización y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoría ● Recursos e información 31
  32. 32. USE IMPROVE EVANGELIZEHerramientas de auditoría ● BART (Basic Audit Reporting Tool) captura información acerca de la integridad de un archivo # find /etc/security | bart create -I /etc/security D 512 40755 user::rwx,group::r-x,mask: r-x,other:r-x 46dcb5b6 0 3 ... ● Esa información se almacena en imagenes, las cuales puedes ser comparadas para identificar archivos modificados de forma diferencial entre ellas. 32
  33. 33. USE IMPROVE EVANGELIZEHerramientas de auditoría # bart compare manifest-before manifest-after /etc/security/exec_attr: size control:29654 test:29664 mtime control:46e8a76e test:46efee70 contents control:caf727ccd4de989974c2c81fa7cfdf29 test:071e79250e05b2363415ee5f05d25324 ● En este ejemplo se observa como el fichero /etc/security/exec_attr ha sufrido alguna modificación en cuanto a la definición de su tamaño, su fecha de cambio y en su resumen MD5 (Similar a la funcionalidad de productos como Tripwire y Aide) 33
  34. 34. USE IMPROVE EVANGELIZEHerramientas de auditoría ●BSM (Basic Security Module) no se encuentra activo por defecto. Es necesario habilitarlo (preferiblemente en “Run Level” S) # bsmconv ●Una vez activo es posible consultar y al mismo tiempo, visualizar eventos # auditreduce -u gbrunett -m AUE_su | praudit -s header,104,2,AUE_su,,sec-b1600-0,2007-09-23 15:29:00.248 -04:00 subject,gbrunett,root,gbrunett,gbrunett,gbrunett,0 0sec-b1600-0 text,success for user root return,success,0 zone,global 34
  35. 35. USE IMPROVE EVANGELIZEHerramientas de auditoría ●Permite enviar la salida de los eventos de la auditoría a través del syslog # tail -f /var/adm/messages Sep 23 15:29:00 sec-b1600-0 audit: [ID 702911 audit.notice] su ok session 2868335681 by gbrunett as root:gbrunett in global from sec-b1600-0 text success for user root ● Además podemos trasformar la información de auditoría para que puede ser presentada en ficheros de tipo XML, mediante una sola instrucción 35
  36. 36. USE IMPROVE EVANGELIZEHerramientas de auditoría # auditreduce -u g brunett -m AUE_s u |praudit -x <?xml version=1.0 encoding=UTF-8 ?> <?xml-stylesheet type=text/xslhref=file:///usr/share/lib/xml/style/adt_record.xsl.1 ?> <!DOCTYPE audit PUBLIC -//Sun Microsystems, Inc.//DTD Audit V1//EN file:///usr/share/lib/xml/dtd/adt_record.dtd.1> <audit> <file iso8601="2007-09-23 15:29:00.000 -04:00"></file> <record version="2" event="su" host="sec-b1600-0" iso8601="2007-09-23 15:29:00.248 -04:00"> <subject audit-uid="gbrunett" uid="root" gid="gbrunett" ruid="gbrunett" rgid="gbrunett" pid="692" sid="2868335681" tid="0 0 sec-b1600-0"/> <text>success for user root</text> <return errval="success" retval="0"/> <zone name="global"/> </record> <file iso8601="2007-09-23 15:29:00.000 -04:00"></file> </audit> 36
  37. 37. USE IMPROVE EVANGELIZEAgenda ● Un poco de historia ● Qué es OpenSolaris? ● Distribuciones Binarias ● Seguridad − Minimización y bastionado − ACLs de sistemas de ficheros − Perfiles, roles y privilegios − Filtros de red y firewall − Virtualización con zonas y contenedores − Herramientas de auditoría ● Recursos e información 37
  38. 38. USE IMPROVE EVANGELIZERecursos e información - ¡ Unete ! ● Portal internacional opensolaris.org => (http://opensolaris.org) ● kit de inicio OpenSolaris (KIOPS) => (http://get.opensolaris.org/) ● Comunidad Hispana OpenSolaris => (http://es.opensolaris.org) ● Lista de distribución (http://mail.opensolaris.org/mailman/listinfo/ug-sposug) ● Canal IRC Hispano => (irc://irc.freenode.net/opensolaris-es) ● OpenSolaris Day y mas... 38
  39. 39. USE IMPROVE EVANGELIZE ¡ Muchas Gracias ! Víctor M. Fernández GómezComunidad Hispana OpenSolaris (OSUG) vfernandezg@gmail.com http://vfernandezg.blogspot.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×