Como posso bloquear uma conta de usuário até o ponto em que ela possa ler / gravar / executar o mínimo possível?

5

Eu gostaria de bloquear uma conta de usuário do Arch Linux ao máximo possível. A única funcionalidade necessária para a conta é aceitar uma sessão SSH não terminal que permite ao cliente criar um túnel para a Internet.

A situação é que eu quero compartilhar minha conexão remota com alguns amigos. Eu lhes darei uma chave SSH para a conta e configurarei seus programas conforme necessário.

A complicação é que eu não quero colocar 100% de fé em sua capacidade de proteger o arquivo de chave. Eu prefiro minimizar o dano potencial de um compromisso enquanto ainda é hipotético - e aproveitar a oportunidade para aprender mais sobre segurança.

Existe alguma maneira de conseguir uma conta completamente isolada e / ou bloqueada? Posso permitir conexões SSH mas recusar o acesso ao terminal?

Agradeço qualquer ajuda!

    
por James 26.09.2014 / 21:19

1 resposta

5

Quando você adiciona chaves a um arquivo authorized_keys , tem várias opções para restringir o que essa chave pode fazer. Nessa situação, você pode proibir a execução de qualquer comando. Basta prefixar com command="" .

Por exemplo:

command="" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDc7nKsHpuC6W/U131p0yDh455sLE9pWmFxdK...

Quando o usuário deseja se conectar, ele precisa passar -N para ssh . Isso informa ao cliente ssh para não tentar executar um comando, mas apenas para abrir uma conexão (e fazer o tunelamento se configurado). Se o cliente for iniciado sem -N , ele será desconectado imediatamente.

Por exemplo:

ssh -N -D 8080 host.example.com
    
por 27.09.2014 / 01:22