Gentoo Hardened/es

Aus i2pwiki.mk16.de
Zur Navigation springen Zur Suche springen

Antecedentes[Bearbeiten]

Larry, la vaca

Mira más arriba, y conoce a Larry la vaca, ¡aunque sea sólo por un momento! (N.T. en el artículo original, sobre este texto, hay una imagen de una vaca, la vaca de gentoo) La verdadera razón por la que Larry es mostrada es debido al hecho de que, nuestro héroe Larry, representa, la cara del equipo de desarrolladores de Gentoo. Los desarrolladores de Gentoo son individuos realmente impresionantes, ¡y recomiendo encarecidamente que leas sus entrevistas publicadas y sus blogs! ¿Quién sabe?: ¡Quizás aprendas 'algo', o mucho!

Me encanta gentoo hardened (GH a partir de ahora) por su verdadera seguridad y la tremenda flexibilidad operacional que ofrece. Mi opinión sobre gentoo hardened es que es un sistema operativo muy seguro que construimos nosotros mismos con el código fuente. GH es un sistema operativo que proporciona las herramientas necesarias para obtener todo lo que puedas necesitar, y, aún más importante, no contiene ningún paquete que no necesites o con software extra que te moleste.


La importancia de tener una instalación cifrada de GH[Bearbeiten]

Esto es para todos, escuchad bien esto: Si eres nuevo o inexperto con Gentoo, recomiendo encarecidamente GH, especialmente a aquellos que deseen aprender algunos nuevos y potentes trucos en linux, y a TODOS aquellos interesados en aprender a asegurar/separar bien la vida real de la vida en sus computadoras.

Aunque, a pesar de todas las virtudes de GH, Actualmente requiere de un método seguro bajo el cual instalar y arrancar el sistema operativo. En windows podemos usar TrueCrypt para proporcionar un cifrado completo del disco (FDE) en un disco duro dedicado, o crear un contenedor para almacenar los archivos que necesitamos ocultar de ojos fisgones.

En las instalaciones de debian y sistemas derivados, el proceso para obtener LUKS y dm-crypt puede seleccionarse en la tercera pantalla de dicha instalación, además de la opción adicional para cifrar la partición /home separadamente, usando ecryptfs, que es muy segura y potente. Una vez que las opciones de cifrado han sido seleccionadas, el proceso de cifrado es invisible y sin problemas, controlado por el sistema operativo sin la necesidad de responder a más preguntas por parte del usuario. No existe una opción parecida durante la instalación de Gentoo, ni siquiera el proceso de cifrado es discutido (todavía) en el manual de Gentoo para amd64.

De hecho, no hay ni una sola referencia dentro de los capítulos de manual de instalación de Gentoo para amd64 sobre una instalación cifrada, ni tampoco ninguna referencia a cómo instalar GH.

Soy un gran creyente de la mejora continuada. ¡Por lo cual no os preocupéis, estoy trabajando en arreglar estos 'defectos' como parte de la comunidad de Gentoo! ;-)

Esta guía supera estas deficiencias mostrándote un solución tras ahondar en temas importantes y críticos, y poniéndolos a tu alcance

En Linux, la mejor opción y más probada, es usar LUKS con dm-crypt para cifrar el sistema operativo, nuestros datos invaluables y nuestros archivos swap. A través de esta guía usaremos LUKS y dm-crypt para salvarnos de los chicos malos, y para salvarnos, especialmente, de los chicos súper malos que proclaman ser chicos buenos.

Estos tipos malos excepcionalmente poderosos son normalmente fáciles de identificar. Si no llevan un arma o una credencial, siempre llevan al menos un equipo SWAT preparado para actuar a su petición 24x7. Desde mi punto de vista, permitir a los chicos malos simplemente tener acceso a nuestros invaluables datos es inaceptable. Siguiendo estos pasos de instalación harás imposible, permanentemente, que los malos, los buenos y, de hecho, a cualquiera, tener acceso a tus datos'

Para ser claro: Si tu cacharro es robado, lo pierdes, o tu ex enfadado lo coge mientras duermes, y se lo da a su abogado del divorcio, o a la policía, para buscar datos para sacarte el dinero o para meterte en la cárcel por el contenido de tu disco duro, ¡no te preocupes amigo!

Si algo parecido te ocurre, siéntate, relájate, y deséales suerte. Por ellos me refiero a ladrones, ex-novio, gobierno, polis, mafia financiera o la peor escoria sin corazón, sanguijuelas sin alma, que consiguen fortunas maximizando el dolor de la gente en el punto más vulnerable de su vida, la industria mafiosa de billones de dólares, las cuales operan protegidos por leyes escritas exclusivamente en su favor.

[Falta un párrafo, que no es importante para el manual, sobre lo cabrón que es el sistema de justicia y los abogados y jueces...]

Dicho esto, siéntete libre de indicar a cualquiera que haya obtenido posesión de tu computadora sin tu consentimiento, que se compre varias computadoras cuánticas y vario miles de millones de años de tiempo computacional. Quizás cuando estés muerto hace mucho tiempo puedan romper tu contraseña de LUKS. ¡Ups!, se me olvidó, también tiene que romper tu contraseña de root.

Adoptando buenas prácticas OpSec[Bearbeiten]

Lo que he dicho más arriba sobre la seguridad de LUKS es indudablemente cierto, pero uno de mis amigos en #salt, Pseudonemo, tiene razón cuando apunta que LUKS no puede protegerte de un atacante competente, que use algo como Evil Maid para capturar tu contraseña LUKS sin tu conocimiento o tu presencia física.

Como se ha indicado repetidamente en #salt: Un ego demasiado grande y una mala OpSec termina jodiendo a la gente. ¡Recuerda esto! Sí, chicos y chicas, de hecho, estamos intentando insertar estos 2 puntos en vuestras cabezas Un mal Opsec incluye incluso que te vayas de tu computadora mientras está encendida y sin bloquear, exponiendo tu disco duro, y todos tus preciosos datos a cualquiera con acceso físico. Un buen OpSec requiere que adoptes el hábito de bloquear tu computadora cada vez que te alejas de ella. En el escritorio KDE recomiendo usar control+alt+l para hacer esto. Si vas a alejarte de tu computadora por un largo tiempo usa este comando como ROOT: shutdown -h now

