diff --git a/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/imgs/cryptsetup.png b/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/imgs/cryptsetup.png new file mode 100644 index 0000000..a24a296 Binary files /dev/null and b/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/imgs/cryptsetup.png differ diff --git a/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.pdf b/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.pdf new file mode 100644 index 0000000..d79a397 Binary files /dev/null and b/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.pdf differ diff --git a/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.tex b/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.tex new file mode 100644 index 0000000..43e373a --- /dev/null +++ b/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.tex @@ -0,0 +1,145 @@ +\documentclass[12pt,a4paper]{article} +\usepackage[spanish]{babel} +\usepackage{hyperref} +\usepackage{graphicx} +\usepackage{subcaption} + +\title{Tema XI Ejercicio III: Cifrado De Una Unidad En Linux} +\author{Nicolás A. Ortega Froysa} + +\begin{document} +\maketitle +\pagebreak +\tableofcontents +\pagebreak + +\section{Introducción} + +El cifrado de dispositivos en GNU/Linux se puede hacer de varias maneras. Es +posible hacerlo a nivel de formato de sistema de archivos, que es un sistema +bastante común con sistemas como ZFS. Quizá lo más popular ahora mismo es usar +el sistema de LUKS. Esto permite formatear una partición de un dispositivo de +forma que esté cifrado, y sobre esta partición cifrada se puede tratar como si +fuese un dispositivo virtual. + +\section{Cifrado con LUKS} + +\noindent +Para este documento vamos a asumir que el dispositivo que queremos cifrar se +encuentra en {\tt /dev/sdX}. Todas las operaciones se deben de hacer como {\em +root}. {\bf Por favor, asegúrese de usar el nombre real de +tu dispositivo.} + +\subsection{Creación del Dispositivo Cifrado} + +Antes de crear el dispositivo cifrado, es necesario hacer una copia de los datos +que se encuentran ya en él. Asegúrese de esto antes de continuar, y de desmontar +el dispositivo. + +A continuación vamos a reescribir todos los bloques de nuestro dispositivo a +cero usando el comando {\tt dd}. De este modo no será posible recuperar ningún +dato que se encontraba antes en él. Esto lo hacemos corriendo el comando +siguiente: + +\begin{verbatim} +$ dd if=/dev/zero of=/dev/sdX bs=1M +\end{verbatim} + +Este proceso puede tardar mucho tiempo dependiendo del tamaño del dispositivo. +Para más seguridad, es también aconsejable usar en vez de {\tt /dev/zero} el +archivo {\tt /dev/urandom}, ya que éste en vez de reescribir con ceros, +reescribirá con caracteres aleatorios. + +Posteriormente ya podemos cifrar el dispositivo en sí. Primero tenemos que crear +la partición que vamos a cifrar. Como el dispositivo entero lo hemos borrado, +vamos a crear una partición que ocupe todo el disco. Esto se hace usando el +comando {\tt fdisk}: + +\begin{verbatim} +$ fdisk /dev/sdX +\end{verbatim} + +Esto nos abrirá la consola de {\tt fdisk}, donde introducimos los siguientes +comandos: + +\begin{enumerate} + \item {\tt n} para crear una partición nueva + \item {\tt p} para designarla como partición primaria + \item {\tt 1} como número de partición (sale por defecto) + \item {\tt Enter} para usar el sector primero que sale por defecto + \item {\tt Enter} para usar el sector final que sale por defecto + \item {\tt w} para guardar los cambios +\end{enumerate} + +Finalmente, ciframos el disco usando el comando {\tt cryptsetup}. Esto se hace +corriendo el comando siguiente: + +\begin{verbatim} +$ cryptsetup luksFormat /dev/sdX +\end{verbatim} + +Este comando nos hará varias preguntas. En primer lugar nos preguntará si +estamos seguros de hacer este procedimiento, ya que se perderán datos de manera +irrecuperable. Como ya hemos hecho la copia, tenemos que meter {\tt YES} (en +mayúsculas). Después, nos pedirá introducir la contraseña que queremos usar, y +verificar ésta. Cuando ya se introduce, tardará un rato en cifrar el +dispositivo. + +\begin{figure}[!htb] + \centering + \includegraphics[width=0.75\linewidth]{imgs/cryptsetup.png} + \caption{Uso de {\tt cryptsetup} en un archivo.} + \label{fig:cryptsetup} +\end{figure} + +Ya se ha creado el dispositivo cifrado, pero aún tenemos que abrirlo y +formatearlo para poder usarlo. + +\subsection{Abrir el Dispositivo Cifrado y Formatear} + +Abrir el dispositivo es también un proceso fácil: tan sólo hay que abrirlo +especificando el nombre que quiere para el dispositivo virtual (en nuestro caso, +{\tt crypt-dev}). + +\begin{verbatim} +$ cryptsetup luksOpen /dev/sdX crypt-dev +\end{verbatim} + +Ya se debería de encontrar nuestro dispositivo virtual en {\tt +/dev/mapper/crypt-dev}. Con esto se puede tratar como con cualquier otro +dispositivo. En nuestro caso, vamos a formatearlo con formato EXT4 de forma +siguiente: + +\begin{verbatim} +$ mkfs.ext4 /dev/mapper/crypt-dev +\end{verbatim} + +Ahora ya sí que podemos acceder a {\tt crypt-dev} como si fuese un dispositivo +cualquiera. Cuando queremos cerrarlo para que no se pueda acceder, simplemente +corremos el comando siguiente {\bf después de haber desmontado el dispositivo +virtual}: + +\begin{verbatim} +$ cryptsetup luksClose crypt-dev +\end{verbatim} + +\section{Conclusión} + +El cifrado con LUKS en GNU/Linux es bastante fácil. Facilita usar el dispositivo +como un dispositivo normal virtual, y también permite cifrar una partición, +dejando a otra sin cifrar. La verdad es que ya he tenido experiencia usando esta +herramienta.\footnote{https://themusicinnoise.net/blog/2017-02-20-parabola-with-lvm-on-luks.html} +\footnote{https://themusicinnoise.net/blog/2017-02-21-encrypted-backup-drive.html} + +\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} diff --git a/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.toc b/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.toc new file mode 100644 index 0000000..9cffafc --- /dev/null +++ b/1/ISO/assignments/t11-ej3-cifrado-de-una-unidad-en-linux/t11-ej3-cifrado-de-una-unidad-en-linux-naortega.toc @@ -0,0 +1,7 @@ +\babel@toc {spanish}{}\relax +\contentsline {section}{\numberline {1}Introducción}{3}{section.1}% +\contentsline {section}{\numberline {2}Cifrado con LUKS}{3}{section.2}% +\contentsline {subsection}{\numberline {2.1}Creación del Dispositivo Cifrado}{3}{subsection.2.1}% +\contentsline {subsection}{\numberline {2.2}Abrir el Dispositivo Cifrado y Formatear}{4}{subsection.2.2}% +\contentsline {section}{\numberline {3}Conclusión}{5}{section.3}% +\contentsline {section}{\numberline {4}Derechos de Autor y Licencia}{6}{section.4}%