GNU/Linux >> Tutoriels Linux >  >> Linux

Kali Linux dans le Cloud DigitalOcean

DigitalOcean est un fournisseur de cloud similaire à AWS, Microsoft Azure, Google Cloud Platform et bien d'autres. Ils proposent des instances, appelées "droplets", avec différentes distributions Linux telles que Debian, Ubuntu, FreeBSD, etc. Semblable à AWS, DigitalOcean possède des centres de données dans le monde entier et parfois plusieurs centres de données dans chaque pays.

Cependant, une caractéristique en particulier les distingue de leurs concurrents. Il y a peu de temps, ils ont ajouté la prise en charge des images personnalisées, ce qui permet aux utilisateurs d'importer des disques de machines virtuelles et de les utiliser comme gouttelettes. C'est parfait pour nous car nous pouvons utiliser notre propre version de Kali Linux dans leur cloud.

Bien qu'il soit possible de charger les images virtuelles officielles de Kali Linux, cela ne serait pas très efficace. Au lieu de cela, nous allons construire une installation Kali légère avec le strict minimum pour la faire fonctionner.

Générer un ISO

Par défaut, les ISO Kali Linux ont une interface graphique installée, et bien que nous puissions l'utiliser, nous voulons minimiser la quantité de données que nous devons télécharger sur DigitalOcean pour des raisons dont nous parlerons plus tard. Avoir une interface graphique fonctionnant sur un système sans tête est également un gaspillage de ressources. Par conséquent, bien que nous puissions la désinstaller ou la désactiver, nous générerons simplement un ISO Kali personnalisé sans interface graphique ni aucun autre outil installé. La construction de l'ISO nécessitera environ 5 Go d'espace disque dur, alors assurez-vous d'en avoir suffisamment si vous suivez.

Tout d'abord, nous nous assurerons que le système est à jour :

apt update
apt -y full-upgrade

Dans le cas où un nouveau noyau a été installé, redémarrons le système avant de continuer, puis procédons au démarrage de la construction.

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

Il faudra un certain temps pour créer l'ISO car il doit télécharger de nombreux packages et les assembler. En attendant, dégustez une bonne tasse de Joe. Ou du thé.

L'option '–verbose' affichera le journal de construction à l'écran. Il peut cependant être supprimé, et à la place la progression peut être suivie dans le build.log fichier :

tail -f build.log

Une fois que notre invite revient sur le terminal où 'build.sh' a été lancé, l'ISO est prêt et peut être trouvé dans les images/ répertoire.

Créer la machine virtuelle

Avec notre ISO construit, nous pouvons maintenant commencer à construire notre machine virtuelle. Créez une nouvelle machine virtuelle en définissant le système d'exploitation sur la dernière Debian 64 bits et en allouant un disque dur de 20 Go. Si nécessaire, une configuration détaillée est expliquée sur le site Web de Kali Training. Il est important de stocker le disque virtuel sous la forme d'un fichier unique alloué dynamiquement. Le reste, comme la quantité de CPU et de RAM, n'aura pas d'importance car seul le fichier disque sera téléchargé sur DigitalOcean.

La taille du disque est importante car la facturation est basée sur la taille du disque pour les images personnalisées. Cela aura également un impact sur le choix de l'instance que nous pouvons créer. Supposons qu'un disque dur de 40 Go soit créé, il échouera à créer une instance au niveau de 5 $/mois car sa taille maximale de disque dur est de 25 Go. Dans ce cas, nous serions obligés d'utiliser l'option de 10 $/mois pour les instances avec des disques de 50 Go. Ne vous inquiétez pas, même si le disque fait 20 Go, il sera étendu en fonction du plan de droplet choisi.

Lors de l'installation, sélectionnez le partitionnement manuel et configurez-le comme indiqué ci-dessous, avec tous les fichiers dans une partition et aucun fichier d'échange.

Mettre à jour le système

Une fois l'installation terminée et après le redémarrage, nous nous connectons à la console et mettons à jour le système :

apt update
apt -y full-upgrade

Si vous ne le voyez pas passer sur un miroir lors de la "mise à jour apt", vous avez peut-être accidentellement oublié d'ajouter un miroir réseau lors de l'installation. Suivez les instructions sur le site Kali-Docs pour résoudre le problème et exécutez à nouveau les deux commandes.

Installer les packages requis