Lee la discusión de Joanna sobre el ataque Evil Maid aquí: http://theinvisiblethings.blogspot.se/2009/10/evil-maid-goes-after-truecrypt.html

Y después puedes leer el siguiente artículo y decidir si el Anti-Evil Maid debe pertenecer a tu caja de herramientas. http://theinvisiblethings.blogspot.se/2011/09/anti-evil-maid.html

En gentoo, después de hacer una búsqueda exhaustiva buscando algún manual, no he sido capaz de encontrar un guía que explique cómo instalar Gentoo con la swap y root cifrados. Cuando encontré una de las múltiples 'recomendaciones' disponibles 'gratis' en Internet, siempre me fallaba el arranque. Y ya que estás leyendo esto 'gratis', yo tampoco estoy exento de crítica, con lo cual asegúrate de decirme cómo ha ido tu instalación de GH cuando termines. Hay varios opciones para contactarme más abajo.

Perdí varias semanas sufriendo un un infernal dolor tratando de arrancar mi computadora cifrada tras seguir algunas de las guía de ahí afuera. La mayoría de la información sobre esta tema es errónea en varios puntos importantes. Además la información está anticuada, o no es aplicable a la arquitectura amd64 o a tu sistema GH.

Dicho esto, no podía averiguar porqué seguía fallando y dando errores fatales al arrancar con mensajes como: /dev/mapper/vg-root no es un dispositivo root válido, o diciendo /dev/mapper/vg/root no es un dispositivo LUKS válido... Este dolor continuó durante días con cientos de reinicios, varias reinstalaciones completas, gracias a un bug serio de udev, el cual complicó innecesariamente mi vida por semanas. Creé esta guía porque nunca he querido que otro ser humano inteligente tenga la necesidad de sufrir como yo lo lo hice durante semanas

Si sigues las instrucciones exactamente, en el mismo orden, terminarás con un sistema gentoo hardened cifrado con el que estabas soñando. Recomiendo que no no te desvíes de la estructura de particiones que he usado en el proceso de instalación, ya que no hay ninguna razón legítima para crear otra estructura de particiones en el HD. Haz que 'KISS' (KISS = mantenlo simple, estúpido) sea tu amigo.


Usamos Superb Boot manager y nos deshacemos de todos los demás cargadores de arranque[Bearbeiten]

Originalmente escribí esta guía usando GRUB", pero mi experiencia tras varios reinicios ha demostrado que GRUB2 no es de fiar, y a veces, imprevisiblemente, falla.

De todas formas, si insistes en usar GRUB2, puedes seguir mi vieja guía de cómo instalar GH con GRUB. Si consigues arrancar GH con GRUB", me gustaría que me escribieses un correo seguro con los archivos /boot/grub.cfg, /etc/fstab y /etc/default/grub.conf . Por supuesto recuerda ocultar antes de enviarlo, toda la información sensible como UUID, PARTUUIDs.

Después de muchas horas buscando un verdadero gurú de Linux, encontré uno que ha publicado más de 20 libros sobre Linux, y ha escrito grandes piezas de código, en los que nos basaremos para este procedimiento. Este gigante de Linux se llama Roderick W. Smith disponible aquí.

Rod es un empleado de Canonical y además es el programador de los proyectos libres que vamos a usar para instalar correctamente y arrancar GH. Estos impresionantes proyectos son GPT fdisk (gdisk) y rEFInd.

Esto es un extracto de Rod extraído de la web:

"En mi experiencia, los cargadores de arranque EFI capaces de arrancar Linux son, del mejor al peor:

1. EL carcagor EFI del kernel EFI (junto con rEFInd o gummiboot)

2. ELILO

3. EL GRUB de fedora parcheado

4. GRUB 2"

¡¡¡rEFInd es el único que me ha funcionado!!!

Aunque esta guía se centra en instalar GH como tu único sistema operativo en el disco, ten en mente que otra ventaja de usar rEFInd es que puedes arrancar varios sistemas operativos nativamente. Como verás, rEFind es fenomenal, flexible y potente.

¡¡Tras lo dicho preparémonos para arrancar!!

Requerimientos

1. Una computadora moderna que soporte UEFI (o EFI). Casi todas las computadoras hechas desde el 2011 tienen la habilidad de arrancar en modo UEFI. La mayoría de las computadoras modernas también puede arrancar en modo BIOS, que usualmente es llamado modo 'Legacy'. Asegúrate de que tienes los 2 modos, UEFI y Legacy, en tu computadora y aprende como cambiar entre ellos. El modo UEFI es NECESARIO para el uso correcto de rEFInd y de SystemRescueCD. El modo Legacy es NECESARIO, al menos en mi Asus, para poder instalar Gentoo amd64 desde el usb o cdrom con install.iso.

2- Un disco duro que hayas decidido dedicar a GH. Si este disco no está vacío, primero copia los datos a algún otro disco o almacenamiento externo. No te preocupes por los datos que puedan quedar en el disco duro, ya que serán sobreescritos en breves.

Nota: En el paso 28, ponemos en 'cero' cada sector de /dev/sda2, borrando efectivamente todos los datos existentes de forma irrecuperable. Aunque, si estás usando un disco del que no te fías, debido a los datos 'ilegales' que pueda contener, o debido a que lo has comprado barato de segunda mano, en este caso es recomendable que sobreescribas a ceros el disco COMPLETO antes de seguir adelante.

Si /dev/sda es tu objetivo verificado para instalar HG, y si una sobreescritura completa te ayudará a dormir mejor, haz:

dd if=/dev/zero of=/dev/sda

(Nota del traductor, yo recomiendo rellenar el disco con datos aleatorios, no ceros: dd if=/dev/urandom of=/dev/sda)

Nota: Rellenar con ceros,(o con datos aleatorios), cada sector de dev/sda puede tardar horas en terminar. ¡NO interrumpas el proceso!

El proceso de escritura puede monitorizarse en otra terminal, como root, con:

pv -tpreb /dev/zero | dd of=/dev/sda bs=128M

