\documentclass[12pt,a4paper,titlepage]{article} \usepackage[spanish]{babel} \usepackage{hyperref} \usepackage{graphicx} \usepackage{subcaption} \title{Gestión de un Servidor OpenBSD} \author{Nicolás A. Ortega Froysa} \begin{document} \maketitle \tableofcontents \pagebreak \section{Introducción} En esta práctica vamos a ver cómo es la administración de sistema de un servidor de {\it OpenBSD}. Los objetivos son los siguientes: \begin{itemize} \item Aprender los comandos básicos del sistema. \item Ver en qué se diferencia OpenBSD de un sistema Linux. \item Ver cómo cambia la carga del sistema mientras más servicios vayamos proveyendo. \end{itemize} La instalación en sí no forma parte de este documento, pero generalmente el instalador guiado es bastante intuitivo. Lo que caracteriza a OpenBSD especialmente, respecto a otros sistemas UNIX (y otros sistemas que hemos visto en clase) son dos cosas. Primero, que no es una distribución de Linux, sino de BSD. Son sistemas completamente distintos, aunque siguen (generalmente) una filosofía/arquitectura similar, basándose los dos en UNIX. Segundo, que OpenBSD, entre los otros sistemas BSD, es el más especializado en seguridad, hasta el punto de sacrificar cualquier otro aspecto de la computación a favor siempre de la seguridad. Es por este motivo que deshabilitaron en su momento el {\it hyper-threading} de los procesadores Intel por miedo a {\it Spectre}.\footnotemark \footnotetext{\url{https://www.theregister.com/2018/06/20/openbsd\_disables\_intels\_hyperthreading/}} \section{Configuración Inicial} Generalmente la configuración de OpenBSD ha sido bastante simple, y la mayoría de las opciones están en su valor por defecto. El teclado -- i.e.\ keymap -- usado es el estadounidense, simplemente porque para la informática es la más cómoda. La máquina lleva el {\it hostname} de {\tt puffy-nortega}. En cuanto a los usuarios, existe un usuario {\it root} con contraseña {\tt toor}, y otro usuario {\it nicolas} con contraseña {\tt nicolas}. Durante la instalación se ha configurado que no sea posible acceder a {\it root} por SSH, ya que esto hace que el sistema sea más vulnerable -- más todavía con este tipo de contraseña. El disco se ha particionado con una sola partición para simplificar este proceso de instalación. Se podría instalar con más particiones, repartiendo así los datos y haciendo más fácil el proceso de hacer copias de respaldo (que sean de una sola partición), pero eso no entra dentro de los objetivos de esta práctica. Finalmente, en OpenBSD se dividen los archivos de sistema en diferentes {\it sets}. Éstos se pueden usar para instalar diferentes componentes del sistema, desde el {\it kernel} hasta algunos juegos de consola. Éstos están los {\it sets} instalados: \begin{itemize} \item {\tt bsd}: {\it kernel} de BSD ({\bf obligatorio}). \item {\tt bsd.mp}: {\it kernel} multi-procesador. \item {\tt bsd.rd}: {\it kernel} de uso en memoria. \item {\tt base72.tgz}: sistema base o {\it userland} ({\bf obligatorio}). \item {\tt comp72.tgz}: colección de compiladores. \item {\tt man72.tgz}: páginas de manual. \end{itemize} \begin{figure} \center \includegraphics[width=0.75\textwidth]{imgs/00-initial-load.png} \caption{Carga inicial de OpenBSD.} \label{fig:initial-load} \end{figure} Al inicializar la máquina lleva una carga de sistema extremadamente baja, ya que está corriendo tan sólo lo mínimo (figura \ref{fig:initial-load}). \section{Instalación de Paquetes} Para administrar paquetes en OpenBSD se hace uso de las herramientas de paquete de OpenBSD. Los comandos se pueden reconocer porque llevan la patrón {\tt pkg\_*}. En particular, las que nos interesan son tres: \begin{itemize} \item {\tt pkg\_add}: instalar y actualizar. \item {\tt pkg\_delete}: eliminar/desinstalar. \item {\tt pkg\_info}: buscar información. \end{itemize} Para instalar los paquetes que nos interesan vamos a correr el comando siguiente: \begin{verbatim} root# pkg_add nginx mariadb-server mariadb-client \ rsync \end{verbatim} \section{Configuración de Servicios} \subsection{Nginx} \subsection{MariaDB} \subsection{Servicio RSync} \section{Conclusión} \pagebreak \section{Derechos de Autor y Licencia} \noindent Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa \\ \\ Este documento se distribuye bajo los términos y condiciones de la licencia Creative Commons Attribution No Derivatives 4.0 International. \end{document}