Home

Docker-CLI Bastion

Nachfolgender Docker-Container hilft euch euer System zu managen. Er ermöglichst es die Docker Container auf dem darunter liegenden Host zu managen.

iota

Das hat einige Sicherheitsvorteile, denn so ist kein direkter Zugriff auf die Shell des Servers notwendig, sonder man befindet sich in einem abgeschotteten Container, hat jedoch dennoch vollständige root rechte für “docker” Befehle.

Zusätzlich kann man, wenn man am Root-Server mehrere IP Adressen verfügbar hat, die Haupt IP Adresse “verstecken”, des weiteren habe ich Google OTP PAM Modul implementiert, welches per default auch aktiviert ist.

Der Container kann wie folgt gestartet werden:

docker run -d -p IP-TO-PUBLISH:22:22 -e PASSWORD=SuperGeheim -v /etc/localtime:/etc/localtime:ro -v /var/run/docker.sock:/var/run/docker.sock berndinox/docker-bastionhost

Oder via Compose:

version: '3.2'

services:
  ssh:
    image: berndinox/docker-bastionhost
    deploy:
      replicas: 1
    ports:
      - "IP:22:22"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock
      - data:/data
    environment:
      - PASSWORD=SECRET

volumes:
  data:
    driver: DRIVER
    driver_opts:
      mountpoint: /data

Abschließen, zum generieren der OTP Konfiguration, bzw des QR Codes:

docker exec -it DOCKERID google-authenticator

Berndinox/dockerbastionhost @ Github