Cuando se alcance el final del dispositivo, el proceso de limpieza ha terminado.

Si decides borrar tu disco enteramente, sigue estos pasos, pero, cuando llegues al paso 28, sáltatelo, y sigue con el paso 29.

3. Una conexión a Internet, lo cual es necesaria durante toda la instalación.

4. La copia más reciente de install-amd64-minimal-.iso, la cual puedes descargar desde aquí. Date cuenta que desde el 31 de marzo del 2015, gentoo ha reorganizado completamente la web por primera vez en una década. Por lo que los enlaces de esta guía pueden estar movidos. Lo importante es obtener la versión más reciente del .iso mínimo para amd64. Estos archivos iso son actualizados cada semana, por lo que simplemente descarga el iso con la fecha más reciente.

4a. Si eres paranoico, como yo, descargarás también los archivos *.CONTENTS, *.DIGESTS y *.DIGESTS.asc.

4b. Ahora en tu directoria de descargas ejecuta:

sha512sum -c install-amd64-minimal-ReleaseDate.iso.DIGESTS

y deberías ver que 2 de los 4 archivos están bien, incluyendo la verificación sha512 del .iso descargado.

5. Un pen usb (de 256mb o mayor) en el cual grabaremos el .iso de instalación de Gentoo. Yo uso Unetbootin, el cual está disponible aquí.

Aunque siéntete libre de utilizar cualquier herramienta para grabar el .iso. Graba ahora el install-amd64-minimal-ReleaseDate.iso en un USB

6. Otro pen USB (de 512mb o más grande) en el cual grabarás SystemRescueCD iso. No utilices unetbootin para instalar SystemRescueCD iso., en cambio, sigue estas instrucciones de aquí..

Graba ahora SystemRescueCD en el USB'

Recomiendo el software del proyecto SystemRescueCD. Sus guías de particionamiento, LVM2 y redes son geniales.

7. Una BIOS que te permita de arrancar desde USB y disco duro, incluido desde un disco externo USB, donde puedes querer instalar HD.

8. Esta guía impresa en papel, o alguna información de acceder a esta guía durante la instalación. Date cuenta que NO podrás acceder a i2p durante la instalación.

9. Opcional: Una copia impresa del manual de instalación de gentoo. Aunque el manual estará disponible durante la instalación a través del navegador links.

10. No opcional La habilidad de leer, seguir y ejecutar instrucciones con cuidado, tanto mías como las del manual como las de las páginas de Rod sobre EFY y rEFInd. También debes querer aprender cosas nuevas sobre el sistema operativo que usas.


Proceso de instalación[Bearbeiten]

El tamaño del disco duro es irrelevante, lo que sí es importante es que necesitamos una partición de 500MB para /dev/sda1, que contendrá el código rEFInd, el kernel hardened y el initramfs que generemos. Este espacio es suficientemente grande para almacena más tarde otros kernels, que podemos querer usar para pruebas o como almacenaje de copias de initramfs para distintas versiones del kernel, así como el código UEFI para otros sistemas que quieras instalar.

Si no tienes mucho espacio de sobra, y sólo vas a instalar GH, podrías hacer la partición /de/sda1 de 32MB. El tamaño de sda1 es de tu elección. Pero recuerda que mi recomendación de 500MB te permitirá arrancar otros sistemas además de GH.


Entendiendo la secuencia de arranque de GH

Dejaremos los primeros 500 megas del dispositivo sin cifrar, por que rEFInd necesita ser capaz de leer las configuraciones de arranque. Una vez que rEFInd ha localizado tu kernel hardened y la initramfs, ambos en /dev/sda1, y una vez cargados los 2 archivos y las opciones de la lista de comandos del kernel, rEFInd pasará el control a LUKS a través de initramfs. Una vez que tu contraseña de LUKS ha sido introducida correctamente, LUKS de desbloqueará y descifrará la partición cifrada, entonces LUKS pasará en control a lvm, y entonces lvm y dmcrypt activarán la swap en /dev/mapper/vg-swap y montarán /dev/mapper/vg-root como /root. Finalmente tu kernel asumirá el control, y ejecutará GH con todas las opciones y módulos activados.

Aquí debería ir una imagen con la descripción de las particiones ': [la foto ]

Ya que el manual de instalación de gentoo amd64 es muy bueno, el cual casi he memorizado completamente, sólo discutiré las partes de la instalación que no sean igual que en el manual. Quitando estas excepciones, tienes que seguir y ejecutar TODO el código que incluye el manual de Gentoo. (N.T: Aquí dice privacyhawk que no instalemos gentoo colocados/drogados, y que tenemos que estar muy atentos... etc, no me molesto ni en traducirlo, el lector de este manual sabrá si puede hacerlo colocado o no...)


¡Agarraros los machos, que esto se va a poner serio!


1. Arranca desde el USB con el instalador .iso de gentoo, con el disco donde vas a instalar el sistema ya en el pc o conectado por USB. No pueden haber más discos conectados a tu sistema.

2. Elije la 'Por defecto'/defaut en la pantalla inicial al arranque del Gentoo, elije el tipo de tu teclado, ES, en este caso.

3. Ahora eres root en ttty1. Abre una segunda terminal y accede al manual de Gentoo usando links. Usa ctrl-alt-f2 para abrir esta segunda terminal.

3a. Truquito súper de Privacyhawk: Selecciona con el ratón el link completo http://www.gentoo.org/doc/en/handbook que apunta a Gentoo, entonces pulsa botón derecho, y voilá, se ha copiado automáticamente. Ahora pulsa intro 2 veces y serás llevado a la página principal de Gentoo. Usaremos amd64, luego pulsa página abajo y la flecha de abajo 2 veces, y ya estarás sobre amd64. Pulsa intro y asegúrate de que se ha abierto el manual de amd64.

3b. Truquito super de privacyhawk #2: Si necesitas buscar información durante la instalación, pulsa ctrl-alt-f3 y escribe links www.startpage.com

