Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
the-bastion — Authentifizierung, Autorisierung, Nachvollziehbarkeit und Prüfbarkeit für SSH-Zugriffe. | Kitploit
Tools/GitHubGitHub/ovh/the-bastion
Authentifizierung & AutorisierungKonfigurationsprüfungNetzwerksicherheitPenetrationstestsDienstprogramme & FrameworksIdentitäts- & Zugriffsmanagement (IAM)Red Teaming
GitHubovh/the-bastion

the-bastion

Authentifizierung, Autorisierung, Nachvollziehbarkeit und Prüfbarkeit für SSH-Zugriffe.

Repository anzeigen
2.2k1312vor 23 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Das Bastion-Logo

🔒 The Bastion

Übersicht

Bastionen sind ein Cluster von Maschinen, die als einziger Einstiegspunkt von Betriebsteams (wie Systemadministratoren, Entwicklern, Datenbankadministratoren, ...) genutzt werden, um sich sicher mit Geräten (Servern, virtuellen Maschinen, Cloud-Instanzen, Netzwerkgeräten, ...) zu verbinden, normalerweise über ssh.

Die Bastion bietet Mechanismen für Authentifizierung, Autorisierung, Rückverfolgbarkeit und Prüfbarkeit für Ihre gesamte Infrastruktur.

Da sie zwischen Ihren Benutzern und Ihrer Infrastruktur steht, fügt die Bastion eine Abstraktionsschicht hinzu, sodass Ihre Infrastruktur Ihre Betriebsteammitglieder nicht einzeln kennen muss.

Jedes Ihrer Teammitglieder hat ein individuelles Konto auf der Bastion und kann Mitglied einer oder mehrerer Bastion-Gruppen sein, die ihnen Zugriff auf eine oder mehrere Infrastrukturen gewähren können. Die Infrastrukturgeräte müssen nur die Bastion-Gruppe(n) kennen und vertrauen, von denen sie Teil sein können.

Die feingranulare RBAC der Bastion ermöglicht es, einige Verantwortlichkeiten an jedes Konto zu delegieren, gruppenbezogen oder bastionweit, einschließlich Konten, die von Ihrer Automatisierung genutzt werden könnten, um z.B. den Lebenszyklus der Konten zu verwalten (verknüpft mit Ihrem Personalverwaltungssystem, Ihrem LDAP oder AD), sicherzustellen, dass die ACL einer Gruppe aktuell ist (verknüpft mit Ihrer CMDB) usw. Automatisierte Prozesse sind einfach über die JSON-API über SSH umsetzbar.

Wissensressourcen

Möchten Sie mehr erfahren, während Sie einige schöne Zeichnungen sehen? Hier ist eine Reihe von Blogbeiträgen, die tiefer in die Kernfunktionen und Prinzipien der Bastion eintauchen:

  • Teil 1 - Genesis
  • Teil 2 - Delegationsschwindel
  • Teil 3 - Sicherheit im Kern
  • Teil 4 - Eine neue Ära

Weitere Ressourcen, die von Interesse sein könnten:

  • Online-Dokumentation
  • (Video auf Französisch, Folien auf Englisch) Die Bastion auf dem Very Tech Trip 2023, Fallstudie zur Verwaltung einer Infrastruktur mit und ohne The Bastion
  • (Video auf Französisch, Folien auf Englisch) Die Bastion auf der OSSIR 2021, erklärt kurz die Kernprinzipien, geht dann auf die Realm-Funktionalität ein und zoomt schließlich darauf, warum die getroffenen technischen Implementierungsentscheidungen die Sicherheit erhöhen (freiwilliges Hinzufügen einer Sicherheitslücke im Code, um es zu beweisen!)
  • (Podcast auf Französisch) Die Bastion bei NoLimitSecu 2021, Interview mit Fragen und Antworten

♻️ Keine Annahmen über Ihre Umgebung

Es ist nichts Besonderes auf der Eingangs- oder Ausgangsseite der Bastion erforderlich, um sie zum Laufen zu bringen.

Nur Ihr guter alter ssh-Client wird benötigt, um sich darüber zu verbinden, und auf der anderen Seite tut es jeder Standard-sshd-Server. Dies umfasst beispielsweise Netzwerkgeräte, auf denen Sie möglicherweise keine benutzerdefinierte Software installieren können.

Alte Geräte, die nur kryptografische Algorithmen mit niedriger Sicherheit oder Telnet unterstützen, können durch Firewalling vor dem Internet verborgen werden, indem nur die Bastion erlaubt wird, wodurch ein niedriges Sicherheitskompromiss vermieden wird, indem auf der Eingangsseite der Bastion weiterhin nur hochsichere Verbindungen erlaubt werden.

