The Docker BastionHost (Container)

Habe mir die Mühe gemacht einen neuen Container zu erstellen, über welchen man die Docker Container auf dem darunter liegenden Host managen kann.

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

 

Anschließend zum generieren der OTP Konfiguration, bzw des QR Codes:

docker exec -it DOCKERID google-authenticator

 

QuellCode: https://github.com/Berndinox/docker-bastionhost

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.