4. En al manual de Gentoo ves al capítulo 4: Preparando los discos, Lee las secciones 4a y 4b para enterarte bien. Aunque vamos a hacer esto de una forma un poco diferente. Cuando hayas terminado leyendo, pulsa ctrl-alt-f1 para volver a tty1. Usaremos gdisk para crear la estructura del disco. 'NO' utilices otro particionador, y haz: code>gdisk /dev/sda

Nota: tu disco en el que instalaremos puede que sea reconocido como/dev/sdb. No es un problema, si este es el caso, cambia sdb por sda durante todo el proceso de instalación, incluido cuando instalamos rEFINd. Cuando tu instalación esté completa y reninicies será reconocido como /dev/sda.

5. Verifica la identidad del dispositivo /dev/sda ejecutando:

p # muestra las particiones en /dev/sda.
q # sal de gdisk

Ahora ejecuta:

gdisk /dev/sdb

y ahora pulsa:

p # para verificar sdb.  El resto de esta guía supone que el disco de destino es /dev/sda. Si tu disco de destino es sdb, lee la nota 4. Procede con el paso 6, con tu disco de destino montado en gdisk, haciendo lo siguiente:

6. ? # para ver la lista de comandos, ahora haz:

7. o # para crear una partición nueva (GPT), ahora haz:

8. n # para añadir la primera partición, ahora haz:

9. ENTER # para aceptar el sector inicial, el cual es 2048, ahora haz:

10. +500M # para crear nuestra partición de 500 MiB /dev/sda1, ahora haz:

11. t # cambia tu tipo de partición para nuestra /dev/sda1, ahora haz:

12. L # para ver todos los tipos de sistemas de archivos disponibles, pulsa INTRO para ir al final de la lista, ahora haz:

13. ef00 # para crear el sistema de archivos EFI. ¡Es OBLIGATORIO que la particiones EFI sean formateadas a FAT32! No te preocupes, gdisk ya ha configurado la estructura vfat de la partición cuando escribiste ef00. ahora haz:

14. c # para cambiar el nombre de la partición /dev/sda1, ahora haz:

15. efi-boot # el cual es el nombre que queremos, ahora haz:

16. n # para añadir una segunda partición, /dev/sda2, ahora haz:

17. INTRO 2 veces # el primer INTRO acepta el primer sector posible por defecto para /dev/sda2, y el segundo INTRO finaliza /dev/sda2 en el último sector posible de tu disco duro, ¡que es exactamente lo que queremos!, ahora haz:

18. t # cambia el tipo de partición para /dev/sda2, ahora haz:

19. L # para ver todos los posibles tipos de archivos, ahora haz:

20. 8e00 # para crear un sistema de archivos Linux LVM.

21. p # para verificar que el disco duro está así:

  • Puedes ver esta imagen [aquí]

22. Finalmente tenemos que escribir estos cambios en el disco, ahora haz:

v # para que gdisk compruebe que no hay problemas con nuestro disco duro o en las particiones
   

23. Ahora haz:

w # ¡para ESCRIBIR los cambios en el disco! NOTA:  Si gdisk te dice que reinicias inmediatamente para que el kernel pueda leer las nuevas particiones, reinicia inmediatamente tu computadora. Incluso si no te indica que reinicies, YO recomiendo que reinicies en este punto, y después vuelvas al paso 24
    

24. Ahora vamos a la parte seria del formateo, limpiando y cifrando /dev/sda2 de forma segura, estate atento, y haz esto:

cryptsetup -y -v --cipher=aes-xts-plain64 --hash=sha512 --key-size=512 --use-random luksFormat /dev/sda2 NOTA: Yo y mi amigo efkt usamos el cifrado específico aes-xts-plain64 cipher, para que puedas dormir seguro por las noches, seguro en el sentido de que : hemos elejido el cifrado cautelosamente, y hemos elejido este cifrado como el mejor.

Escribe tu contraseña, muy larga, paranoica y segura, dos veces. # Nota: Elije una contraseña que viva en armonía con tu modelo de seguridad, como si tu vida dependiese de ello, porque de hecho, TU VIDA DEPENDE DE ELLA

25. cryptsetup luksOpen /dev/sda2 yomomma # Nota: 'yomomma' puede ser reemplazado con cualquier palabra que te guste. ;-)

26. Puedes confirmar que lo has hecho bien ejecutando:

# ls -l /dev/mapper/yomomma

27. Verifica la estructura correcta del cifrado con:

cryptsetup luksDump /dev/sda2

Deberías ver estas líneas, junto con otras, para tu disco duro:

LUKS header information for /dev/sda2

Version: 1 Cipher name: aes Cipher mode: xts-plain64 Hash spec: sha512 Payload offset: 4096 MK bits: 512

28. Ahora limpia de forma segura /dev/sda2, haz:

dd if=/dev/zero of=/dev/mapper/yomomma

Nota: Rellenar con ceros todo dev/sda2 puede tardar horas... No te saltes este paso, ni interrumpas el proceso (El traductor recomienda rellenar con valores aleatorios, no ceros)

El progreso del comando anterior pude monitorizarse desde otra termina, como root. Ejecuta:

pv -tpreb /dev/zero | dd of=/dev/mapper/yomomma bs=128M

Cuando se alcance el final del dispositivo, el proceso de limpieza está completo, Procede al paso 29.

29. Ahora creamos el 'grupo de volúmenes' (volume group), y los volúmenes lógicos. Haz: pvcreate /dev/mapper/yomomma

vgcreate vg /dev/mapper/yomomma lvcreate -L8G --name swap vg  # Nota:  Me gusta, y uso, 8 GiB de espacio para mi swap. Pero puedes elegir el tamaño que desees.

lvcreate -l 100%FREE --name root vg # este comando crea un segundo volumen lógico, /dev/mapper/vg-root, que ocupará todo el espacio de /dev/sda2.

30. Para crear el sistema de archivos en /dev/sda1 y en nuestro nuevo cifrado /dev/sda2, ahora haz:

mkfs.vfat -F 32 /dev/sda1
mkswap /dev/mapper/vg-swap
mkfs.ext4 /dev/mapper/vg-root 

31. Es hora de montar correctamente este impoluto y limpio 'ChicoMalo' para que podamos instalar el estage3 de GH, por lo que haz: swapon /dev/mapper/vg-swap