➰ Zuverlässigkeit

  • Es werden nur wenige bekannte Bibliotheken verwendet, weniger Drittanbieter-Code bedeutet eine kleinere Angriffsfläche
  • Die Bastion ist so konzipiert, dass sie autark ist: Keine Abhängigkeiten wie Datenbanken, andere Dienste, andere Maschinen oder Cloud-Dienste von Drittanbietern, weder für die Authentifizierungs- noch für die Autorisierungsphase, bedeutet statistisch gesehen weniger Ausfallzeiten
  • Hochverfügbarkeit kann eingerichtet werden, sodass mehrere Bastion-Instanzen einen Cluster aus mehreren Instanzen bilden, wobei jede Instanz jederzeit nutzbar ist (Active/Active-Schema)

:godmode: Nicht erschöpfende Funktionsliste

  • Zugriffsschemata für persönliche und Gruppen mit Delegation von Gruppenrollen, um die Autonomie der Teams ohne Sicherheitskompromisse zu gewährleisten
  • SSH-Protokollbruch zwischen den eingehenden und ausgehenden Verbindungen
  • Aufzeichnung interaktiver Sitzungen (in Standard-ttyrec-Dateien)
  • Aufzeichnung nicht-interaktiver Sitzungen (stdout und stderr über ttyrec)
  • Umfassende Protokollierungs-Unterstützung über syslog für eine einfache SIEM-Nutzung
  • Authentifizierungsfunktionen umfassen Unterstützung für MFA/2FA (Passwort, TOTP) zusätzlich zur Public-Key-Authentifizierung
  • Unterstützt Yubico PIV-Schlüsselattestierungsprüfung und -durchsetzung auf der Eingangsseite der Verbindung
  • Unterstützt mosh auf der Eingangsseite der Verbindung
  • Unterstützt scp, sftp und rsync-Passthrough, um Dateien von/zu entfernten Servern hoch- und/oder herunterzuladen
  • Unterstützt Netconf-SSH-Subsystem-Passthrough
  • Unterstützt Realms, um ein Vertrauen zwischen zwei Bastionen möglicherweise zweier unterschiedlicher Unternehmen zu schaffen, wobei die Authentifizierungs- und Autorisierungsphasen getrennt werden, während weiterhin lokale Richtlinien durchgesetzt werden
  • Unterstützt SSH-Passwort-Autologin auf der Ausgangsseite für Legacy-Geräte, die keine Public-Key-Authentifizierung unterstützen, während auf der Eingangsseite weiterhin eine ordnungsgemäße Public-Key-Authentifizierung erzwungen wird
  • Unterstützt Telnet-Passwort-Autologin auf der Ausgangsseite für alte Geräte, die SSH nicht unterstützen, während auf der Eingangsseite weiterhin eine ordnungsgemäße SSH-Public-Key-Authentifizierung erzwungen wird
  • Unterstützt HTTPS-Proxy mit Man-in-the-Middle-Authentifizierungs- und Autorisierungsbehandlung, zur Entkopplung von Eingangs- und Ausgangskennwörtern (hauptsächlich nützlich für Netzwerkgeräte-APIs)

🔧 Installieren, Aktualisieren, Verwenden der Bastion

Bitte lesen Sie die Online-Dokumentation, oder die entsprechende textbasierte Version im Ordner doc/.

🎥 Schnelles Verbindungs- und Wiedergabebeispiel

asciicast

⚡ Kurzfassung: Testen Sie es: Einweg-Sandbox mit Docker

Dies ist eine gute Möglichkeit, die Bastion innerhalb von Sekunden zu testen, aber lesen Sie das FAQ, wenn Sie die Containerisierung in der Produktion ernsthaft in Betracht ziehen.

Das Sandbox-Image ist für die folgenden Architekturen verfügbar: linux/386, linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64, linux/ppc64le, linux/s390x.

Lassen Sie uns das Docker-Image ausführen:

root@kitploit:~
docker run -d -p 22 --name bastiontest ovhcom/the-bastion:sandbox

Halten Sie Ihren öffentlichen SSH-Schlüssel bereit und konfigurieren Sie dann das erste Administratorkonto:

root@kitploit:~
docker exec -it bastiontest /opt/bastion/bin/admin/setup-first-admin-account.sh poweruser auto

Wir sind nun mit der Standardkonfiguration betriebsbereit! Lassen Sie uns einen praktischen Bastion-Alias einrichten und den Befehl info testen:

root@kitploit:~
PORT=$(docker port bastiontest | cut -d: -f2)
alias bastion="ssh [email protected] -tp $PORT -- "
bastion --osh info

Es sollte Sie als Bastion-Administrator begrüßen, was bedeutet, dass Sie Zugriff auf alle Befehle haben. Lassen Sie uns in den interaktiven Modus wechseln:

root@kitploit:~
bastion -i

Dies ist nützlich, um mehrere --osh-Plugins nacheinander aufzurufen. Jetzt können wir um Hilfe bitten, um alle Plugins zu sehen:

root@kitploit:~
$> help

Wenn Sie eine entfernte Maschine haben, mit der Sie sich über die Bastion verbinden möchten, holen Sie sich Ihren Ausgangsschlüssel:

root@kitploit:~
$> selfListEgressKeys

Kopieren Sie diesen öffentlichen Schlüssel in die authorized_keys der entfernten Maschine im .ssh/-Ordner des Kontos, mit dem Sie sich verbinden möchten, dann:

root@kitploit:~
$> selfAddPersonalAccess --host <remote_host> --user <remote_account_name> --port-any
$> ssh <remote_account_name>@<remote_host>

Beachten Sie, dass Sie sich direkt ohne interaktiven Modus verbinden können, mit:

root@kitploit:~
bastion <remote_account_name>@<remote_machine_host_or_ip>

Das war's! Natürlich gibt es noch viel mehr dazu, die Dokumentation ist im Ordner doc/ und online verfügbar. Überprüfen Sie unbedingt die Hilfe der Bastion (bastion --help) und die Hilfe jedes osh-Plugins (bastion --osh Befehl --help). Vergessen Sie auch nicht, Ihre bastion.conf-Datei anzupassen, die sich in /etc/bastion/bastion.conf (für Linux) befindet.

🔀 Unterstützte Betriebssysteme für die Installation

Die unten aufgeführten Linux-Distributionen werden mit jeder Version getestet, aber da es sich um ein Sicherheitsprodukt handelt, wird dringend empfohlen, es auf der neuesten stabilen Version Ihres bevorzugten Betriebssystems auszuführen:

  • Debian 13 (Trixie), 12 (Bookworm), 11 (Bullseye)
  • RockyLinux 10.x, 9.x, 8.x
  • Ubuntu LTS 26.04, 24.04, 22.04
  • OpenSUSE Leap 16.0

Alle anderen sogenannten "modernen" Linux-Versionen werden nicht mit jeder Veröffentlichung getestet, sollten aber mit keinen oder geringen Anpassungen funktionieren.

Die folgenden Betriebssysteme werden ebenfalls mit jeder Veröffentlichung getestet:

  • FreeBSD 15.1, 15.0, 14.4

FreeBSD hat teilweise MFA-Unterstützung aufgrund der reduzierten Anzahl verfügbarer pam-Plugins. Es kann entweder ein zusätzliches Passwort oder ein TOTP-Faktor konfiguriert werden, aber nicht beides gleichzeitig.

🆗 Code-Qualität

  • Der Code wird unter perltidy ausgeführt
  • Der Code wird auch unter perlcritic ausgeführt
  • Vor jeder Veröffentlichung werden funktionale Tests durchgeführt

🛂 Sicherheit im Kern

Selbst mit dem konservativsten, vorsichtigsten und paranoidesten Codierungsprozess haben Code Bugs, daher sollte man ihm nicht blind vertrauen. Daher vertraut die Bastion ihrem eigenen Code nicht. Sie nutzt die Sicherheitsprimitive des Betriebssystems, um zusätzliche Sicherheit zu erhalten, wie unten zu sehen.

  • Verwendet die bekannte und vertrauenswürdige UNIX-Diskretionäre Zugriffskontrolle:

    • Bastion-Benutzer werden auf tatsächliche Systembenutzer abgebildet
    • Bastion-Gruppen werden auf tatsächliche Systemgruppen abgebildet
    • Der gesamte Code überprüft ständig die Rechte, bevor eine Aktion erlaubt wird
    • UNIX DAC wird als Sicherheitsgurt verwendet, um zu verhindern, dass eine Aktion erfolgreich ist, selbst wenn der Code dazu getäuscht wird, sie zu erlauben
  • Das Hauptskript der Bastion ist als System-Shell des Bastion-Benutzers deklariert:

    • Kein Benutzer hat echten Shell-Zugriff (wie bash) auf dem System
    • Der gesamte Code wird unter den Rechten des unprivilegierten Benutzerkontos ausgeführt
    • Selbst wenn ein Benutzer zu einer echten Shell entkommen könnte, könnten sie keine Verbindung zu Maschinen herstellen, zu denen sie keinen Zugang haben, da sie keinen Dateisystem-Lesezugriff auf die SSH-Schlüssel haben
  • Der Code ist modular

    • Der Hauptcode überprüft hauptsächlich Rechte, protokolliert Aktionen und ermöglicht ssh-Zugriff auf andere Maschinen
    • Alle Nebenbefehle, genannt Plugins, befinden sich in Modulen, die vom Hauptcode getrennt sind
    • Die Module können entweder offen oder eingeschränkt sein
      • Nur Konten, die speziell auf Bedarfsbasis gewährt wurden, können ein bestimmtes eingeschränktes Plugin ausführen
      • Dies wird vom Code überprüft und auch durch UNIX DAC durchgesetzt (das Plugin ist nur lesbar und ausführbar durch die für das Plugin spezifische Systemgruppe)
  • Der gesamte Code, der erweiterte Systemrechte benötigt, ist vom Hauptcode getrennt, in Modulen namens Helpers

    • Helpers werden ausschließlich unter sudo ausgeführt
    • Die sudoers-Konfiguration ist an eine für den Befehl spezifische Systemgruppe gebunden, die Konten auf Bedarfsbasis gewährt wird
    • Die Helpers sind nur lesbar und ausführbar durch die für den Befehl spezifische Systemgruppe

