Você está na página 1de 11

Início

Contato

Automatizando Backup PFSense


 By marcelo |  31 de agosto de 2016 |  Nenhum comentário

1
Olá. Como podemos ajudá-lo

hoje?
No tutorial de hoje veremos como fazer o backup automático do seu �rewall pfsense. Quem trabalha com o s
que existe uma ferramenta para isso, porém ela é paga. Aqui apresentarei uma solução alternativa utilizando
SCP e o pacote Cron.

Vamos ao cenário.

Digamos que você tenha vários servidores PFSense espalhados geogra�camente e precise concentrar um bac
máquina em sua matriz ou escritório principal. Nessa matriz nós teremos um servidor linux que receberá esse
dessa forma nós não precisamos ter um Ip público em cada unidade, apenas na matriz. Sendo assim, todos o
servidor �rewall de cada unidade enviará seu arquivo de con�guração para a matriz onde �carão a sua dispos
dai, você pode incluir esse diretório em sua rotina de backup sem problemas. Para enviarmos o backup de um
para outra será necessário que o seu servidor linux seja acessível remotamente através de ssh, se você não so
fazer isso, aprenda aqui.

Para o tutorial a seguir utilizaremos duas máquinas virtuais, uma com o Ubuntu Server 14.04.4 e a outra com
2.3.2. Esse tutorial se aplica a qualquer sistema operacional dos chamados Unix Like. Você apenas precisará
ou dois comandos.

Vamos a primeira parte do tutorial, onde preparamos o ambiente que receberá os arquivos.

Para conhecer nosso curso PFSense + Zabbix, que aborda todas essas questões em aulas simples em vídeo, cl

Todos os comandos presentes nesse tutorial serão realizados com o usuário root.

1 – Acesse seu servidor e crie o diretório que receberá os arquivos através do comando mkdir. No meu caso �

# mkdir /data/bkppfsense/server1

Você pode usar uma pasta já existente, porém por medidas de segurança o dono dessa pasta deve ser um us
não seja o root do sistema. O comando SCP faz a cópia do arquivo via ssh, e como por padrão o ssh não aceita
root, precisamos acessar através de outro usuário, sendo assim, esse usuário tem que ser o proprietário do d

2 – Altere o proprietário do diretório criado através do comando chown. No meu caso �cará assim:

# chown marcelo.root -R /data/bkppfsense/

Dessa forma deixaremos o usuário marcelo como dono de todos os diretórios dentro do diretório bkppfsense
usuários pertencentes ao grupo root também serão donos.

Agora vamos criar o arquivo onde �carão armazenadas as chaves criadas nos servidores que enviarão os arqu
chaves serão a forma de autenticação no nosso servidor linux. O arquivo deve �car no diretório home do usuá
colocamos como dono dos diretórios onde �carão os arquivos. No meu caso �cará em /home/marcelo
/.ssh/authorized_keys. Autorized_keys é o nome do arquivo de texto onde colocaremos cada chave. Caso o d
ainda não exista, basta que seja criado.

Importante: Caso precise alterar o nome do arquivo onde ficarão as chaves ou o nome da pasta .ssh, é
faze-lo editando o arquivo de configuração do sshd em /etc/ssh/sshd_config
Para criar o arquivo utilize o editor de texto de sua preferência, no meu caso utilizarei o Midnight Commander
comando mcedit.

# mcedit /home/marcelo/.ssh/authorized_keys

Digite qualquer letra e salve, vamos editar corretamente esse arquivo quando criarmos as chaves.

Caso você queira usar o mc, mas não o tenha instalado no servidor, instale a partir do comando:

# apt-get install mc

Se por algum motivo o pacote não for encontrado, tente atualizar sua lista de repositórios através do comand

# apt-get update

Agora que estamos prontos para receber as chaves e os arquivos, vamos acessar o servidor PFSense e começ
con�gurações referentes a ele.

Primeiro acessaremos o servidor via ssh e escolheremos a opção 8 – Shell

Agora criaremos nossa chave através do comando:

# ssh-keygen

O sistema perguntará em qual arquivo deseja salvar a chave, aperte enter para manter o padrão. Depois pedi
passphrase para a chave, aperte enter para deixar em branco, aperte enter novamente na con�rmação. Para
corretamente é necessário que apenas o root possa ler esse arquivo, para isso utilize o comando:

# chmod 400 /root/.ssh/id_rsa.pub

Precisamos agora copiar o conteúdo desse arquivo criado para aquele arquivo authorized_keys que criamos
anteriormente. Para mim, a forma mais fácil de fazer isso é:

1 – Acesse a interface web do pfsense, vá em diagnostics e escolha a opção Edit File


2 – Clique em browse, localize o caminho /root/.ssh e clique no arquivo id_rsa.pub.

