Documentos de Académico
Documentos de Profesional
Documentos de Cultura
http://www.openbsd.org
Arquitecturas soportadas
i386 (SMP)
amd64 (SMP)
vax
mac68k
macppc
alpha
sparc/sparc64
cats
hp300
hppa
luna88k
mvme68k/mvme88k
Caractersticas de OpenBSD
Gestin de bugs
PF+AltQ
Ms caractersticas
Criptografa integrada
spamd integrado con PF
Emulacin de binarios
Seguridad
Estandarizacin
Evolucin antes que revolucin (!)
Limpieza de cdigo
Documentacin
OpenSSH
OpenNTPD
OpenBGPD
OpenCVS
Reimplementacin
vasta mayora
utilidades GNU con
licencia BSD
Gestin bugs
Prevencin de bugs Mitigacin de bugs
W^X
ProPolice
Systrace
Separacin Privilegios
Qu es la pila? (Bsico)
Seccin de memoria
Almacena datos
Desbordamiento de Buffer
ProPolice (contina)
http://www.research.ibm.com/trl/projects/security/ssp/
Escribir o Ejecutar
Se pueden escribir o ejecutar datos en una pgina dada, pero nunca
ambas cosas simultaneamente.
Previene a un atacante escribir cdigo arbitrario en lugares de la
memoria donde pudiera ser ejecutado.
Soportado en plataformas Sparc, Sparc64, Alpha, HPPA, i386
y PowerPC
Soporte nativo en Sparc, Sparc64, Alpha, x86-64
PowerPC y i386 necesitaron hacks espantosos
Systrace
Polticas de acceso para llamadas al sistema
Policy: /bin/ls, Emulation: native
native-munmap: permit
[...]
native-stat: permit
native-fsread: filename match "/usr/*" then permit
native-fsread: filename eq "/tmp" then permit
native-fsread: filename eq "/etc" then deny[enotdir]
native-fchdir: permit
native-fstat: permit
native-fcntl: permit
[...]
native-close: permit
native-write: permit
native-exit: permit
Separacin Privilegios
28740
28743
28744
14036
28740
28743
0
0
0
17:35 ?
17:35 ?
17:35 ?
Seguridad IP
AH Authentication Header
ESP Encapsulated Security Protocol
Compatible con otras implementaciones IPSec, como las disponibles
para Linux y Windows
Cortafuegos
Qu es un cortafuegos?
Qu es un enrutador?
Qu son las colas?
Todas estas labores las ejecuta el subsistema PF+AltQ
Se configura en /etc/pf.conf
Se maneja con el comando pfctl (como root)
Caractersticas de PF
Ejemplo pf.conf
int_if = "fxp0"
ext_if = "ep0"
set block-policy return
set loginterface ep0
scrub in all
block all
pass quick on lo0 all
block drop in quick on $ext_if from $priv_nets to any
block drop out quick on $ext_if from any to $priv_nets
pass in inet proto icmp all icmp-type $icmp_types keep state
pass in on $int_if from $int_if:network to any keep state
pass out on $int_if from any to $int_if:network keep state
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state
Caractersticas Enrutado
Enrutado bsico
Redireccin de Trfico
NAT (Network Address Translation)
Balanceo de carga source-hash, round-robin
Ejemplo Enrutado
nat on $ext_if from $int_if:network to any -> ($ext_if)
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021
nat on $ext_if inet from any to any -> { 192.0.2.5, 192.0.2.10 } source-hash
rdr on $ext_if proto tcp from any to any port 80 -> \
{10.0.0.10, 10.0.0.11, 10.0.0.13}
Caractersticas de Colas
Ejemplo de Colas
altq on fxp0 priq bandwidth 610Kb queue \
{ std_out, ssh_im_out, dns_out, tcp_ack_out }
queue std_out priq(default)
queue ssh_im_out priority 4 priq(red)
queue dns_out priority 5
queue tcp_ack_out priority 6
pass out on fxp0 inet proto tcp from (fxp0) to any flags S/SA \
keep state queue(std_out, tcp_ack_out)
No encuentro HOWTOs!
Sumario
Pros
Libre y Seguro
Excelente documentacin
Preparado para la empresa
Disponible para muchas
plataformas
Contras
http://www.openbsd.org
http://www.openbsd.org
Q&A