GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kali Linux in der DigitalOcean-Cloud

DigitalOcean ist ein Cloud-Anbieter ähnlich wie AWS, Microsoft Azure, Google Cloud Platform und viele andere. Sie bieten „Droplets“ genannte Instanzen mit verschiedenen Linux-Distributionen wie Debian, Ubuntu, FreeBSD usw. an. Ähnlich wie AWS hat DigitalOcean Rechenzentren auf der ganzen Welt und manchmal mehrere Rechenzentren in jedem Land.

Eine Besonderheit hebt sie jedoch von ihren Mitbewerbern ab. Vor einiger Zeit haben sie die Unterstützung für benutzerdefinierte Images hinzugefügt, mit denen Benutzer Datenträger virtueller Maschinen importieren und als Droplets verwenden können. Das ist perfekt für uns, da wir unsere eigene Version von Kali Linux in ihrer Cloud verwenden können.

Es wäre zwar möglich, die offiziellen virtuellen Kali Linux-Images zu laden, aber es wäre nicht sehr effizient. Stattdessen bauen wir eine leichte Kali-Installation mit dem Nötigsten, um sie zum Laufen zu bringen.

Generiere ein ISO

Standardmäßig ist auf den Kali-Linux-ISOs eine GUI installiert, und obwohl wir sie verwenden könnten, möchten wir die Datenmenge minimieren, die wir aus Gründen, über die wir später sprechen werden, auf DigitalOcean hochladen müssen. Eine GUI auf einem Headless-System laufen zu lassen, ist ebenfalls eine Verschwendung von Ressourcen. Wir könnten sie also deinstallieren oder deaktivieren, aber wir generieren einfach ein benutzerdefiniertes Kali-ISO ohne eine GUI oder andere installierte Tools. Das Erstellen der ISO erfordert etwa 5 GB Festplattenspeicher, also stellen Sie sicher, dass Sie genug haben, wenn Sie mitmachen.

Zuerst stellen wir sicher, dass das System auf dem neuesten Stand ist:

apt update
apt -y full-upgrade

Falls ein neuer Kernel installiert wurde, starten wir das System neu, bevor wir fortfahren, und fahren Sie dann fort, um den Build zu starten.

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

Es wird eine Weile dauern, die ISO zu erstellen, da viele Pakete heruntergeladen und zusammengestellt werden müssen. Genießen Sie in der Zwischenzeit eine schöne Tasse Joe. Oder Tee.

Die Option „–verbose“ zeigt das Build-Protokoll auf dem Bildschirm an. Es kann jedoch entfernt werden, und stattdessen kann der Fortschritt im build.log verfolgt werden Datei:

tail -f build.log

Sobald unsere Eingabeaufforderung auf dem Terminal zurückkehrt, auf dem „build.sh“ gestartet wurde, ist die ISO fertig und kann in den images/ gefunden werden Verzeichnis.

Erstellen Sie die virtuelle Maschine

Nachdem wir unser ISO erstellt haben, können wir jetzt damit beginnen, unsere virtuelle Maschine zu erstellen. Erstellen Sie eine neue virtuelle Maschine, stellen Sie das Betriebssystem auf das neueste Debian 64-Bit ein und weisen Sie eine 20-GB-Festplatte zu. Bei Bedarf wird die detaillierte Einrichtung auf der Kali-Training-Website erklärt. Es ist wichtig, die virtuelle Festplatte als einzelne Datei zu speichern, die dynamisch zugewiesen wird. Der Rest, wie die Menge an CPU und RAM, spielt keine Rolle, da nur die Festplattendatei auf DigitalOcean hochgeladen wird.

Die Festplattengröße spielt eine Rolle, da die Abrechnung für benutzerdefinierte Images auf der Festplattengröße basiert. Dies wirkt sich auch auf die Wahl der Instanz aus, die wir erstellen können. Nehmen wir an, eine 40-GB-Festplatte wird erstellt. Das Erstellen einer Instanz auf der Ebene von 5 $/Monat schlägt fehl, da die maximale Festplattengröße 25 GB beträgt. In diesem Fall wären wir gezwungen, die Option von 10 $/Monat für Instanzen mit 50-GB-Festplatten zu verwenden. Keine Sorge, auch wenn die Festplatte 20 GB groß ist, wird sie je nach gewähltem Droplet-Plan erweitert.

Wählen Sie während der Installation die manuelle Partitionierung und richten Sie sie wie unten gezeigt ein, mit allen Dateien in einer Partition und ohne Auslagerungsdatei.

System aktualisieren

Nach Abschluss der Installation und nach dem Neustart melden wir uns an der Konsole an und aktualisieren das System:

apt update
apt -y full-upgrade

Wenn Sie nicht sehen, dass es während des „apt update“ über einen Mirror geht, haben Sie möglicherweise versehentlich vergessen, während der Installation einen Netzwerk-Mirror hinzuzufügen. Befolgen Sie die Anweisungen auf der Kali-Docs-Website, um das Problem zu beheben, und führen Sie beide Befehle erneut aus.

Erforderliche Pakete installieren