Copie a linha completa desse arquivo, volte ao servidor linux, edite novamente o arquivo authorized_keys, apa
escreveu anteriormente e cole o conteúdo copiado do arquivo do servidor pfsense. Caso tenha optado por ut
digite o comando:

# mcedit /home/marcelo/.ssh/authorized_keys

Para colar o conteúdo aperte shift + insert e salve o arquivo.


Esse arquivo authorized_keys pode conter todas as chaves de todos os servidores pfsense, desde que estejam
por linhas.

3 – Ainda em Edit File, clique em Browse novamente e encontre o caminho /etc/ssh/ e clique no arquivo ssh_co

4 – Procure as linhas destacadas na imagem abaixo e apague o carácter # no inicio de cada uma. Clique em Sa
5 – Agora precisamos reiniciar o serviço do ssh do PFSense. A maneira mais fácil é clicando em Status, e depoi
Services.
6 – Localize a linha do SSHD e reinicie o serviço.

Dessa forma já estamos prontos para realizar o comando SCP para testarmos. Acesse o pfsense novamente v
digite o comando:

# scp -i /root/.ssh/id_rsa.pub /cf/conf/config.xml marcelo@10.1.1.10:/data/bkppfsense/server1/config`d


+%Y-%m-%d-%H.%M.%S`.xml 

onde:

SCP é o comando para cópia de arquivo através do shell


-i indica que a autenticação será através da chave criada.

/root/.ssh/id_rsa.pub é o arquivo que contém a chave no servidor que está enviando o xml. Nesse caso, nosso

/cf/conf/con�g.xml é o arquivo de con�guração do pfsense que será enviado para o linux.

marcelo é o nome do usuário que colocamos como proprietário das pastas que receberão os arquivos.

@10.1.1.10 é o ip do meu servidor linux. Onde �carão os arquivos .xml.

:/data/bkppfsense/server1/ é o local para onde o arquivo será copiado no servidor linux

con�g`date +%Y-%m-%d-%H.%M.%S`.xml é o nome do arquivo com as variáveis que serão substituídas pela d
de criação do arquivos. As variáveis são importantes para que você saiba de quando é aquele backup.

Rodando manualmente ele deve perguntar a primeira vez se você con�a nesse host, responda sim. Também p
passphrase, apenas aperte enter pois deixamos em branco. Quando automatizarmos esse processo ele funcio
normalmente sem essas con�rmações.

A parte da cópia do arquivo já está pronta, agora vamos a automatização em si. Para isso criaremos um script
comando que acabamos de rodar. Vamos sempre da maneira mais fácil.

1 – Acesse novamente a opção edit �le, no campo onde �ca o caminho que estamos acessando digite /etc/xm
conteúdo do arquivo digite o nosso comando scp. Clique em Save. Será criado um arquivo conforme os camp
preenchidos.

2 – Agora daremos permissão de executável a esse arquivo. Através do menu Diagnostics – Command Promp
acessando o pfsense novamente pelo ssh utilize o comando:

# chmod +x /etc/xmlbkp.sh

Rode o script para testarmos através do comando:


# /etc/./xmlbkp.sh  

Se estiver tudo certo, basta instalarmos o pacote Cron no pfsense e adicionarmos uma linha com o conteúdo 
/xmlbkp.sh  para ser executado pelo usuário root diariamente no horário de nossa preferencia. No meu caso

Dessa forma, todos dias as 18:15 o meu servidor pfsense enviará para meu servidor linux o arquivo con�g.xm

Quanto ao restore, eu ja testei (várias vezes infelizmente) e funciona. Vamos aprender também como fazer. Co
arquivo .xml desejado para o computador onde você acessa a interface web do pfsense e realize os passos ab

1 – Acesse o menu diagnostics e clique em Backup & Restore


2- Escolha se deseja fazer o backup completo do sistema ou de alguma área especí�ca do xml, como por exem
Rules. Selecione o arquivo e clique em restore configuration.

Importante: Caso esteja realizando o restore completo e o sistema encontrar placas de rede com nome
diferentes do original, ele perguntará qual placa é a interface WAN, LAN e assim por diante para todas
interfaces configuradas no seu sistema.

Espero que tenha ajudado, qualquer dúvida, erro, sugestão ou correção, por favor, deixem um comentário e e
em contanto.

Obrigado pela atenção de todos.

OS Unix Like, PFsense | Tags: automatico, automatizando, backup, Cron, pfsense, scp, script, SSH
Navegação de Post

Como con�gurar DNS dinâmico no PFSense Squid com autenticação local + SquidGuard com categorias n

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *
Comentário

Nome *

E-mail *

Site

Publicar comentário

Powered by WordPressMMoraes Soluções 2019 | All Rig