GNU/Linux >> Tutoriales Linux >  >> Linux

Kali Linux en la nube de DigitalOcean

DigitalOcean es un proveedor de nube similar a AWS, Microsoft Azure, Google Cloud Platform y muchos otros. Ofrecen instancias, llamadas "gotas", con diferentes distribuciones de Linux como Debian, Ubuntu, FreeBSD, etc. Al igual que AWS, DigitalOcean tiene centros de datos en todo el mundo y, a veces, varios centros de datos en cada país.

Sin embargo, una característica en particular los diferencia de sus competidores. Hace un tiempo, agregaron soporte para imágenes personalizadas, lo que permite a los usuarios importar discos de máquinas virtuales y usarlos como gotas. Esto es perfecto para nosotros, ya que podemos usar nuestra propia versión de Kali Linux en su nube.

Si bien es posible cargar las imágenes virtuales oficiales de Kali Linux, no sería muy eficiente. En su lugar, crearemos una instalación ligera de Kali con lo mínimo para que funcione.

Generar un ISO

De manera predeterminada, los ISO de Kali Linux tienen una GUI instalada y, si bien podemos usarla, queremos minimizar la cantidad de datos que tenemos que cargar en DigitalOcean por razones de las que hablaremos más adelante. Tener una GUI ejecutándose en un sistema sin cabeza también es una pérdida de recursos, por lo que, si bien podemos desinstalarlo o deshabilitarlo, solo generaremos un Kali ISO personalizado sin una GUI ni ninguna otra herramienta instalada. La creación de la ISO requerirá alrededor de 5 GB de espacio en el disco duro, así que asegúrese de tener suficiente si está siguiendo el proceso.

Primero, nos aseguraremos de que el sistema esté actualizado:

apt update
apt -y full-upgrade

En caso de que se haya instalado un kernel nuevo, reiniciemos el sistema antes de continuar y luego procedamos a iniciar la compilación.

apt -y install git live-build cdebootstrap devscripts
git clone https://gitlab.com/kalilinux/build-scripts/live-build-config.git
cd live-build-config
./build.sh --variant minimal --verbose

Llevará un tiempo compilar la ISO, ya que necesita descargar muchos paquetes y ensamblarlos. Mientras tanto, disfruta de una buena taza de café. O té.

La opción '–verbose' mostrará el registro de compilación en la pantalla. Sin embargo, se puede eliminar y, en su lugar, se puede seguir el progreso en build.log archivo:

tail -f build.log

Una vez que nuestro aviso regresa a la terminal donde se lanzó 'build.sh', el ISO está listo y se puede encontrar en las imágenes/ directorio.

Crear la Máquina Virtual

Con nuestra ISO construida, ahora podemos comenzar a construir nuestra máquina virtual. Cree una nueva máquina virtual configurando el sistema operativo a la última versión de Debian de 64 bits y asignando un disco duro de 20 GB. Si es necesario, la configuración detallada se explica en el sitio web de Kali Training. Es importante almacenar el disco virtual como un único archivo que se asigna dinámicamente. El resto, como la cantidad de CPU y RAM, no importará porque solo el archivo del disco se cargará en DigitalOcean.

El tamaño del disco es importante ya que la facturación se basa en el tamaño del disco para imágenes personalizadas. También afectará la elección de la instancia que podemos crear. Digamos que se crea un disco duro de 40 GB, no se podrá crear una instancia al nivel de $5/mes porque el tamaño máximo del disco duro es de 25 GB. En ese caso nos veríamos obligados a utilizar la opción de $10/mes para instancias con discos de 50 GB. No se preocupe, aunque el disco es de 20 GB, se expandirá según el plan de gotas elegido.

Durante la instalación, seleccione el particionado manual y configúrelo como se muestra a continuación, con todos los archivos en una partición y sin archivo de intercambio.

Actualizar el Sistema

Cuando se completa la instalación y después de reiniciar, iniciamos sesión en la consola y actualizamos el sistema:

apt update
apt -y full-upgrade

Si no ve que pasa por un espejo durante la "actualización de apt", es posible que haya olvidado accidentalmente agregar un espejo de red durante la instalación. Siga las instrucciones en el sitio de Kali-Docs para solucionarlo y vuelva a ejecutar ambos comandos.

Instalar paquetes necesarios

Para que DigitalOcean configure el sistema por nosotros, debemos instalar cloud-init paquete:

apt -y install cloud-init
echo 'datasource_list: [ ConfigDrive, DigitalOcean, NoCloud, None ]' > /etc/cloud/cloud.cfg.d/99_digitalocean.cfg
systemctl enable cloud-init

Actualizar GRUB

Al arrancar, el disco se conecta y asigna como sda1. Sin embargo, con las gotas, se ve como vda1. Para remediar esto, necesitamos cambiar todas las instancias de sda1 a vda1 en /boot/grub/grub.cfg :

