Re: ssh -N en alleen maar ssh -N toestaan (succes)
On Tue, Mar 28, 2023 at 09:32:56PM +0200, Paul van der Vlis wrote: > Op 27-03-2023 om 23:22 schreef Geert Stappers: > > Op 26-03-2023 om 12:50 schreef Geert Stappers: > > > > > > Uit `man 1 ssh` > > > > > > -N Do not execute a remote command. > > > This is useful for just forward ports. > > > > > > Nu is `ssh -N` een client kant ding. > > > > > > Hoe aan server kant borgen dat alleen maar port forwarding gebeurd? > > > > > > Ik had gedacht om het dicht te timmeren door aan authorized_keys > > > op de server wat toe te voegen aan de regel met de pubkey voor > > > het account dat de `ssh -N` moet gaan doen. > > > > > > Er is "no-port-forwarding" > > > https://www.ssh.com/academy/ssh/authorized-keys-openssh#no-port-forwarding > > > maar niet iets als "only-port-forwarding" > > > > > > > kunnen oplossen door > > > > command="echo Don\'t do that" > > > > voor de pubkey in ~/.ssh/authorized_keys te zetten. Dat is aan server > > kant. > > > > Als ik `ssh -N -R :127.0.0.1:22 server` doe, krijg ik de gewenste > > portforward. Als ik iets zonder `-N` doe, komt er "Don't do that" terug. > > Waarom geen shell die alles weigert? Poortnummer van de gewenste port forward is langer dan 1025. Om dan de port open te krijgen is superuserprivilege nodig. Daar ga ik de shell niet van dichtzetten. > Groet, > Paul Groeten Geert Stappers -- Silence is hard to parse
Re: ssh -N en alleen maar ssh -N toestaan (succes)
Hoi Geert, Op 27-03-2023 om 23:22 schreef Geert Stappers: On Mon, Mar 27, 2023 at 12:07:38AM +0200, Paul van der Vlis wrote: Op 26-03-2023 om 23:51 schreef Paul van der Vlis: Hoi Geert en anderen, Op 26-03-2023 om 12:50 schreef Geert Stappers: Hoi, Uit `man 1 ssh` -N Do not execute a remote command. This is useful for just forward ports. Nu is `ssh -N` een client kant ding. Hoe aan server kant borgen dat alleen maar port forwarding gebeurd? Ik had gedacht om het dicht te timmeren door aan authorized_keys op de server wat toe te voegen aan de regel met de pubkey voor het account dat de `ssh -N` moet gaan doen. Er is "no-port-forwarding" https://www.ssh.com/academy/ssh/authorized-keys-openssh#no-port-forwarding maar niet iets als "only-port-forwarding" https://www.ssh.com/academy/ssh/authorized-keys-openssh Wat zien jullie zoal aan mogelijkheden om aan server kant er voor te zorgen dat SSH client alleen maar een verbinding voor de portforward maakt, dat shell access niet kan? Wat ik doe aan de server-kant is /usr/sbin/nologin als shell gebruiken. Oh, en ik zie dat ik ook dit nog doe in sshd_config: - UsePAM no Match User een,twee AllowTcpForwarding remote AllowStreamLocalForwarding no X11Forwarding no PermitTTY no PermitEmptyPasswords yes PasswordAuthentication yes - Kritiek is welkom ;-) Stukje zelfkritiek: er voor te zorgen dat SSH client alleen maar een verbinding voor de portforward maakt, dat shell access niet kan? had er voor te zorgen dat SSH client alleen maar een verbinding voor de portforward maakt. zullen zijn. Dat aandacht op "alleen maar een verbinding voor portforward" blijft. Oorspronkelijke vraag heb ik kunnen oplossen door command="echo Don\'t do that" voor de pubkey in ~/.ssh/authorized_keys te zetten. Dat is aan server kant. Als ik `ssh -N -R :127.0.0.1:22 server` doe, krijg ik de gewenste portforward. Als ik iets zonder `-N` doe, komt er "Don't do that" terug. Waarom geen shell die alles weigert? Ik heb trouwens nog een kleine extra beveiliging in de firewall, mensen moeten zich eerst ergens aanmelden, dan pas krijgt hun IP toegang. Met behulp van from="hun IP" voor de pubkey in authorized_keys? Ze moeten eerst ergens naar een webpagina gaan, die triggert een script wat de firewall openzet voor hun IP voor een dag. Normaal staat die firewall dicht. Ze kunnen "inloggen" zonder key en zonder paswoord, maar krijgen dus "nologin" als prompt. Het is alleen bedoeld voor portforward, via die portforward kan ik op hun machine komen voor support. Groet, Paul -- Paul van der Vlis Linux systeembeheer Groningen https://vandervlis.nl/
Re: ssh -N en alleen maar ssh -N toestaan (succes)
On Mon, Mar 27, 2023 at 12:07:38AM +0200, Paul van der Vlis wrote: > Op 26-03-2023 om 23:51 schreef Paul van der Vlis: > > Hoi Geert en anderen, > > > > Op 26-03-2023 om 12:50 schreef Geert Stappers: > > > Hoi, > > > > > > Uit `man 1 ssh` > > > > > > -N Do not execute a remote command. > > > This is useful for just forward ports. > > > > > > > > > Nu is `ssh -N` een client kant ding. > > > > > > Hoe aan server kant borgen dat alleen maar port forwarding gebeurd? > > > > > > > > > > > > Ik had gedacht om het dicht te timmeren door aan authorized_keys > > > op de server wat toe te voegen aan de regel met de pubkey voor > > > het account dat de `ssh -N` moet gaan doen. > > > > > > Er is "no-port-forwarding" > > > https://www.ssh.com/academy/ssh/authorized-keys-openssh#no-port-forwarding > > > maar niet iets als "only-port-forwarding" > > > https://www.ssh.com/academy/ssh/authorized-keys-openssh > > > > > > Wat zien jullie zoal aan mogelijkheden om aan server kant > > > er voor te zorgen dat SSH client alleen maar een verbinding > > > voor de portforward maakt, dat shell access niet kan? > > > > Wat ik doe aan de server-kant is /usr/sbin/nologin als shell gebruiken. > > Oh, en ik zie dat ik ook dit nog doe in sshd_config: > - > UsePAM no > Match User een,twee > AllowTcpForwarding remote > AllowStreamLocalForwarding no > X11Forwarding no > PermitTTY no > PermitEmptyPasswords yes > PasswordAuthentication yes > - > > Kritiek is welkom ;-) Stukje zelfkritiek: > > > er voor te zorgen dat SSH client alleen maar een verbinding > > > voor de portforward maakt, dat shell access niet kan? had > > > er voor te zorgen dat SSH client alleen maar een verbinding > > > voor de portforward maakt. zullen zijn. Dat aandacht op "alleen maar een verbinding voor portforward" blijft. Oorspronkelijke vraag heb ik kunnen oplossen door command="echo Don\'t do that" voor de pubkey in ~/.ssh/authorized_keys te zetten. Dat is aan server kant. Als ik `ssh -N -R :127.0.0.1:22 server` doe, krijg ik de gewenste portforward. Als ik iets zonder `-N` doe, komt er "Don't do that" terug. > Ik heb trouwens nog een kleine extra beveiliging in de firewall, mensen > moeten zich eerst ergens aanmelden, dan pas krijgt hun IP toegang. Met behulp van from="hun IP" voor de pubkey in authorized_keys? Groeten Geert Stappers -- Silence is hard to parse
Re: ssh -N en alleen maar ssh -N toestaan
Op 26-03-2023 om 23:51 schreef Paul van der Vlis: Hoi Geert en anderen, Op 26-03-2023 om 12:50 schreef Geert Stappers: Hoi, Uit `man 1 ssh` -N Do not execute a remote command. This is useful for just forward ports. Nu is `ssh -N` een client kant ding. Hoe aan server kant borgen dat alleen maar port forwarding gebeurd? Ik had gedacht om het dicht te timmeren door aan authorized_keys op de server wat toe te voegen aan de regel met de pubkey voor het account dat de `ssh -N` moet gaan doen. Er is "no-port-forwarding" https://www.ssh.com/academy/ssh/authorized-keys-openssh#no-port-forwarding maar niet iets als "only-port-forwarding" https://www.ssh.com/academy/ssh/authorized-keys-openssh Wat zien jullie zoal aan mogelijkheden om aan server kant er voor te zorgen dat SSH client alleen maar een verbinding voor de portforward maakt, dat shell access niet kan? Wat ik doe aan de server-kant is /usr/sbin/nologin als shell gebruiken. Oh, en ik zie dat ik ook dit nog doe in sshd_config: - UsePAM no Match User een,twee AllowTcpForwarding remote AllowStreamLocalForwarding no X11Forwarding no PermitTTY no PermitEmptyPasswords yes PasswordAuthentication yes - Kritiek is welkom ;-) Ik heb trouwens nog een kleine extra beveiliging in de firewall, mensen moeten zich eerst ergens aanmelden, dan pas krijgt hun IP toegang. Groet, Paul -- Paul van der Vlis Linux systeembeheer Groningen https://vandervlis.nl/
Re: ssh -N en alleen maar ssh -N toestaan
Hoi Geert en anderen, Op 26-03-2023 om 12:50 schreef Geert Stappers: Hoi, Uit `man 1 ssh` -N Do not execute a remote command. This is useful for just forward ports. Nu is `ssh -N` een client kant ding. Hoe aan server kant borgen dat alleen maar port forwarding gebeurd? Ik had gedacht om het dicht te timmeren door aan authorized_keys op de server wat toe te voegen aan de regel met de pubkey voor het account dat de `ssh -N` moet gaan doen. Er is "no-port-forwarding" https://www.ssh.com/academy/ssh/authorized-keys-openssh#no-port-forwarding maar niet iets als "only-port-forwarding" https://www.ssh.com/academy/ssh/authorized-keys-openssh Wat zien jullie zoal aan mogelijkheden om aan server kant er voor te zorgen dat SSH client alleen maar een verbinding voor de portforward maakt, dat shell access niet kan? Wat ik doe aan de server-kant is /usr/sbin/nologin als shell gebruiken. Groet, Paul -- Paul van der Vlis Linux systeembeheer Groningen https://vandervlis.nl/
ssh -N en alleen maar ssh -N toestaan
Hoi, Uit `man 1 ssh` -N Do not execute a remote command. This is useful for just forward ports. Nu is `ssh -N` een client kant ding. Hoe aan server kant borgen dat alleen maar port forwarding gebeurd? Ik had gedacht om het dicht te timmeren door aan authorized_keys op de server wat toe te voegen aan de regel met de pubkey voor het account dat de `ssh -N` moet gaan doen. Er is "no-port-forwarding" https://www.ssh.com/academy/ssh/authorized-keys-openssh#no-port-forwarding maar niet iets als "only-port-forwarding" https://www.ssh.com/academy/ssh/authorized-keys-openssh Wat zien jullie zoal aan mogelijkheden om aan server kant er voor te zorgen dat SSH client alleen maar een verbinding voor de portforward maakt, dat shell access niet kan? Groeten Geert Stappers -- Silence is hard to parse