Ist dieser Container sicher? Wird er gepflegt?
-
Hallo Leute,
ich nutze derzeit einen sshd-Container hinter einem traefik-Proxy. Hauptsächlich, um SFTP für ein Verzeichnis nutzen zu können. Das Ganze sieht so aus:
sshd: image: takeyamajp/debian-sshd environment: - TZ=Europe/Berlin - ROOT_PASSWORD=<strengGeheim> volumes: - /<...>/:/root/data1/:ro labels: - "traefik.enable=true" - "traefik.tcp.routers.sshd.rule=HostSNI(`*`)" - "traefik.tcp.services.sshd.loadbalancer.server.port=22" - "traefik.tcp.routers.sshd.entrypoints=sshd"
Der Container ist hier zu finden: https://hub.docker.com/r/takeyamajp/debian-sshd
Jetzt zu den Fragen:
Woher weiß ich, ob der Container auch aktiv gepflegt wird und sicher ist? Die letzte Aktualisierung ist ja schon einige Monate her... Was ist der Unterschied zwischen official/ verified und community containers?
Und ist es sinnvoll, Traefik "zwischenzuschalten", oder wäre es in der
docker-compose.yml
auch möglich, zum Beispiel einfach zu schreiben:sshd: image: takeyamajp/debian-sshd environment: - TZ=Europe/Berlin - ROOT_PASSWORD=<strengGeheim> volumes: - /<...>/:/root/data1/:ro labels: - "traefik.enable=false" ports: - 12346:22
(12346 ist zufällig gewählt worden)
? ... Und wenn der Traefik-Loadbalancer "zwischengeschaltet" ist, wie es derzeit der Fall ist, gibt es dann dadurch noch mal so eine Art "brutforce protection", oder leitet der TCP-Router den Traffic einfach nur weiter?
-
@omggg sagte in Ist dieser Container sicher? Wird er gepflegt?:
Woher weiß ich, ob der Container [...] sicher ist?
sofern du das dockerfile nicht findest, kannst du das nicht beurteilen.
in diesem fall kann man die frage recht schnell mit nein beantworten, denn root ssh login ohne keys mit password ist per definition nicht sicher.
-
@Cardiac Danke. Das Dockerfile wäre hier https://github.com/takeyamajp/docker-debian-sshd/blob/master/debian12/Dockerfile
man kann es also einsehen... ich hatte auch erst versucht, ein eigenes Dockerfile zu schreiben, aber aber das hatte wegen des Entrypoints nicht geklappt:
FROM debian:12 RUN apt-get -y update && apt-get -y install openssh-server RUN useradd -m -p 'hashedPwd' -s /bin/bash ich RUN echo "Port 12346" >> /etc/ssh/sshd_config RUN service ssh restart CMD /bin/bash
offenbar merkt Docker, wenn kein Dienst im Vordergrund läuft, und quittiert dann mit exit 0
-
@Cardiac
Hab es hinbekommen. Wäre froh, wenn du noch einmal kritisch drauf schaust...
FROM debian:12 ENV TZ='Europe/Berlin' RUN apt-get -y update && apt-get -y install openssh-server net-tools whois RUN date >> /root/out1.txt RUN useradd -m -p 'hashedPwd' -s /bin/bash ich RUN sed -i 's/#Port 22/Port 12346/g' /etc/ssh/sshd_config RUN sed -i '/^#PermitRootLogin/c\PermitRootLogin no' /etc/ssh/sshd_config RUN mkdir -p /run/sshd CMD ["/usr/sbin/sshd", "-D", "-e"]
Das hashed password kann man generieren lassen mit:
mkpasswd -m sha-512
.
-
immernoch password based....
wenn du keine lust hast keys aufzusetzen, kannst auch einfach das socket mountensshd: environment: [...] - SSH_AUTH_SOCK: /ssh-agent volumes: [...] - $SSH_AUTH_SOCK:/ssh-agent
-
Wer sagt denn, dass Passwörter unsicher sind? Ich meine, ich habe mit debian schon das sicherste System der Welt gewählt... das auch noch einmal am Tag aktualisiert wird... Na klar, es gab(!!!) Exploits, aber die werden doch auch relativ schnell wieder geschlossen.
Außerdem ist das nicht Fort Knox...
Es bleibt noch eine Frage offen... und zwar, ob und inwieweit es sinnvoll wäre, da den Traefik vorzuschalten.
-
@omggg sagte in Ist dieser Container sicher? Wird er gepflegt?:
ich habe mit debian schon das sicherste System der Welt gewählt...
Sag das keinem OpenBSD Entwickler.
-
debian....die distro dessen entwickler fuer die meisten kernel bugs verantwortlich sind....soll das sicherste system der welt sein? du warst mit dem trollen auch schonmal besser....
-
@Cardiac sagte in Ist dieser Container sicher? Wird er gepflegt?:
debian....die distro dessen entwickler fuer die meisten kernel bugs verantwortlich sind....soll das sicherste system der welt sein? du warst mit dem trollen auch schonmal besser....
Schon
#define _GNU_SOURCE
vergessen?
-
@Cardiac sagte in Ist dieser Container sicher? Wird er gepflegt?:
debian....die distro dessen entwickler fuer die meisten kernel bugs verantwortlich sind....soll das sicherste system der welt sein? du warst mit dem trollen auch schonmal besser....
-
Der Cardiac hat leider nicht daran gedacht, dass es debian auch schon viel länger gibt als andere Distros.
Wäre so, als wenn man behaupten würde, Ronaldo sei ein schlechter Fußballer, weil er mehr Chancen nicht verwandelt hatte als jemand aus der U-21.
-
der cardiac hat nicht daran gedacht, weil es komplett irrelevant ist.
3/4 aller high+ severity kernel bugs der letzten 3 jahre kamen von debian....da spielt es wohl keine grossartige rolle das die distro nen paar jahre aelter ist als openbsd, meinste nicht?
-
@Cardiac
Du versuchst mit einem Troll sinnvolle Argumente auszutauschen. Da wirst Du bald enttäuscht werden
-
Kannst du nicht ein anderes Forum nutzen, dass eher deine Ansichten und Interessen vertritt? Ich wäre nicht traurig wegen des Verlusts.
-
meinst du das, wo du selbst auch schon zig mal gebannt bist?
-
Ja, das Herrscher-Konrad Forum... Kritik ist dort nicht erlaubt, das müsste eigentlich genau die Meinung von oxide entsprechen.
Btw. ... es wäre vielleicht sinnvoll, die host keys auch zu mounten.
-
Oder ist es das Forum wo du 1300 links zu YouTube postest ?
Oder Stack Overflow mit 2 Beiträgen und 0 rep?
Keine sorge Tobias in 10 Jahren, wenn du fest dran glaubst, schaffst du deinen MINT Studiengang.
Hoffe deine Elektrotechnik Klausur ist gut gelaufen?
Ist auch verdammt schwer das richtige Buch zu finden. Aber da gibt es ja Foren, wo man fragen kann.
-
Ohje, genau ins Schwarze getroffen. Der Troll ist schon hier...
-
@Cardiac sagte in Ist dieser Container sicher? Wird er gepflegt?:
wenn du keine lust hast keys aufzusetzen, kannst auch einfach das socket mounten
Wie genau funktioniert das?
Ich hab das jetzt anders gemacht. Damit sich der Fingerprint nicht bei jedem Rebuild ändert, hab ich das jetzt so gemacht:
FROM debian:12 ENV TZ='Europe/Berlin' RUN apt-get -y update && apt-get -y install openssh-server net-tools whois RUN date >> /root/out1.txt RUN useradd -m -p '<...>' -s /bin/bash <benutzerName> RUN sed -i 's/#Port 22/Port 123/g' /etc/ssh/sshd_config RUN sed -i '/^#PermitRootLogin/c\PermitRootLogin no' /etc/ssh/sshd_config RUN mkdir -p /run/sshd CMD cp -rv /root/backup/ssh/ /etc/ ; /usr/sbin/sshd -D -e
my-sshd: build: ./sshd-dockerfile init: true stop_grace_period: 1m volumes: - ./sshd-dockerfile/backup/:/root/backup/ - /<iwas...>/:/home/<benutzerName>/data/:ro ports: - 123:123 labels: - "traefik.enable=false"
Dann starte ich und gehe einmal in den Container mit
docker exec -ti ... bash
und kopiere einmal/etc/ssh/
nach/root/backup/
. Danach kann der Container neu gebaut werden, er behält die Schlüssel/den Fingerabdruck.Das ist natürlich noch nicht optimal. Hättest du eine bessere Idee?
Ich will beim Neubau quasi alles wegschmeißen, bis auf den Fingerabdruck... (Manche SFTP Apps laufen Randale, wenn der Remote einen anderen Fingerabdruck hat... (was ja auch sinnvoll ist, wenn man seinem Government nicht vertrauen kann... bei uns aber eher unwichtig))