mount /dev/mapper/vg-root /mnt/gentoo

mkdir /mnt/gentoo/boot

mount /dev/sda1 /mnt/gentoo/boot

cd /mnt/gentoo

32. Ahora sigue los pasos del capítulo 5 del manual para amd64, pero asegúrate de descargar e instalar el stage 3 hardened.

Para descargar un archivo usa links y sitúa el ratón sobre el archivo que desees y pulsa 'd' en tu teclado. Los archivos que tienes que descargar son:

stage3-amd64-hardened-'release date'.tar.bz2   

stage3-amd64-hardened-'release date'.tar.bz2.CONTENTS stage3-amd64-hardened-'release date'.tar.bz2.DIGESTS stage3-amd64-hardened-'release date'.tar.bz2.DIGESTS.asc Nota: Las nuevas versiones del stage3 hardened también se actualizan cada semana. Siempre selecciona la más reciente.

33. Para verificar la integridad del stage3 hardened, y después de sustituir la fecha correcta en el siguiente comando, ejecuta:

sha512sum -c stage3-amd64-hardened-'release date'.tar.bz2.DIGESTS

y deberías ver que 2 de los 4 archivos comprobados muestran OK, incluyendo la verificación sha512 de tu stage3-amd64-hardened-'fechadedelpaquete'.tar.bz2.

34 Para instalar el stage de GH usando el archivo stage3 del ejemplo anterior, haz:

tar xvjpf stage3-amd64-hardened-'fechadedelpaquete'.tar.bz2

35. Continúa con la sección 5.c del manual. Configurando las opciones de compilación

Importante, si tienes una CPU Intel moderna, como Core i5 o Core i7 (tercera generación o más moderno), pon las variables CFLAGS en tu /etc/portage/make.conf como:

CFLAGS="-march=native -O2 -pipe"

y pon la variable MAKEOPTS como:

MAKEOPTS="-j3"

36. Sigue todas las instrucciones del manual de GH para amd64, y asegúrate de que tu perfil para eselect es:

[11]  hardened/linux/amd64 *

37. Cuando llegues al tema 7.a del manual, Instalando las sources del kernel, NO ejecutes: emerge gentoo-sources En cambio, haz esto:

emerge -av hardened-sources

Nota: Nunca ejecuto emerge sin las opciones '-av'. Estas opciones son para usar --ask y --verbose cuando ejecutes emerge. Es recomendable que te acostumbres a incluirlas siempre. Y que siempre leas todos los mensajes que muestra el comando emerge.

Asegúrate de leer el mensaje de gradm que aparece cuando el comando emerge -av hardened-sources termine, y asegúrate de usar el comando que indica Portage para instalar la última versión de gradm. La instalación de gradm TIENE que ser anterior al arranque de tu kernel hardened

38. Ahora que has llegado al punto 7.b, Configuración manual, configura tu kernel de la forma adecuada según tu hardware, si quieres que tu sistema arranque, las siguientes opciones son OBLIGATORIAS, además de las indicadas como obligatorias en el manual de amd64.

Asegúrate que TODAS las opciones listadas están ACTIVADAS:

Kernel option:
 General setup --->
     [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
 Kernel option:   
 Device Drivers --->
     Generic Driver Options ---> 
     [*] Maintain a devtmpfs filesystem to mount at /dev
 Kernel option:
 Device Drivers --->
     [*] Multiple devices driver support --->
     <*>Device Mapper Support
       <*> Crypt target support
 Kernel option:
 Cryptographic API --->
     <*> XTS support
     -*-AES cipher algorithms 
     

Capturas:

[EFIset]

[NET]

[fhandle] 

También asegúrate de que los drivers para tus tarjetas de red, tanto por cable como wireless, están como MÓDULOS

39. Cuando llegues al punto 2.9: Instalando el kernel, haz:

cp arch/x86_64/boot/bzImage /boot/kernel-3.13.6-hardened-r3   
Nota:  El comando anterior es la forma antigua de copiar el kernel al directorio /boot, y funciona bien. Pero puedes usar también la nueva forma con el scriptmake install, que además de copiar el kernel copia el mapa del sistema a /boot.  ¡Ambas formas funcionan!

Ahora tu kernel ha sido copiado de forma segura a tu directorio /boot.

Súper truco de PrivacyHawk:  Ya que has gastado tanto tiempo en configurar tu kernel hardened, deberías saber que todas las opciones se guardan en /usr/src/linux/.config. Te recomiendo que copies el archivo .config a /boot, usando un nombre único para el archivo que te recuerde los cambios hechos en el kernel. De hecho, yo siempre guardo los 3 ó 4 últimos archivos .config en /boot, en caso de que desee revertir una configuración del kernel antigua.

40. Para nuestras necesidades, ¡la imagen initramfs no es OPCIONAL, es OBLIGATORIA!'

Por lo que tenemos que instalar varios paquetes VITALES antes de instalar genkernel y antes de construir nuestra initramfs, por lo que haz:

emerge -av sys-fs/cryptsetup

NOTA: ¡cryptsetup instalará también lvm2, el cual es absolutamente NECESARIO! NOTA: Otra vez, cada vez que instales un paquete, lee los mensajes de Portage atentamente. ¡¡¡Haz todo lo que te recomiende Portage!!!

Asegúrate que has ejecutado estos 2 'muy importantes' comandos:

rc-update add dmcrypt boot
rc-update add lvm boot

Si utilizas ufed para las USE flags, lo cual recomiendo, haz:

emerge -av ufed

Y haz:

ufed

Ahora en el GUI de ufed busca crypt y ponle un '+' con la barra espaciadora, si no está activado ya. Deberías también ver que cracklib está activada.

Haz lo mismo para cryptsetup y para lvm.

Pulsa INTRO para guardar la configuración y salir de ufed.

Necesitas gentoolkit para tener soporte del comando revdep-rebuild, el cual es necesario para mantener Portage y tu sistema bien actualizado. Por lo que instala gentoolkit con:

emerge -av gentoolkit

También recomiendo que instales links para poder acceder a Internet:

emerge -av links

41. Asegúrate de nuevo de que cryptsetup y lvm aparecen en la sección USE= del archivo /etc/portage/make.conf. Ahora, quizás, te das cuenta de la utilidad de ufed. Simplemente recuerda que he sido yo, PrivacyHawk, el que te ha sugerido su uso. ;-)

