Acesso SSH limitado para recuperação de log

4

Eu quero ter acesso limitado a um servidor Linux para poder pegar um determinado conjunto de logs. Idealmente, eu gostaria de poder executar o rsync localmente para pegar os logs do servidor e, por motivos de segurança, não quero dar ao usuário acesso completo ao login ssh.

    
por Stuart Woodward 15.05.2013 / 07:57

1 resposta

8

Crie um usuário separado apenas para essa finalidade. Faça o login do usuário apenas com uma chave SSH. No arquivo authorized_keys para o usuário, edite a chave pública para permitir apenas um comando. Esse comando deve não ser um ponteiro para um script de shell; Em vez disso, insira o shell script diretamente na chave.

Aqui está um exemplo. A configuração aqui é que, no servidor, há uma tarefa cron que move os logs diários para / var / log / logfetch. Outro servidor, com o IP 10.1.2.3, conectará e enviará um comando. Se o comando for BACKUP, o cliente receberá um arquivo tar gzipado dos arquivos no diretório / var / log / logfetch. Se for um nome de arquivo, o arquivo com esse nome em / var / log / logfetch será excluído. Qualquer outro comando será ignorado. Todos os comandos serão registrados. Conexões só são permitidas a partir desse endereço IP.

from="10.1.2.3",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="read ARG;HOST=$(/usr/bin/hostname);if [ \"$ARG\" = \"BACKUP\" ]; then cd /var/log/logfetc;/usr/bin/tar -cf - *;/usr/bin/logger -t LOGFETCH -p daemon.info \"INFO: Backup-files on $HOST fetched from ${SSH_CLIENT%% *} by $USER\";else cd /var/log/logfetch; if [ -f $ARG ]; then /usr/bin/rm $ARG;/usr/bin/logger -t LOGFETCH -p daemon.info \"INFO: Backup-file \"$ARG\" removed on $HOST by $USER\";else /usr/bin/logger -t LOGFETCH -p daemon.info \"WARNING: $USER failed to remove \"$ARG\" on $HOST\";exit -1;fi;fi " ssh-dss AA.....

Isso pode ser um exagero para sua situação em particular, mas é razoavelmente difícil para um terceiro abusar e deve ser possível adaptar-se às suas necessidades particulares.

    
por 15.05.2013 / 09:39