Damit DigitalOcean das System für uns konfigurieren kann, müssen wir cloud-init installieren Paket:

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

GRUB aktualisieren

Beim Booten wird die Festplatte angehängt und als sda1 zugeordnet. Bei den Tröpfchen wird es jedoch als vda1 angezeigt. Um dies zu beheben, müssen wir alle Instanzen von sda1 in /boot/grub/grub.cfg in vda1 ändern :

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

Wenn die Konfigurationsdatei aktualisiert ist, können wir „update-grub“ ausführen, um das System zu aktualisieren:

update-grub

Für SSH vorbereiten

Da wir SSH verwenden müssen, um eine Verbindung zum System auf DigitalOcean herzustellen, dem openssh-server Paket muss ebenfalls installiert (und aktiviert) werden:

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

Beim Erstellen eines Standard-Droplets können Sie wählen, ob Sie SSH-Schlüssel verwenden möchten oder nicht. Bei der Verwendung benutzerdefinierter Images ist dies jedoch keine Option, und die Verwendung von SSH-Schlüsseln ist obligatorisch. Aus diesem Grund fordert uns DigitalOcean auf, das Root-Passwort zu entfernen:

passwd -d root

Wir müssen auch eine /root/.ssh erstellen Ordner:

mkdir /root/.ssh

Aufräumen

Bevor wir mit unserer virtuellen Maschine fertig sind, führen wir ein paar Befehle aus, um die Dinge zu bereinigen:

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

An diesem Punkt ist unsere virtuelle Maschine bereit, also führen wir „poweroff“ aus, um das System herunterzufahren.

poweroff

Wird hochgeladen

Suchen Sie im Ordner der virtuellen Maschine die Datei .vmdk Datei, und komprimieren Sie sie dann mit bzip2, gzip oder zip, um sie für das Hochladen auf DigitalOcean vorzubereiten.

bzip2 kali.vmdk

Melden Sie sich bei Ihrem DigitalOcean-Konto an. Klicken Sie im Bereich „Verwalten“ auf der linken Seite auf „Bilder“ und wählen Sie dann die Registerkarte „Benutzerdefinierte Bilder“ aus.

Von dort laden wir das komprimierte Disk-Image hoch. Wir nennen es Kali, markieren es als Debian und wählen die Region und das Rechenzentrum aus, in das es hochgeladen werden soll. Beachten Sie, dass Droplets nach dem Hochladen an einen Ort nur an diesem Ort gestartet werden können, was eine aktuelle Einschränkung für benutzerdefinierte Bilder darstellt. Eine andere Sache, die Sie in dieser Phase beachten sollten, ist, dass hochgeladene Bilder Speicherplatz verbrauchen und DigitalOcean basierend auf der Festplattennutzung abrechnen wird.

Starten eines Droplets

Sobald dies erledigt ist, zeigt die Spalte „Hochgeladen“ an, wie lange es her ist, dass es hochgeladen wurde. Jetzt klicken wir auf die Option „Mehr“ des Bildes und wählen „Start a droplet“.

Sie werden zu den Droplet-Einstellungen weitergeleitet, wo Sie den Droplet-Plan, den SSH-Schlüssel und das Projekt auswählen können, in dem es gestartet werden soll. Da es sich um ein benutzerdefiniertes Image handelt, müssen Sie einen SSH-Schlüssel verwenden. Sie können entweder einen vorhandenen auswählen oder einen neuen hochladen, indem Sie auf „Neuer SSH-Schlüssel“ klicken, wodurch der folgende Bildschirm geöffnet wird, auf dem Sie den öffentlichen Schlüssel einfügen und benennen können:

Wenn Sie fertig sind, klicken Sie wie unten gezeigt auf „Erstellen“. Es bringt Sie dann zurück zum Dashboard (Verwalten> Droplets), wo alle Ihre Droplets aufgelistet sind. Da wir einen SSH-Schlüssel verwenden, sendet DigitalOcean keine E-Mail mit Anmeldeinformationen für das Droplet.

Innerhalb weniger Sekunden und nachdem die IP angezeigt wird, ist unser Droplet bereit. Um eine Verbindung herzustellen, müssen wir den von uns erstellten privaten SSH-Schlüssel verwenden (in diesem Beispiel MY_KEY genannt):

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

Jetzt haben wir eine schöne, minimale Kali-Linux-Installation, die wir nach Bedarf bereitstellen und anpassen können.

[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. Linux – Festplatte/Festplattenkopie langsamer machen?

  2. Kali Linux in der Linodes-Cloud

  3. Der Kali Linux Certified Professional

  4. Kali Linux wieder in der AWS-Cloud

  5. Kali-Linux im Windows App Store

Härten von Kali Linux

Kali-Linux-Download

Kali Linux gegen Papagei

So finden Sie unter Linux heraus, ob es sich bei der Festplatte um eine SSD oder HDD handelt

Probieren Sie „Labs as a Service“ aus, um Linux in der Cloud zu lernen

Die 15 besten Software zum Klonen von Festplatten für Linux-Desktops