nano -w /etc/portage/make.conf

Fíjate que 'crypt' no aparece en /etc/portage/make.conf porque es una USE flag obsoleta para el soporte de LUKS. Esto es por lo que usamos el USE flag cryptsetup. Aunque si lees la descripción del USE flag 'crypt', verás que es útil para muchas tareas de cifrado. Además crypt es necesario para instalar correctamente genkernel.

42 Ahora estamos listos para instalar genkernel y generar la initramfs, por lo que haz:

emerge -av genkernel 

y verás:

[ebuild   R    ] sys-kernel/genkernel-3.4.45.1  USE="crypt cryptsetup (-ibm) (-selinux)" 0 kB  # Obviamente, el número de versión cambiará con el tiempo.

ahora escribe:

y # para instalar genkernel

¡Cuidado!. ¡Nunca añadas la palabra 'all' al final del comando genkernel! Si incluyes la palabra all, instalarás genkernel. Pero no queremos instalar genkernel. Queremos instalar initramfs con soporte obligatorio para LUKS y lvm. Como puedes ver en el siguiente comando.

Si quieres soporte para RAID, añade la opción --mdadm

43. Para construir nuestra initramfs, haz:

genkernel --lvm --luks --mdadm --install initramfs

Memoriza este comando porque lo usarás cada vez que reconfigures y compiles tu kernel, por el resto de tu vida

Deberías ver:

genkernel --lvm --luks --mdadm --install initramfs

  • Gentoo Linux Genkernel; Version 3.4.45.1
  • Running with options: --lvm --luks --mdadm --install initramfs
  • Using genkernel.conf from /etc/genkernel.conf
  • Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..
  • Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..
  • Linux Kernel 3.11.7-hardened-r1 for x86_64...
  • .. with config file /usr/share/genkernel/arch/x86_64/kernel-config
  • busybox: >> Using cache
  • initramfs: >> Initializing...
  • >> Appending base_layout cpio data...
  • >> Appending auxilary cpio data...
  • >> Copying keymaps
  • >> Appending busybox cpio data...
  • >> Appending lvm cpio data...
  • LVM: Adding support (compiling binaries)...
  • lvm: >> Using cache
  • >> Appending mdadm cpio data...
  • MDADM: Skipping inclusion of mdadm.conf
  • MDADM: Adding support (compiling binaries)...
  • MDADM: Usingoot cache
  • >> Appending luks cpio data...
  • Including LUKS support
  • >> Appending modules cpio data...
  • >> Appending blkid cpio data...
  • >> Appending modprobed cpio data...
  • >> Compressing cpio data (.gz)...
  • WARNING... WARNING... WARNING...
  • Additional kernel cmdline arguments that *may* be required to boot properly...
  • add "dolvm" for lvm support
  • add "domdadm" for RAID support
  • With support for several ext* filesystems available, it may be needed to
  • add "rootfstype=ext3" or "rootfstype=ext4" to the list of boot parameters.
  • Do NOT report kernel bugs as genkernel bugs unless your bug
  • is about the default genkernel configuration...
  • Make sure you have the latest ~arch genkernel before reporting bugs.

Este aviso es de importancia crítica, ya arreglaremos este problema, junto con otros, en futuros pasos Ahora tu initrams está almacenada de forma segura junto con nuestro kernel hardened en el directorio /boot en /dev/sda2. Aunque, como ya sabes, nuestro /dev/sda2 está cifrado, ¡lo que significa que los archivos dentro de /dev/sda2 no pueden ser leídos antes del montaje de /dev/sda2! Por lo que copiaremos estos 2 archivos críticos a la partición /dev/sda1 no cifrada en los próximos pasos.

44. Continúa leyendo el manual para amd64 desde la sección 7.d, Módulos del kernel, y sigue todas las instrucciones hasta el final del capítulo 9.

Cuando llegues al capítulo 8, configurando tu /etc/stab, ASEGÚRATE de que tu /etc/fstab es EXACTAMENTE como el mío, sólo cambiando los UUID correctos para /dev/sda1, donde te muestro que debes poner un UUID de 8 caracteres:

[fstab]

Desmontando adecuadamente la instalación de GH y reiniciando en modo UEFI[Bearbeiten]

45. Lee ATENTAMENTE toda la información contenida en este paso 45 ANTES de ejecutar los comandos del paso 46.

Después de alcanzar el capítulo 9 del manual para amd64, estamos listos para arrancar en modo UEFI usando el cd SystemRescueCD. Es importante darse cuenta de mientras uses el install.iso minimal de Gentoo no arrancarás en modo UEFI, incluso aunque tengas un ordenador que soporte UEFI.

De hecho, algunos ordenadores Asus no reconocen el cd install.iso minimal de Gentoo hasta que no deshabilitas UEFI del arranque, y activas el modo Legacy de arranque de la BIOS. Es IMPERATIVO que arranquemos en modo UEFI para instalar y configurar rEFInd correctamente, y finalmente arrancar en modo UEFI para poder arrancar gentoo usando rEFINd

Asegúrate de que cuando reinicies, quitas el install.iso minimal de Gentoo y configuras tu BIOS y desactivas la posibilidad de arrancar en modo Legacy. Y activas el modo UEFI de la bios. Además desactiva el modo seguro. Puedes activar el modo seguro más tarde si siguiendo la guía de Rod, pero por ahora no necesitamos más dolores de cabeza. Ahora guarda la configuración de la BIOS y reinicia en modo UEFI con el cd/usb de SystemRescueCD conectado a tu computadora.

46. Para desmontar adecuadamente y reiniciar, lo mejor es usar el método recomendado en el manual de Gentoo para amd64:

exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -l /mnt/gentoo{/boot,/proc,}
reboot

Terminando la instalación de GH[Bearbeiten]

47. En la pantalla inicial de SystemRescueCD aparece un menú, elije arrancar en modo gráfico de 64 bits.

