Como conceder acesso temporário ao servidor?

15

Contratei um consultor remoto para ajustar meus servidores. Agora, não estou 100% confiante em fornecer a senha root e permitir que ele faça o que ele quiser nos servidores. Idealmente, quero ver tudo o que ele está fazendo nos meus servidores (em tempo real) e também encontrar uma maneira de não compartilhar a senha root com ele.

Existem práticas recomendadas para permitir que um consultor remoto acesse seu servidor?

EDIT: Para esclarecer, quero fazer algum tipo de compartilhamento de tela com o consultor. Existe algum método pelo qual seus comandos são tunelados pela minha conta sem que ele obtenha nenhuma senha?

PS: Meus servidores estão no Ubuntu 9.10

Paras Chopra
fonte
4
Eu acho que a confiança deve vir antes de qualquer outra coisa . Se você não confia nele (o suficiente), não o deixe mexer com seu servidor. Além disso, faça um backup por precaução e tente não ter dados confidenciais no servidor.
Cristian Ciupitu 14/09/10

Respostas:

8

Você pode deixá-lo conectar-se a uma conta regular e depois monitorar sua sessão SSH . A solução baseada em tela é a melhor na minha opinião e permitirá que você "emparelhe" a administração do sistema. Por exemplo, ele poderia digitar os comandos sudo e você digitaria a senha caso seja necessário.

PS Se você usa a tela, isso não significa que você também não deve usar o sudosh2 ou outras soluções.

Cristian Ciupitu
fonte
15

Em vez de conceder a ele a senha root, use sudo.

Se você quiser ver tudo o que ele está fazendo em tempo real como superusuário, confira sudosh2 . Dos documentos:

sudosh é um filtro de shell de auditoria e pode ser usado como um shell de login. O Sudosh grava todas as teclas e saídas e pode reproduzir a sessão como um videocassete.

"Todas as teclas" incluem teclas de backspaces, caracteres de exclusão, 'apagar palavra' do BASH, etc. Você pode assistir a erros e correções embaraçosos de alguém, etc.

O sudosh oferecerá suporte ao syslog e você poderá enviar os logs para um servidor syslog remoto. Isso garantiria que o usuário não pudesse apagar todas as cópias dos logs de auditoria.

Observe que o projeto original sudosh (a primeira versão) foi abandonado por seu autor. sudosh2 está vivo e bem.

Stefan Lasiewski
fonte
2

Realmente depende do nível de acesso que você deseja dar a ele / ela. Eu nunca ativaria logins raiz remotos em primeiro lugar. Somente contas "normais" devem ter acesso remoto e, em seguida, configurar o sudo para o que a pessoa precisar.

Chris S
fonte
Mas uma conta com sudo não é equivalente a fornecer acesso root?
Paras Chopra
4
@Paras Chopra - depende do tipo de configuração que você usa - você pode limitar o sudoacesso a determinados comandos, por exemplo
warren
2

Primeiro, você deve ter objetivos claramente definidos para o que gostaria que ele fizesse. Uma vez definidos esses objetivos, você pode conceder a ele o nível de acesso necessário para atingir esses objetivos.

É como deixar meu carro na oficina e dizer a eles para "consertar". A próxima coisa que você sabe é que tenho uma conta de milhares de dólares e eles fizeram coisas que eu não queria e não pedi.

joeqwerty
fonte
0

Estou adicionando outra resposta diferente em resposta à sua atualização.

Usando a tela GNU, você pode compartilhar uma tela com outro usuário. Isso significa que ele pode digitar comandos e você vê tudo o que ele digita. Você pode digitar comandos e ele pode ver o que você digita. Quando ele solicita uma senha, você pode digitar a senha, mas o conteúdo da senha não é impresso na tela (Nota: Embora o texto não seja impresso na tela, não tenho certeza se o outro usuário conseguirá acessar pressionamentos de teclas de alguma outra maneira ou tenha acesso ao buffer de pressionamentos de teclas, etc.).

Mais informações em http://www.debian-administration.org/article/Using_GNU_screen%27s_multiuser_feature_for_remote_support

Outra sugestão: Altere a senha root para uma senha temporária anteriormente. Quando ele se for, restaure a senha root para a senha original.

Stefan Lasiewski
fonte
1
Eu já sugeri usar a tela .
Cristian Ciupitu 14/09/10
0

Se você permitir apenas o acesso da chave pública ao servidor, mas não o login com senha, poderá revogar o acesso a qualquer momento, removendo a chave que você forneceu ao consultor.

Uma vez na máquina, a tela GNU deve fornecer todas as funcionalidades desejadas - como sugerido por Cristian Ciupitu. Se você deseja adicionar mais conforto, o sudosh2 pode ajudá-lo, mas o histórico de shells e a cópia impressa da tela podem ajudá-lo a reproduzir os comandos mais tarde ...

MaoPU
fonte