Backup automatizado e seguro usando SSH / SCP / SFTP

São muitos os scripts de backup existentes hoje na Internet para o fim de agilizar e automatizar esse importante e muitas vezes esquecido item de Segurança da Informação. Mas poucos se preocupam em como esses dados serão enviados, podendo criar mais problemas do que solução.

[ Hits: 113.066 ]

Por: Carlos Vinícius Braga dos Santos em 29/05/2007 | Blog: http://slaypher.wordpress.com


Introdução



São muitos os scripts de backup existentes hoje na Internet para o fim de agilizar e automatizar esse importante e muitas vezes esquecido item de Segurança da Informação. Mas poucos se preocupam em como esses dados serão enviados, e acabam usando métodos sem proteção contra interceptação, podendo criar mais problemas do que solução. Antes de entrar em detalhes, primeiramente vamos conhecer sobre o SSH, SCP e SFTP.

O SSH como todos devem conhecer, é um conjunto de comandos que nos permite estabelecer uma conexão a uma determinada máquina distante fisicamente de forma segura, usando criptografia, evitando que os dados sejam revelados, mesmo perante uma interceptação. Os principais comandos do pacote SSH são:
  • sshd: O daemon (processo em segundo plano), ou servidor SSH que permite que usuários conectem a máquina.
  • ssh: O cliente usado para conectar a uma máquina rodando o daemon servidor, ou seja, o sshd.
  • ssh-keygen: O gerador de chaves para estabelecer conexões com hosts confiáveis, sem a necessidade de especificar uma senha.
  • scp: Comando usado pra enviar e receber arquivos de um servidor rodando o daemon sshd, é o comando "cp" mas usando criptografia.
  • sftp: Assim como seu primo ftp, mas também usando criptografia e precisa de um servidor ssh habilitado para tal.

O método mais comum é usar o próprio servidor de e-mail configurado no servidor para enviar os arquivos de backup para um determinado endereço. Esse método apesar de simples, pouco se preocupa com a segurança, a não ser que você esteja se conectando a um servidor que aceite criptografia de dados durante a transmissão, mas poucos são esses. Creio que um deles é o Gmail.

Mas surge um outro problema, pois nem todo mundo tem um servidor de e-mail rodando para usar os comandos "mail" ou "mutt" para enviar a partir da própria máquina para um endereço qualquer. E mesmo que tenha, as vezes não é permitido fazer tais operações, isso normalmente ocorre quando você aluga um host e o pessoal não permite que seja enviado e-mails dessa forma, até afim de evitar o uso indiscriminado por Spammers e Phishings.

Se você percebeu as falhas e possíveis problemas que esse método, podemos então começar a listar também alguns problemas que enfrentaremos ao tentar usar SSH e SCP para realizar os nossos backup. Mas ué!? Já serão listados os problemas? Sim!

O primeiro deles é que para usar o comando SCP ou mesmo o SFTP você precisa criar um usuário válido e que tenha acesso shell ao seu Sistema, ou seja, não é algo muito interessante pra se fazer, afinal, mesmo um usuário comum pode vir a lhe causar problemas.

Outro ponto é com relação a senha, pois esses comandos só podem trabalhar se forem fornecidas as senhas de acesso para o usuário efetuar login pelo SSH, mas se o script deve funcionar de forma automatizada, não faz sentido termos que digitar a senha toda vez que o backup for efetuado.

Mas tenham calma, apesar dos problemas, essa é uma forma segura de realizar o backup e nós vamos aprender como superar todas essas dificuldades no decorrer da leitura.

Vale ressaltar que estou usando Slackware 11.0, instalação full, kernel 2.6.17.13 cujo fonte vem disponível no DVD do Slackware, ou em um dos CD's sources.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando servidor SSH
   3. O shell restrito chamado RSSH
   4. Criando jaula SSH de segurança (Jail)
   5. A hora da verdade! O backup
   6. Considerações finais
Outros artigos deste autor

Utilizando atributos em partições ReiserFS

Traduzir dicas e mensagens do login

Você sabe o que é INODE?

Leitura recomendada

Configurando Proxy Reverso NGINX com SSL e Apache em Virtual Hosts no Debian

Detectando vulnerabilidades com o Nessus

IDS com Snort + Guardian + Debian Lenny

Seu maior inimigo é você mesmo!

Como fazer: chroot SSH (SSH mais seguro)

  
Comentários
[1] Comentário enviado por mbsalgueiro em 29/05/2007 - 10:24h

Cara parabens pelo artigo! Gostei d+ q vou comecar a usa-lo no servidor aqui q dou suporte! =)
So me tira uma duvida eu quero aumentar o tamanho do bk eu mudo essas duas linhas neh?

if [ $(du BKP_`basename $i`_`date +%Y_D%d_M%m`.tar.gz | cut -f1) -gt 10000 ];

if [ $(du BKP_`basename $i`_`date +%Y_D%d_M%m`.tar.gz | cut -f1) -le 10000 ];

e retiro essa pq ela eh p quebrar se o bk for maior de 10Mb

split -b 10m BKP_`basename $i`_`date +%Y_D%d_M%m`.tar.gz BKP_`basename $i`_`date +%Y_D%d_M%m`.tar.gz.

vlww pela att!
abraco

[2] Comentário enviado por slaypher em 29/05/2007 - 23:30h

Olá,

Desculpe a demora para responder, e espero que o artigo junto com o script venha a ser muito útil para você.

Mas respondendo sua questão, você pode também alterar apenas os valores, caso queira um volume maior na quebra, por exemplo 50MB, basta alterar os valores para a sua necessidade ou comentar a parte da quebra dos pacotes.

[]'s

[3] Comentário enviado por cilmar_oliveira em 07/02/2008 - 22:45h

Muito útil....bom mesmo...
valew

[4] Comentário enviado por Maielo em 11/02/2008 - 17:25h

Parabéns pelo artigo, ajudou muito.


Vlw =]]

[5] Comentário enviado por marujo em 19/01/2009 - 11:24h

Irmãozinho parabéns, está muito bem elaborado e explicado...

[6] Comentário enviado por femars em 05/01/2010 - 10:38h

Mto bom, parabens!

[7] Comentário enviado por ls_ketzer em 24/03/2010 - 15:30h

Muito bom mesmo, meus parabens!!!

Feitas as devidas adaptações ta funcionando beleza...

[8] Comentário enviado por paulopmt1 em 26/06/2013 - 11:36h

Olá amigo,
este script faz verificação da data do arquivo antes de enviar (só envia se o arquivo de origem foi modificado)?

Parabéns pelo artigo!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts