Por que não definir MaxSessions do OpenSSH para 1000000? [fechadas]

3

Eu tenho meu cliente SSH configurado para multiplexar minhas sessões:

Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h-%p
ControlPersist 600

Ocasionalmente, encontro o lado do servidor OpenSSH padrão MaxSessions limite de 10. A resposta óbvia é aumentar MaxSessions para um número significativamente maior do que eu jamais precisaria.

Existe um motivo para não apenas configurá-lo para 1000000? O padrão de 10 sugere que isso é um motivo para não.

Tudo o que eu posso fazer é talvez 10 ou mais, conexões ocupadas podem ser menos eficientes, mas vendo como o dano seria limitado a mim mesmo, eu não tenho certeza se esta é a razão.

    
por Alan De Smet 28.12.2016 / 21:09

3 respostas

7

Há sempre uma razão para limitar qualquer coisa. O 10 é "padrão são". Quanto menos for para casos de uso mais restritivos (impedindo o acesso ao shell ou permitindo apenas um canal), aumentar o volume para mais pode também fazer sentido, se você realmente souber, estará emitindo milhões de sessões. Eu raramente abro mais de 4.

Para a pergunta:

Is there a reason to not just set it to 1000000?

max_sessions variable tem int type, portanto, o máximo O valor possível é 2147483647 . Nada impede que você monte o seu milhão ideal.

... mas como já mencionado, não há uma boa razão para fazer isso.

Não há nenhum efeito de segurança significativo ao usar mais sessões (uma vez que uma única sessão do atacante é aberta, você está ferrado), mas pode haver uma penalidade de desempenho ao usar mais delas.

    
por 28.12.2016 / 21:22
3

Is there a reason to not just set it to 1000000?

Sim. Porque se você executar um script que acidentalmente consome sessões ssh, você corre o risco de DoS ing seu próprio servidor. Você realmente quer se deparar com uma situação em que outros aplicativos no mesmo servidor não consigam mais abrir arquivos? O número de descritores de arquivos abertos é limitado por /proc/sys/fs/file-max e, geralmente, o valor padrão é inferior a 1 M.

Você deve configurá-lo para o máximo que você acha que precisa, além de um colchão de segurança, não para um valor arbitrariamente grande.

    
por 28.12.2016 / 23:30
0

Cada sessão do SSH usa recursos. Um benchmarking rápido diz que uma sessão típica usa um ID de processo, 500 kb de memória não compartilhada e sete descritores de arquivo. Todos esses recursos são limitados e, se eles se esgotarem, seu servidor ficará sem resposta ou indisponível.

Tenha em mente que você não é o único que está se conectando ao seu servidor. Há um número de botnets por aí procurando por servidores SSH com segurança inadequada, e eles também usam recursos.

    
por 28.12.2016 / 23:46

Tags