Mam serwer z systemem Ubuntu i demonem OpenSSH. Nazwijmy to S1.
Używam tego serwera z maszyn klienckich (nazwijmy jeden z nich C1), aby wykonać tunel zwrotny SSH za pomocą zdalnego przekierowania portów, np .:
ssh -R 1234:localhost:23 login@S1
Na S1 używam domyślnego pliku sshd_config. Z tego, co widzę, każdy posiadający odpowiednie poświadczenia {login, pwd} na S1 może zalogować się do S1 i albo wykonać zdalne przekierowanie portów i przekierowanie portów lokalnych. Takie poświadczenia mogą w przyszłości stanowić certyfikat, więc według mnie każdy, kto pobierze certyfikat, może zalogować się do S1 z dowolnego miejsca (niekoniecznie C1), a tym samym utworzyć przekierowanie portów lokalnych.
Dla mnie zezwolenie na przekierowanie portów lokalnych jest zbyt niebezpieczne, ponieważ pozwala stworzyć pewnego rodzaju publiczny serwer proxy. Szukam sposobu, aby wyłączyć tylko przekazywanie -L.
Próbowałem następujących czynności, ale powoduje to wyłączenie przekazywania lokalnego i zdalnego:
AllowTcpForwarding No
Próbowałem także następujących, pozwoli to tylko -L na SX: 1. To lepsze niż nic, ale wciąż nie to, czego potrzebuję, co jest opcją „brak”.
PermitOpen SX:1
Zastanawiam się więc, czy jest jakiś sposób, abym mógł zabronić wszystkim lokalnym portom przekazywania dalej pisania czegoś takiego:
PermitOpen none:none
Czy poniższe są dobrym pomysłem?
PermitOpen localhost:1