sed -i 's/sda1/vda1/g' /boot/grub/grub.cfg

Con el archivo de configuración actualizado, podemos ejecutar 'update-grub' para actualizar el sistema:

update-grub

Preparar para SSH

Dado que necesitaremos usar SSH para conectarnos al sistema en DigitalOcean, el openssh-server el paquete también debe instalarse (y habilitarse):

apt -y install openssh-server
systemctl enable ssh.service

Al crear un droplet estándar, puede optar por usar claves SSH o no. Sin embargo, cuando se usan imágenes personalizadas, esta no es una opción y el uso de claves SSH es obligatorio. Por esta razón, DigitalOcean requiere que eliminemos la contraseña de root:

passwd -d root

También necesitamos crear un /root/.ssh carpeta:

mkdir /root/.ssh

Limpieza

Antes de terminar con nuestra máquina virtual, ejecutamos algunos comandos para limpiar las cosas:

apt autoremove
apt autoclean
rm -rf /var/log/*
history -c

En este punto, nuestra máquina virtual está lista, por lo que ejecutamos "apagar" para apagar el sistema.

poweroff

Subiendo

En la carpeta de la máquina virtual, busque .vmdk luego comprímalo con bzip2, gzip o zip para prepararlo para cargarlo en DigitalOcean.

bzip2 kali.vmdk

Inicie sesión en su cuenta de DigitalOcean. En la sección "Administrar" a la izquierda, haga clic en "Imágenes", luego seleccione la pestaña "Imágenes personalizadas".

A partir de ahí, subimos la imagen del disco comprimido. Lo llamaremos Kali, lo marcaremos como Debian y seleccionaremos la región y el centro de datos para cargarlo. Tenga en cuenta que, una vez cargados en una ubicación, los droplets solo se pueden iniciar en esa ubicación, lo cual es una limitación actual para las imágenes personalizadas. Otra cosa que debe recordar en esta etapa es que las imágenes cargadas consumen espacio en el disco y DigitalOcean facturará según el uso del disco.

Inicio de una gota

Una vez hecho esto, la columna "Cargado" indicará hace cuánto tiempo se cargó. Ahora haremos clic en la opción “Más” de la imagen y seleccionaremos “Iniciar una gota”.

Accederá a la configuración de droplet donde puede seleccionar el plan de droplet, la clave SSH y el proyecto para iniciarlo. Dado que esta es una imagen personalizada, es necesario que use una clave SSH. Puede seleccionar una existente o cargar una nueva haciendo clic en "Nueva clave SSH", que abrirá la siguiente pantalla donde puede pegar la clave pública y nombrarla:

Una vez hecho esto, haga clic en "Crear" como se muestra a continuación. Luego lo llevará de regreso al tablero (Administrar> Droplets) donde se enumeran todos sus droplets. Debido a que usamos una clave SSH, DigitalOcean no enviará un correo electrónico con las credenciales para el droplet.

En unos segundos, y después de que se muestre la IP, nuestro droplet estará listo. Para conectarnos, necesitaremos usar la clave SSH privada que creamos (llamada MY_KEY en este ejemplo):

[email protected]:~$ ssh -i MY_KEY [email protected]
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ECDSA key fingerprint is SHA256:d83fcd43d25e2a7edd291666160b47360cc85870ded.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'IP' (ECDSA) to the list of known hosts.
Linux kali-s-1vcpu-1gb-nyc3-01 4.19.0-kali5-amd64 #1 SMP Debian 4.19.37-2kali1 (2019-05-15) x86_64
The programs included with the Kali GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Ahora tenemos una instalación agradable y mínima de Kali Linux que podemos implementar y personalizar según sea necesario.

[email protected]:~# lsb_release -a
No LSB modules are available.
Distributor ID: Kali
Description: Kali GNU/Linux Rolling
Release: 2019.2
Codename: n/a

[email protected]:~# uname -a
Linux kali-s-1vcpu-1gb-nyc3-01 4.19.0-kali5-amd64 #1 SMP Debian 4.19.37-2kali1 (2019-05-15) x86_64 GNU/Linux

[email protected]:~# free -h
total used free shared buff/cache available
Mem: 987Mi 51Mi 527Mi 1.0Mi 407Mi 790Mi
Swap: 0B 0B 0B

Linux
  1. Preparar discos de datos en servidores en la nube de Linux

  2. Solución de problemas de poco espacio en disco para un servidor en la nube de Linux

  3. Kali Linux en Linodes Cloud

  4. Lanzamiento de Kali Linux 1.0 - Moto - El nacimiento de Kali Linux

  5. Lanzamiento de Kali Linux 1.0.7

Endurecimiento de Kali Linux

Descargar KaliLinux

Kali Linux contra Parrot

Pruebe los "laboratorios como servicio" para aprender Linux en la nube

Kali Linux para la PDA Gemini

Los 15 mejores programas de clonación de discos para escritorio Linux