Selinux para Todos
Selinux para Todos
Selinux para Todos
About Me
Alex Callejas
Technical Account Manager (Red Hat)
dark_axl
/rootzilopochtli
www.rootzilopochtli.com
Que es SELinux?
De donde vino?
Que es SELinux?
Es un ejemplo de Control de Acceso Mandatorio
(MAC: Mandatory Access Control) en Linux
DAC vs MAC
DAC vs MAC
root es omnipotente
DAC vs MAC
DAC vs MAC
Usuarios
Archivos
Directorios
Memoria
Sockets
Puertos tcp/udp
etc...
muy
granulares,
Poltica
targeted - especfica
10
11
Labeling [etiquetado]
Labeling
12
13
user:role:type:level(optional)
14
15
16
17
18
19
20
21
22
23
Type enforcement
24
25
26
ls -Z
id -Z
ps -Z
netstat -Z
27
cp -Z
mkdir -Z
28
29
30
Login
user
port
interface
Module
node
File context
Boolean
Estado Permitivo
dontaudit
31
NO DESHABILITES SELINUX!!!
32
stopdisablingselinux.com
33
34
Etiquetado (SELinux==Labeling)
35
Dile a SELinux!
Etiquetado equivalente
ser
36
/export/home/flisol/.ssh
ssh_home_t
ser
etiquetado
como
Dile a SELinux!!
37
mod_auth_ntlm_winbind is a pretty cool Apache module that will do authentication against Active
Directory with NTLM (http://adldap.sourceforge.net/wiki/doku.php?id=mod_auth_ntlm_winbind).
38
39
40
41
42
Configuraciones
43
Memoria ejecutable
44
Escribir a etc_t/shadow_t
Tips
45
OK
En la vida real
46
47
Revisin de llave
Permisos
Anlisis de logs
Regenerar mecnismo
Anlisis de Seguridad
Revisin de enforcement
Revisin de contextos
[root@serverA ~]# getenforce
Enforcing
[root@serverA ~]# ls -lZd /home/userA/
drwx------. userA userA unconfined_u:object_r:user_home_dir_t:s0 /home/userA/
[root@serverA ~]#
48
Anlisis de Seguridad
Instalar setroubleshoot
Revisando logs
[root@clientB ~]# tail /var/log/messages
Dec 12 16:56:32 clientB kernel: type=1305
audit(1418424992.590:4): audit_pid=952 old=0
auid=4294967295 ses=4294967295
subj=system_u:system_r:auditd_t:s0 res=1
Dec 12 16:58:26 clientB setroubleshoot: SELinux
is preventing /usr/sbin/sshd from search access
on the directory /opt/userB. For complete SELinux
messages. run sealert -l f963dd2e-ab81-4c3a-99ad4d4d1e6736d5
[root@clientB ~]#
49
Ejecutando sealert
[root@clientB ~]# sealert -l f963dd2e-ab81-4c3a-99ad-4d4d1e6736d5
SELinux is preventing /usr/sbin/sshd from search access on the directory
/opt/userB.
50
[root@clientB ~]#
[userA@serverA ~]$ ssh userB@serverB hostname
clientB.example-rh.com
[userA@serverA ~]$
51
Preguntas?
52
Ms informacin
SELinux Guide
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/7-Beta/html/SELinux_Users_and_Administrators_Guide/index.html
53
http://danwalsh.livejournal.com
FLISoL 2015 | ALEX CALLEJAS
54
Brevario Cultural:
Modelo de Servicios de nube
IaaS
PaaS
SaaS
APLICACIN
PLATAFORMA APLICACIN
(JBOSS, PHP, RUBY, ETC)
SISTEMA OPERATIVO
(Fedora)
VIRTUALIZACIN
(RHEV, VMware)
HARDWARE
(x86)
STORAGE
(RHS)
Administrado y controlado
por el usuario (IT, Dev, o
Usuario final)
Administrado por un
proveedor de servicio
55
Incrementa el control
Reduce admin
http://www.openshift.org/
56
Confinando a root
57
58
59