Você está na página 1de 26

001 - pfSense - Instalação e

configuração padrão

VERSÃO DOC DATA AUTOR OBS

1 03/05/2018 Felipe Criação


Melquíades documento
Objetivo: Documentar a instalação e configuração padrão do pfSense para a rede de
internet para clientes.

Topologia de rede padrão

A rede não precisa ter, necessariamente, um switch. Pode ser um roteador Wi-Fi
direto. A topologia acima é baseada no cenário atual, mas a distribuição da LAN pode se
dar de qualquer forma, pois tudo irá passar pelo pfSense.
1. Instalação do sistema operacional
Criar uma mídia de instalação do pfSense e dar boot na máquina que será instalado o
sistema. Ao efetuar o boot, será apresentada a seguinte tela:

Teclamos Enter para iniciar o setup.


Aguarde até chegar na tela abaixo:

As configurações padrões nos servem, portanto escolha a quarta opção.

Vamos com a opção Quick/Easy Install, pois queremos a instalação padrão.


Lembrete de que essa opção irá apagar tudo do HD!
Aguardar a instalação.

Vamos escolher o Standard Kernel, que nos dará um console quando conectado com
monitor e teclado.

Escolha Reboot para reiniciar.


Aguarde ou dê Enter para bootar no pfSense

Essa é a tela customizada do console do pfSense. Por aqui iremos configurar a rede, para
então podermos usar o painel de administração web. Note que ele já lista as interfaces de
rede e seus IPs.
2. Configuração da rede
A dica é deixar o sinal de internet na porta primária do computador, ou seja, a onboard, no
caso de um desktop. Como o sinal de internet está isolado e deixamos o modem com
DHCP ativado, a placa WAN irá receber um IP. Estando no padrão, deverá ser 172.16.0.X
na WAN e 192.168.1.1 na LAN.

No exemplo acima está 10.0.2.15 pois esse é um DHCP criado internamente no VirtualBOX,
onde instalei a VM.

Escolha a opção 2 para configurar os IPs das placas de rede.

Escolha 1 para configuramos a WAN.


Serão solicitadas informações na ordem dos números amarelos acima. Preencha conforme
abaixo:
1 - Pergunta se deve usar IP automático ou não. Digite n para dizer que não, pois queremos
fixar.
2 - Pergunta qual IP queremos fixar. Escolha 172.16.0.254
3 - Pergunta a máscara de rede. Escolha 24
4 - Pergunta o IP do gateway, que é o IP que deixamos no modem: 172.16.0.1
5 - Pergunta se quer usar DHCP para o IPv6, digite n para dizer que não.
6 - Pergunta se quer setar um IPv6 fixo. Dê um Enter para deixar em branco.
7 - Pergunta se quer reverter o protocolo do painel web para HTTP. Digite n para dizer que
não, pois queremos que permaneça como HTTPS.
Por fim, ele irá alterar o IP e confirmar a mudança. Dê um enter para voltar ao menu
principal. Entre novamente na opção 2 do menu, pois agora vamos alterar a LAN.
1 - Digite 2, pois agora vamos alterar a LAN
2 - Digite 192.168.7.1, que é nosso padrão para as redes internas de clientes.
3 - Digite 24, que é a máscara de rede.
4 - Deixe em branco pois já temos gateway definido na WAN.
5 - IPv6, também em branco.
6 - Pergunta se queremos ativar o servidor DHCP na LAN. Digite y para dizer que sim.
7 - Pede o IP inicial do pool DHCP: 192.168.7.20
8 - Pede o IP final do pool DHCP: 192.168.7.240
9 - Digite n para não reverter para HTTP.
Pronto, LAN configurada. Confirme com Enter.
Confira os novos IPs atribuídos na WAN e LAN.
3. Configurações de segurança
Para fazer a personalização do sistema, utilizar o painel de administração web. Para tanto,
deve-se conectar na rede LAN. Deverá receber um IP dentro do range definido em nosso
DHCP anteriormente.
Entrar no portal web. Pode acessá-lo pelo navegador utilizando o endereço LAN do
servidor, https://192.168.7.1, e a tela abaixo será apresentada:

Clique no logotipo do pfSense no topo para sair do wizard.


Essa é a página principal da administração.
Vamos começar alterando a senha do admin. Acesse o menu System > User Manager.
Agora vamos para as configurações avançadas. Entre no menu System > Advanced.
Preencha conforme abaixo.

DNS Rebind Check - Proteção contra-ataques de DNS Rebinding. Para usar essa opção,
seria necessária configuração nos servidores DNS que encaminham para o site. Como não
vamos usar acesso remoto por IP fixo, marcamos para desativar. Se ficar desmarcado,
impedirá o acesso remoto por DDNS.
Browser HTTP_REFERER enforcement - Marcamos essa opção para desativar essa
verificação, que também impede acesso remoto por DDNS.
Secure Shell Server - Marcamos para ativar o SSH, pois assim será possível acessar o
console do servidor remotamente.
SSH port - Definimos 50222 como porta SSH.
Por fim, marque para proteger a console física com senha e salve. Agora vá no menu
System > General Setup
Definimos o Hostname e domínio no padrão acima. Altere o hostname conforme a loja, no
padrão que temos usados (veja lista atual).

Defina a Timezone acima.


4. Instalação e configuração do Squid
Agora, vá no menu System > Package Manager > Available Packages
Pesquise por squid e instale o respectivo pacote.

Agora, vamos configurar o squid pelo menu Services > Squid Proxy Server.

Marque para ativar o squid e deixe selecionada a interface LAN.

Agora, marque para usar o modo transparente, e novamente selecione a LAN.