48. Ahora que has arrancado en modo UEFI, necesitamos abrir la partición /dev/sda2 cifrada, montarlo todo bien, y entonces hacer chroot en GH. Por lo que ejecuta los siguientes comandos en este orden preciso:

gdisk /dev/sda

Usa el comando p de gdisk para verificar que tu disco 'objetivo' es /dev/sda. Es posible que tu dispositivo objetivo sea /dev/sdb. Sigo asumiendo que tu disco con GH es /dev/sda. Pulsa q para salir de gdisk.

Ahora ejecuta:

cryptsetup luksOpen /dev/sda2 yomomma

vgchange -ay

swapon /dev/mapper/vg-swap

mount /dev/mapper/vg-root /mnt/gentoo

mount /dev/sda1 /mnt/gentoo/boot

cd /mnt/gentoo

mount -t proc proc /mnt/gentoo/proc

mount --rbind /sys /mnt/gentoo/sys

mount --rbind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash

source /etc/profile

export PS1="(chroot) $PS1"

49. Ahora que estamos en el chroot, descarguemos un gestor de arranque maravilloso. Haz:

emerge -av efibootmgr

50. Verifica que /dev/sda1 está montado en /boot haciendo:

df -h

Si no lo está, haz:

mount /dev/sda1 /boot

después:

cd /boot

ahora haz:

ls -al # para verificar que estás en tu directorio /boot de /dev/sda1 y no en el /boot de SystemRescueCD.

En este punto de la instalación hay 3 directorios /boot separados, asegurémonos de que los ordenas adecuadamente en tu mente.

El primer directorio /boot está en /dev/sda2, junto con tu kernel hardened y tu initramfs. Tenemos que copiar estos 2 archivos al segundo, y correcto /boot en /dev/sda1 para poder arrancar.

El tercer /boot está en al /boot de SystemRescueCD, pero este no queremos tocarlo ni cambiarlo. Ten cuidado y asegúrate dónde estás. Siempre puedes usar pwd para ver el directorio actual.

Ahora creemos el directorio /boot que necesitamos en /dev/sda1

51. Crea los siguientes directorios.

mkdir -p boot/efi/EFI/refind

mkdir -p boot/efi/EFI/linux

52. Ahora cambia al directorio /boot en /dev/sda2 y copia tu kernel hardened y tu initramfs a:

/boot/efi/EFI/linux

53. Ahora haz:

mount /dev/sda1 /boot/efi
cd /boot/efi

54. Navega hasta la web de Rod aquí.

Descarga, descomprime e instala rEFind como se indica.

55. Ahora haz:

cd /boot/efi/EFI/refind

56. Ejecuta:

nano -w refind.conf

y añade este texto al archivo:

menuentry Gentoo {

       volume efi-boot
       icon EFI/refind/icons/os_gentoo.icns
       loader EFI/linux/kernel-3.13.6-hardened-r3
       initrd EFI/linux/initramfs-genkernel-x86_64-3.13.6-hardened-r3
       options "crypt_root=UUID=ENTER YOUR ACTUAL CRYPTROOT UUID HERE dolvm domdadm root=/dev/mapper/vg-root rootfstype=ext4 resume=/dev/mapper/vg-swap"

}

Asegúrate de que has sustituido en el texto anterior la versión del kernel por la de TU kernel.

Como se ha indicado antes, el comando 'domdadm' es opcional, y debe usarse sólo si quieres soporte para RAID.

Si no sabes cómo obtener el UUID, haz:

ls -l /dev/disk/by-uuid

El UUID obtenido es único, se deberían crear 1 trillón de UUIDs por cada nanosegundo durante 10 mil millones de años para acabar el número de UUIDs.

Sólo nos preocupa la seguridad de los datos almacenados en /dev/sda2, el cual está, por supuesto, enlazado al UUID de sda2. Aunque es imposible que alguien obtenga el UUID de tu sda2 sin tu contraseña de LUKS y sin acceso a root. Por lo que no te preocupes por el UUID, incluso si la NSA roba tu preciado, pero bloqueado, computador.

57. Opcionalmente puedes añadir otros parámetros al archivo refind_linux.conf. Estas opciones no son necesarias para arrancar si ya has configurado bien refind.conf. Si quieres añadir parámetros adicionales usa este ejemplo como guía:

nano -w /boot/efi/EFI/linux/refind_linux.conf

y añade los siguientes textos:

"Boot with standard options" "crypt_root=UUID=ENTER YOUR ACTUAL CRYPTROOT UUID HERE dolvm domdadm root=/dev/mapper/vg-root rootfstype=ext4 resume=/dev/mapper/vg-swap" "Boot to single-user mode" "crypt_root=UUID=ENTER YOUR ACTUAL CRYPTROOT UUID HERE dolvm domdadm root=/dev/mapper/vg-root rootfstype=ext4 resume=/dev/mapper/vg-swap single"

  1. "Boot with minimal options" "ro root=UUID"

58. Ahora haz lo siguiente:

man efibootmgr # LEE ESTE MANUAL!

y ahora haz:

efibootmgr -v

ahora borra lo que no esté relacionado con SystemRescueCD del BootOrder.

haz:

cd /boot/efi/EFI/refind

y ahora:

efibootmgr -c -l \\EFI\\refind\\refind_x64.efi -L rEFInd

Si tu disco objetivo es /dev/sdb, Tienes que hacer esto:

efibootmgr --disk /dev/sdb -c -l \\EFI\\refind\\refind_x64.efi -L rEFInd

Comprueba que rEFInd ahora es Boot 0000, ejecutando:

efibootmgr -v

Un rEFInd bien configurado generará un código de arranque UEFI similar a esto:

efibootmgr -v

BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001 Boot0000* rEFInd HD(1,800,96000,YOUR GENTOO HARDENED TARGET HDD /dev/sdX1 PARTUUID)File(\EFI\refind\refind_x64.efi) Boot0001* UEFI: YOUR HDD MFR YOUR HDD MODEL# ACPI(6 APHLANUMERIC DIGITS0,0)PCI(1d,0)USB(1,0)USB (3,0)HD(1,800,96000,YOUR HDD PARTUUID)AMBO