Pour que DigitalOcean configure le système pour nous, nous devons installer le cloud-init paquet :

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

Mettre à jour GRUB

Lors du démarrage, le disque est attaché et mappé en tant que sda1. Cependant, avec les gouttelettes, il est considéré comme vda1. Pour remédier à cela, nous devons remplacer toutes les instances de sda1 par vda1 dans /boot/grub/grub.cfg :

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

Une fois le fichier de configuration mis à jour, nous pouvons exécuter "update-grub" pour mettre à jour le système :

update-grub

Préparer pour SSH

Comme nous aurons besoin d'utiliser SSH pour nous connecter au système sur DigitalOcean, le openssh-server package doit également être installé (et activé) :

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

Lors de la création d'un droplet standard, vous pouvez choisir d'utiliser ou non des clés SSH. Cependant, lors de l'utilisation d'images personnalisées, ce n'est pas une option et l'utilisation de clés SSH est obligatoire. Pour cette raison, DigitalOcean nous demande de supprimer le mot de passe root :

passwd -d root

Nous devons également créer un /root/.ssh dossier :

mkdir /root/.ssh

Nettoyage

Avant de terminer avec notre machine virtuelle, nous exécutons quelques commandes pour nettoyer les choses :

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

À ce stade, notre machine virtuelle est prête, nous exécutons donc "poweroff" pour arrêter le système.

poweroff

Téléchargement

Dans le dossier de la machine virtuelle, localisez le .vmdk fichier, puis compressez-le à l'aide de bzip2, gzip ou zip en vue du téléchargement sur DigitalOcean.

bzip2 kali.vmdk

Connectez-vous à votre compte DigitalOcean. Dans la section "Gérer" à gauche, cliquez sur "Images", puis sélectionnez l'onglet "Images personnalisées".

À partir de là, nous téléchargeons l'image disque compressée. Nous l'appellerons Kali, le marquerons comme Debian et sélectionnerons la région et le centre de données vers lesquels le télécharger. Notez qu'une fois téléchargées à un emplacement, les gouttelettes ne peuvent être démarrées qu'à cet emplacement, ce qui est une limitation actuelle pour les images personnalisées. Une autre chose à retenir à ce stade est que les images téléchargées consomment de l'espace disque et que DigitalOcean facturera en fonction de l'utilisation du disque.

Démarrer une gouttelette

Une fois cela fait, la colonne "Téléchargé" indiquera depuis combien de temps il a été téléchargé. Nous allons maintenant cliquer sur l'option "Plus" de l'image et sélectionner "Démarrer une goutte".

Vous serez redirigé vers les paramètres de droplet où vous pourrez sélectionner le plan de droplet, la clé SSH et le projet dans lequel le démarrer. Comme il s'agit d'une image personnalisée, vous devez utiliser une clé SSH. Vous pouvez soit en sélectionner une existante, soit en télécharger une nouvelle en cliquant sur "Nouvelle clé SSH", ce qui ouvrira l'écran suivant où vous pourrez coller la clé publique et la nommer :

Une fois cela fait, cliquez sur "Créer" comme indiqué ci-dessous. Il vous ramènera ensuite au tableau de bord (Gérer> Gouttelettes) où toutes vos gouttelettes sont répertoriées. Parce que nous utilisons une clé SSH, DigitalOcean n'enverra pas d'e-mail avec les informations d'identification pour le droplet.

En quelques secondes, et après l'affichage de l'IP, notre droplet sera prêt. Pour nous connecter, nous devrons utiliser la clé SSH privée que nous avons créée (appelée MY_KEY dans cet exemple) :

[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.

Nous avons maintenant une belle installation minimale de Kali Linux que nous pouvons déployer et personnaliser selon nos besoins.

[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. Dépannage de l'espace disque insuffisant pour un serveur cloud Linux

  2. Kali Linux dans le Cloud Linodes

  3. Kali Linux 1.0 Release - Moto - La naissance de Kali Linux

  4. Version Kali Linux 1.0.7

  5. Version Kali Linux 1.0.6

Durcissement de Kali Linux

Téléchargement Kali Linux

Kali Linux contre Parrot

Comment savoir si le disque est un SSD ou un disque dur sous Linux

Essayez les "laboratoires en tant que service" pour apprendre Linux dans le cloud

Les 15 meilleurs logiciels de clonage de disque pour Linux Desktop