<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux Sin Humo (Publicaciones sobre cifrado)</title><link>https://sergiobelkin.com/</link><description></description><atom:link href="https://sergiobelkin.com/categories/cifrado.xml" rel="self" type="application/rss+xml"></atom:link><language>es</language><copyright>Contents © 2025 &lt;a href="mailto:sebelk@gmail.com"&gt;sebelk&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-NC-SA"
style="border-width:0; margin-bottom:12px;"
src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png"&gt;&lt;/a&gt;
</copyright><lastBuildDate>Thu, 30 Oct 2025 22:19:36 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Tutorial de fscrypt para cifrar archivos</title><link>https://sergiobelkin.com/posts/tutorial-de-fscrypt-para-cifrar-archivos/</link><dc:creator>sebelk</dc:creator><description>&lt;h4 id="conocimientos-previos-necesarios"&gt;Conocimientos previos necesarios:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Instalación de Linux.&lt;/li&gt;
&lt;li&gt;Uso habitual de línea de comandos en Linux (incluyendo entre otros manejo de propietarios y permisos).&lt;/li&gt;
&lt;li&gt;Instalación y desinstalación de paquetes.&lt;/li&gt;
&lt;li&gt;Montaje de sistemas de archivos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="image-reference" href="https://sergiobelkin.com/images/alex-motoc-Y83nsKGkxSw-unsplash.jpg"&gt;&lt;img src="https://sergiobelkin.com/images/alex-motoc-Y83nsKGkxSw-unsplash.thumbnail.jpg" alt="Cifrado de archivos"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;El sistema ext4 proporciona cifrado de bloques de datos y nombres de archivos. Veremos a continuación de algunas reglas generales para cifrar el directorio /home de un usuario.&lt;/p&gt;
&lt;p&gt;En el ejemplo en cuestión estoy usando Debian Buster (te recomiendo primero instalarla en una máquina virtual para hacer pruebas), de modo que los pasos a seguir pueden ser un poco diferentes en otras distribuciones, pero los principios generales se mantienen.&lt;/p&gt;
&lt;p&gt;¡Manos a la obra!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Los comandos precedidos por &lt;code&gt;sudo&lt;/code&gt; indican que necesitan privilegios de root. Si querés usar sudo, sencillamente ejecutá como root:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;usermod -aG sudo sergio&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Obviamente aquí y en cada caso reemplazalo con tu usuario común.&lt;/p&gt;
&lt;h3 id="preparacion-del-sistema-de-archivos"&gt;Preparación del sistema de archivos&lt;/h3&gt;
&lt;p&gt;Algo que tendremos que hacer es habilitar la funcionalidad de cifrado, suponiendo que la partición de cifrado es /dev/sda1, haríamos:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo tune2fs -O encrypt /dev/sda1&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="descarga-y-compilacion"&gt;Descarga y compilación&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt build-dep fscrypt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;do apt -y install git &amp;amp;&amp;amp; go get -d github.com/google/fscrypt/...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd go/src/github.com/google/fscrypt/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;make &amp;amp;&amp;amp; sudo make install PREFIX=/usr&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="configuracion"&gt;Configuración&lt;/h3&gt;
&lt;p&gt;Tenemos que actualizar la configuración de PAM, que servirán para desbloquear directorios al loguearse, bloquear al desloguearse, y cambiar contraseñas de acceso a los recursos cifrados.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo pam-auth-update&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="image-reference" href="https://sergiobelkin.com/images/pam-auth-update-fscrypt.png"&gt;&lt;img src="https://sergiobelkin.com/images/pam-auth-update-fscrypt.thumbnail.png" alt="pam-auth-update"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Para configurar globalmente:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo fscrypt setup&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;No se puede cifrar un directorio que ya tiene contenido, de manera que hay que crear un nuevo directorio, y luego migrar el contenido del directorio del usuario:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo mkdir /home/sergio_temp &amp;amp;&amp;amp; sudo chown sergio.sergio /home/sergio_temp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fscrypt encrypt /home/sergio_temp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Allí podríamos elegir entre la contraseña del usuario, una passphrase o bien un archivo con clave 256-bit. En nuestro elegimos la primera opción, siempre teniendo en cuenta lo importante que es contar con una buena contraseña.&lt;/p&gt;
&lt;p&gt;Luego chequeamos que esté todo en orden:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fscrypt status /home/sergio_temp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ahora sí, migramos el contenido:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cp -av -T /home/sergio /home/sergio_temp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Bloqueamos el contenido del directorio&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo fscrypt lock /home/sergio_temp --user=/home/sergio_temp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Probamos desbloquear&lt;/p&gt;
&lt;p&gt;&lt;code&gt;fscrypt unlock /home/sergio_temp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Si funciona podemos reemplazarlo por el nuevo directorio:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo su -&lt;/code&gt;
&lt;code&gt;mv /home/sergio{,_para-borrar}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mv /home/sergio{_temp,}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Luego al reiniciar podemos probar:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;reboot&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;¿Cómo se ven los archivos cifrados?&lt;/p&gt;
&lt;p&gt;&lt;a class="image-reference" href="https://sergiobelkin.com/images/fscrypt-access.png"&gt;&lt;img src="https://sergiobelkin.com/images/fscrypt-access.thumbnail.png" alt=""&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h4 id="mas-recursos"&gt;Más Recursos&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/google/fscrypt"&gt;fscrypt: Go tool for managing Linux filesystem encryption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.archlinux.org/index.php/Fscrypt"&gt;fscrypt - ArchWiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.kernel.org/doc/html/v4.18/filesystems/fscrypt.html"&gt;Filesystem-level encryption (fscrypt) — The Linux Kernel documentation&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;</description><category>cifrado</category><category>ext4</category><category>seguridad</category><guid>https://sergiobelkin.com/posts/tutorial-de-fscrypt-para-cifrar-archivos/</guid><pubDate>Sat, 24 Apr 2021 13:30:29 GMT</pubDate></item></channel></rss>