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.