Seguridad en Open Solaris

vaceitunofist 1,108 views 39 slides Feb 28, 2013
Slide 1
Slide 1 of 39
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39

About This Presentation

No description available for this slideshow.


Slide Content

USE IMPROVE EVANGELIZE
Víctor M. Fernández Gómez
Comunidad Hispana OpenSolaris (OSUG)
[email protected]
http://vfernandezg.blogspot.com
“ Seguridad en OpenSolaris”

2
USE IMPROVE EVANGELIZE
Agenda
●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

3
USE IMPROVE EVANGELIZE
Agenda
●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

4
USE IMPROVE EVANGELIZE
Un 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

5
USE IMPROVE EVANGELIZE
Un poco de historia - Licencia CDDL

6
USE IMPROVE EVANGELIZE
Agenda
● 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

7
USE IMPROVE EVANGELIZE
Que 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

8
USE IMPROVE EVANGELIZE

9
USE IMPROVE EVANGELIZE
Que 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

10
USE IMPROVE EVANGELIZE
Agenda
● 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

11
USE IMPROVE EVANGELIZE
Distribuciones 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)

12
USE IMPROVE EVANGELIZE
Distribuciones Binarias

13
USE IMPROVE EVANGELIZE
Agenda
● 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

14
USE IMPROVE EVANGELIZE
Minimizació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
systemSUNWtnetcTelnet Command (client)
systemSUNWtnetdTelnet Server Daemon (Usr)
systemSUNWtnetrTelnet Server Daemon (Root)

15
USE IMPROVE EVANGELIZE
Minimizació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

16
USE IMPROVE EVANGELIZE
Minimizació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

17
USE IMPROVE EVANGELIZE
Minimizació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)

18
USE IMPROVE EVANGELIZE
Agenda
● 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

19
USE IMPROVE EVANGELIZE
ACLs 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--+1rootsys301Ene2418:15 fichero1

20
USE IMPROVE EVANGELIZE
ACLs 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--+1pepe users 301Ene 2418:15 motd
# rm /mypool/pepe/motd
rm: archive/motd not removed: Permission denied
# echo "Hello World" > archive/motd
# zfs get aclmode,aclinherit mypool/pepe

21
USE IMPROVE EVANGELIZE
Agenda
● 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

22
USE IMPROVE EVANGELIZE
Perfiles, 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>

23
USE IMPROVE EVANGELIZE
Perfiles, 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

24
USE IMPROVE EVANGELIZE
Perfiles, 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

25
USE IMPROVE EVANGELIZE
Agenda
● 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

26
USE IMPROVE EVANGELIZE
Filtros 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

27
USE IMPROVE EVANGELIZE
Filtros 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

28
USE IMPROVE EVANGELIZE
Agenda
● 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

29
USE IMPROVE EVANGELIZE
Zonas 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

30
USE IMPROVE EVANGELIZE
Zonas 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

31
USE IMPROVE EVANGELIZE
Agenda
● 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

32
USE IMPROVE EVANGELIZE
Herramientas 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.

33
USE IMPROVE EVANGELIZE
Herramientas 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)

34
USE IMPROVE EVANGELIZE
Herramientas 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

35
USE IMPROVE EVANGELIZE
Herramientas 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

36
USE IMPROVE EVANGELIZE
Herramientas de auditoría
# auditreduce -u gbrunett -m AUE_su | praudit -x
<?xml version='1.0' encoding='UTF-8' ?>
<?xml-stylesheet
type='text/xsl'href='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>

37
USE IMPROVE EVANGELIZE
Agenda
● 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

38
USE IMPROVE EVANGELIZE
Recursos 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...

USE IMPROVE EVANGELIZE
Víctor M. Fernández Gómez
Comunidad Hispana OpenSolaris (OSUG)
[email protected]
http://vfernandezg.blogspot.com
¡ Muchas Gracias !
Tags