Filosofía OpenBSD

Hace un par de días he instalado de nuevo OpenBSD, desde la última vez, echando cuentas (era una 3.6) ha pasado poco más de un año. OpenBSD es un sistema operativo orientado a la seguridad y como tal se pueden apuntar varias recomendaciones para no caer en la tentación de la 'usabilidad'. Los consejos que a continuación se razonan son totalmente subjetivos, es posible que el lector no opine lo mismo. He querido recoger estas ideas para futuros usos, no necesariamente siguen un orden especial.

openbsd001.jpg
  • OpenBSD no es Linux: No son sistemas operativos iguales, aunque ambos se denominan *nix like. Una de sus grandes diferencias estructurales radica en el kernel, pero si nos centramos en la funcionalidad, habitualmente OpenBSD suele orientarse a firewalls y proxys mientras que cualquier distribución Linux, si bien puede cumplir perfectamente este cometido, intenta acomodar el usuario al sistema. En OpenBSD poco importa la comodidad del usuario, su máxima es la seguridad.
  • Priorizando la base: Cambiando el chip e intentando no insecurizar nuestro sistema recien instalado (security by default afirman) hemos de seguir una cierta lógica en la instalación de software a terceros. Todo el código fuente del sistema base de OpenBSD viene auditado por el core team, con lo que sería una buena idea arreglarse con las opciones que ofrece. Por ejemplo si queremos un servidor de correo tenemos Sendmail en la base, aunque no seamos devotos de este MTA, por algo habrán optado por él, ¿no?. Hagamos un esfuerzo.
  • Base, paquetes, ports, código fuente: En caso de requerir software no auditado, personalmente seguiría este orden: Packages > Ports > Código fuente. ¿Por qué?, un buen motivo. Una buena recomendación es no mezclar versiones distintas de sistema y paquetes/ports puesto que al final acabarán incumpliendo dependencias por culpa del versionado y será un caos.
  • Bloquea por defecto, pf: La herramienta más usada sin duda por cualquier fan de OpenBSD es Packet Filter. PF es el sistema que usa OpenBSD para filtrar tráfico TCP/IP, hacer traducción de direcciones de red, normalizar y acondicionar el tráfico, proveer de control de ancho de banda y proirización de paquetes... Existen varias filosofías de uso de este cortafuegos. La más recomendada es el bloqueo por defecto (block in log all) osea, bloquear todo por norma e ir abriendo el tráfico que necesitamos. Otra política de uso menos frecuente es la contraria (pass in log all), permitir todo el tráfico por defecto e ir cerrando según vengan los problemas. Evidente.
  • pkill y pgrep: Como se ha dicho anteriormente, la usabilidad o administrabilidad (¿eso existe?) de este sistema no pretende ser user friendly, así que a la hora de iniciar, reinciar y parar demonios no tenemos ningún script rc.d (ni init.d obviamente) que nos ayude. Como norma general los demonios se arrancan con la máquina leyendo el archivo rc.conf y derivados. Así que tendremos que hacer uso habitual de ps y kill. Haciendo una excepción recientemente se han introducido 2 comandos en la base increiblemente eficientes: pgrep para buscar el pid y pkill para matar procesos por nombre.
  • man afterboot: Una lectura más que recomendable para usuarios que instalan por primera vez (o a 2 releases vista :D) donde tendremos siempre las primeras indicaciones de uso del sistema y recomendaciones básicas para el cambio de chip.
Gracias a la inestimable colaboración de Juanjo, Borja y la amable gente de #openbsd en Freenode. Esta anotación está en constante actualización.
sysadmin openbsd

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.