🔍 Prüfbarkeit

  • Bastion-Administratoren müssen die Logik der Bastion verwenden, um sich selbst zu verbinden, um sie zu verwalten (oder besser, eine andere Bastion verwenden), dies gewährleistet in allen Fällen Prüfbarkeit
  • Jeder Zugriff und jede Aktion (ob erlaubt oder verweigert) wird protokolliert mit:
    • syslog, der auch an einen entfernten Syslog-Server gesendet werden sollte, um sicherzustellen, dass selbst Bastion-Administratoren ihre Spuren nicht fälschen können, und/oder
    • lokale sqlite3-Datenbanken für eine einfache Suche
  • Jede Sitzung wird mit ttyrec aufgezeichnet, Hilfsskripte werden bereitgestellt, um diese Aufzeichnungen zu verschlüsseln und auf einen entfernten Escrow-Filer zu übertragen
  • Dieser Code wird in Produktion in mehreren PCI-DSS-, ISO 27001-, SOC1- und SOC2-zertifizierten Umgebungen verwendet

🔗 Verwandte

Dependencies

  • ovh-ttyrec - eine erweiterte, aber kompatible Version von ttyrec, einem Terminal-(tty)-Rekorder

Optionale Werkzeuge

  • yubico-piv-checker - ein eigenständiges Go-Binary zur Überprüfung der Gültigkeit von PIV-Schlüsseln und -Zertifikaten. Optional, um die PIV-fähigen Funktionen der Bastion zu aktivieren
  • puppet-thebastion (GitHub) - ein Puppet-Modul zur Automatisierung und Wartung der Konfiguration der Bastion-Maschinen
  • the-bastion-ansible-wrapper - ein Wrapper, um die Ausführung von Ansible-Playbooks über die Bastion zu ermöglichen
  • debian-cis - ein Skript zur Anwendung und Überwachung der Härtung von Debian-Hosts gemäß den CIS-Empfehlungen

Community-Tools

Eine nicht erschöpfende Liste verwandter Tools, die von der Community gepflegt werden:

  • chef-cookbook - ein Chef-Cookbook zur Installation der Bastion und Einrichtung ihrer Standardkonfiguration
  • ansible role - eine Ansible-Rolle zur Installation und Konfiguration der Bastion

📝 Lizenz

Lizenziert unter der Apache License, Version 2.0 (der "Lizenz"); Sie dürfen diese Datei nicht in einer Weise nutzen, die nicht mit der Lizenz vereinbar ist. Eine Kopie der Lizenz erhalten Sie unter

root@kitploit:~
http://www.apache.org/licenses/LICENSE-2.0

Sofern nicht durch anwendbares Recht vorgeschrieben oder schriftlich vereinbart, wird die unter der Lizenz verteilte Software auf einer "AS IS"-BASIS OHNE GEWÄHRLEISTUNG ODER BEDINGUNGEN JEGLICHER ART, weder ausdrücklich noch stillschweigend, zur Verfügung gestellt. Siehe die Lizenz für die spezifischen Berechtigungen und Beschränkungen, die für die Nutzung der Software gelten.

Tool herunterladen
  • Der Pfad der Helpers und einige ihrer unveränderlichen Parameter sind in der sudoers-Konfiguration fest codiert
  • Der Perl-Tainted-Modus (-T) wird für den gesamten unter sudo ausgeführten Code verwendet, um zu verhindern, dass Benutzereingaben die Logik stören, indem die Ausführung sofort gestoppt wird
  • Unter sudo ausgeführter Code vertraut seinem Aufrufer nicht und überprüft jede Eingabe erneut
  • Die Kommunikation zwischen unprivilegiertem und privilegiertem Code erfolgt über JSON
  • Ein Protokollbruch wird zwischen der Eingangs- und Ausgangsseite durchgeführt, wodurch die meisten protokollbasierten Schwachstellen unwirksam werden