Marque para habilitar o log de acesso. Embaixo, defina o caminho como no print. Por último,
defina 185 dias para manter o log.
5. Liberar acesso externo
Vamos, agora, liberar a entrada de conexões externas nas portas 443 e 50222, que são as
portas de acesso ao portal e ao SSH. Acesse o menu Firewall > Rules.

Clique no Add para adicionar uma regra.

Deixe tudo no padrão, exceto os destaques acima. Em Destination port range coloque o
range de portas a liberar. Como é somente uma, repita ou deixe em branco o segundo
campo. Em Description, forneça breve descrição do que se trata.
Faça uma regra para cada porta: 443 (HTTPS) e 50222 (SSH Externo)
6. Ativação do Captive Portal
Vamos, agora, ativar e configurar o Captive Portal, que é a página que aparecerá pedindo
cupom e CPF do usuário. Vá no menu Services > Captive Portal. Clique em Add para
adicionarmos uma zona.
OBS.: é possível criar diversos portais em um mesmo servidor. Cada portal pode ser
linkado a uma interface de rede. Usuários provenientes de cada interface passarão pelo seu
respectivo portal.

Preencha conforme a necessidade;

Acima, ao marcar para ativar o portal, será carregado o resto das configurações. Selecione
a LAN como interface de rede desse portal.

Mais abaixo, preencha conforme acima. No primeiro campo, definimos a página para a
qual o usuário será redirecionado após autenticar no portal.
No segundo, definimos o caminho da página à qual o usuário será redirecionado quando o
seu MAC estiver bloqueado. Preencha conforme acima pois depois enviaremos a imagem
para o servidor.
No terceiro, marcamos para definir que somente o dispositivo do último login efetuado será
aceito. Isso também valerá para os cupons e significa que, consequentemente, será
possível utilizar apenas 1 dispositivo por cupom: aquele que você usou o cupom por último.

Mais abaixo, marque a opção do meio em Authentication para indicar que desejamos usar
cupons. Desmarque o checkbox embaixo, para permitir que qualquer usuário autentique no
portal. Por fim, carregue as páginas.

Portal page contents: página apresentada quando o usuário conecta na rede e


tenta acessar a WAN por qualquer motivo. Por exemplo: acessar a internet.
Carregue o arquivo portal_home.html

Auth error page contents: apresentada quando erram o cupom, ou o mesmo está
vencido. Carregue o arquivo portal_erro.html

Feito isso, salve as configurações. Vamos, agora, enviar arquivos personalizados


para o servidor. Os arquivos abaixo referenciados se encontram na mesma pasta citada
anteriormente. Utilize o WinSCP para fazer o acesso. Você deve acessar pela LAN através
do IP 192.168.7.1. Lembre que a porta de acesso é a 50222. Envie todos para a pasta
/etc/local/captiveportal

● Pasta css → pasta com arquivos de estilo


● arquivo mac.html → página de exibição de MAC bloqueado
● imagem logo-savar.png → logotipo da Savar
● arquivo index.php (aceite substituir) → modificado com verificação e log do CPF.

Por fim, abra o servidor via SSH, com o PuTTY, também porta 50222. Rode o
comando abaixo:

touch /var/log/acesso.log
7. Configuração dos cupons
Nas configurações do captive portal, acesse a aba Vouchers. Aqui vamos configurar
os parâmetros para o algoritmo de geração de cupons (vouchers). Marque o checkbox
para ativar.

Para gerar cupons, o sistema utiliza uma chave RSA, um set de caracteres para
usar, mais 3 parâmetros. Quanto maior o tamanho da chave, da quantidade de caracteres
possíveis e quanto maior o tamanho dos parâmetros, maior será o código do cupom.

A fim de simplificar a digitação, usaremos uma chave RSA de 31 bits, caracteres


hexadecimais e os parâmetros do print a seguir. Isso resultará em cupons com, em média, 7
caracteres.

Para gerar uma chave, acesse o servidor via SSH. Lembre que a porta é 50222.
1. Rode o comando openssl genrsa 31 > key.private para criar uma chave privada
dentro do arquivo key.private.
2. Rode o comando openssl rsa -pubout < key.private > key.public para obter a
chave pública da chave privada e salvar no arquivo key.public
3. Rode o comando cat key.public para imprimir na tela a chave pública. Cole ela no
campo Voucher Public Key no pfSense.
4. Rode o comando cat key.private para imprimir na tela a chave pública. Cole ela no
campo Voucher Private Key no pfSense.
Coladas as chaves, defina o Character set e os outros campos conforme acima.
O restante pode ficar com o padrão que estiver. Salve o portal. Se necessário siga a
doc sobre criação de cupons, referenciada na introdução, para criar os mesmos.
8. Configuração do DDNS
Como os links que utilizamos para a redes são com IP dinâmico, ou seja, o IP
externo é alterado periodicamente, temos que utilizar um servidor de DDNS para acessar o
portal de forma remota. Basicamente, é um servidor DNS com ferramentas para atualização
automática do IP de certo domínio.
No caso, criamos um domínio gratuito no DuckDNS e programamos o pfSense para
atualizar o IP do mesmo sempre que ele muda.
Acesse o www.duckdns.org, crie uma conta e um domínio no padrão atual.
Depois, vá na página install do site, marque pfSense, escolha o domínio e copie o
link que irá aparecer no fim da página.
Esse link, quando acessado, atualiza o IP de nosso servidor para o domínio
especificado no servidor do DuckDNS. O IP é passado pela variável %IP% que devolve o IP
atual do pfSense.
Acesse o menu Services > Dynamic DNS
Selecione a opção Custom, cole o link em Update URL e digite OK em Result
Match. O OK é o retorno do DuckDNS avisando que o update foi bem-sucedido.

Você também pode gostar