¡¡Si efibootmgr muestra algo similar a esto, YA PUEDES arrancar tu instalación de GH con rEFInd.!!

59, Pero primero, para desmontar correctamente nuestra instalación de GH haz:

exit

cd

umount -l /mnt/gentoo/dev{/shm,/pts,}

umount -l /mnt/gentoo{/boot,/proc,}

Usa la opción de Lougout de SystemRescueCD y selecciona Restart.

Quita el USB de tu ordenador y usar el modo de arranque UEFI para lanzar rEFInd, el cual iniciará GH.

GRACIAS A DIOX SEÑOR BUDHA, SOY LIBRE AL FIN[Bearbeiten]

ENHORABUENA, Y BIENVENIDO A TU NUEVO SISTEMA GENTOO HARDENED CIFRADO


Trabajo tras la instalación y recomendaciones sobre paquetes[Bearbeiten]

60. Vuelve al manual de amd64, al capítulo 11. Finalizando la instalación de Gentoo y configurando las cuentas de usuario.

61. Como sabes, uso más de 10 sistemas operativos diferentes, así como cada versión de windows, desde XP a 8.1. Los ejecuto todos tras una salida de Whonix con Virtualbox y KVM. Mi punto es que entiendas que conozco los sistemas operativos y todos sus escritorios.

Basado en mi gran experiencia, recomiendo el gran escritorio KDE, pero debes elegir el que desees. Si optas por usar KDE, sigue el excelente manual que puedes ver aquí.

62. Si necesitas acceso de red inalámbrico, sigue este buen manual sobre wpa_supplicant aquí.

63. IMPORTANTE Yo uso el gran paquete para firewall net-firewall/arno-iptables-firewall. Para bloquear a cualquier intruso. Realmente recomiendo que hagas lo mismo'

64. Instala la última versión de IcedTea, y descarga la última versión de i2p desde https://geti2p.net, e instálalo. Si ya habías configurado i2p en otra computadora, ejecuta mkdir /home/USER/.i2p y copia todo el contenido de ~/.i2p en tu nuevo sistema en /home/USER/.i2p. Ahora instala y arranca i2p, así recuperas la configuración de tu antiguo sistema. Ahora instala un cliente de irc de tu gusto y conecta a 127.0.0.1:6668.

Mi guía para optimizar i2p puedes encontrarla aquí.

65. Casi hemos terminado, pero por tu seguridad y privacidad recomiendo que instales Tor.

Empieza por ejecutar:

/etc/init.d/tor start

Ejecuta tor, permanentemente, como un demonio añadiéndolo al inicio del sistema así:

rc-update add tor default

66. Privoxy funciona bien con los kernels hardened recientes. Asegúrate de instalarlo y ejecutarlo como un demonio. Mira esta guía para configurarlo correctamente, en esta guía.

67. Yo considero que el cifrado del correo y de los datos sensibles es OBLIGATORIO. Si estás de acuerdo conmigo, asegúrate de instalar app-crypt/gnupg y kde-base/kgpg.

69. Último súper truco de Privacyhawk: Nunca he tenido problemas en arrancar esta configuración. ¡Pero fallará, si por alguna razón eliminas Gentoo de tu computadora!

He visto ocurrir esto, normalmente en portátiles, donde el disco duro ha sido cambiado por otro disco duro. Cuando reinstalas tu nuevo GH, verás que la BIOS ha perdido la configuración del NVRAM de rEFind. Esto no es difícil de arreglar, y sólo se tardan unos minutos en hacer chroot a GH y reiniciar la configuración NVRAM rEFINd de la BIOS.

La mejor forma que conozco de arreglar este problema, aunque rara, es crear un archivo de texto en el directorio root de SystemRescueCD.

El archivo de texto contiene estos comandos, y soporta el reconocimiento de /dev/sda, /dev/sdb o /dev/sdc:

cryptsetup luksOpen /dev/sda2 yomomma

cryptsetup luksOpen /dev/sdb2 yomomma

cryptsetup luksOpen /dev/sdc2 yomomma

vgchange -ay

swapon /dev/mapper/vg-swap

mount /dev/mapper/vg-root /mnt/gentoo

mount /dev/sda1 /mnt/gentoo/boot

mount /dev/sdb1 /mnt/gentoo/boot

mount /dev/sdc1 /mnt/gentoo/boot

cd /mnt/gentoo

mount -t proc proc /mnt/gentoo/proc

mount --rbind /sys /mnt/gentoo/sys

mount --rbind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash

source /etc/profile

export PS1="(chroot) $PS1"

efibootmgr -v

efibootmgr -c -l \\EFI\\refind\\refind_x64.efi -L rEFInd

efibootmgr --disk /dev/sdb -c -l \\EFI\\refind\\refind_x64.efi -L rEFInd

efibootmgr --disk /dev/sdc -c -l \\EFI\\refind\\refind_x64.efi -L rEFInd

exit

cd

umount -l /mnt/gentoo/dev{/shm,/pts,}

umount -l /mnt/gentoo{/boot,/proc,}

Para hacer uso de este archivo, arranca con SystemRescueCD y con GH instalado en tu computadora.

Inicia en entorno gráfico.

Selecciona SpaceFM del menú de inicio.

En el menú de dispositivo, Devices menu, verifica cual corresponde al disco con GH, normalmente /dev/sda.

Ahora pulsa el botón derecho del ratón sobre SystemRescueCD, normalmente /dev/sdb, y pulsa Abrir, Open.

Pulsa 2 veces en el archivo de texto que has guardado antes para copiarlo.

Ahora puedes copiar y pegar los comandos en tu terminal. Obviamente, sólo los apropiados para tu disco duro.

Asegúrate de desmontar todo bien y reinicia.

Ahora ya deberías poder arrancar directamente desde la partición de GH.

Si deseas ayudar a PrivacyHawk, por su trabajo y a mantener su web puedes encontrar como enviarle BTC en su eepsite [privacyhawk.i2p]

Ten en cuente también ayudar al maravilloso proyecto Gentoo Linux

El copyright es de privacyhawk, pero los traductores nos pasamos por el forro el copyright. :)