pfSense - Como configurar o Hotspot Social e Logs do Marco Civil

Como configurar o Hotspot Social em um servidor pfSense

Como configurar o Hotspot Social em um servidor pfSense

 

IMPORTANTE:

Esse material é voltado para parceiros no modelo de Revenda autorizada.

  • Antes de iniciar a configuração, leia este documento até o fim e analise se a configuração do seu pfSense não será afetada
  • Backup nunca é demais! Antes de prosseguir com a configuração do Hotspot Social, faça um backup total do seu servidor pfSense. Segue o procedimento na documentação oficial do pfSense: Making Backups in the GUI
  • Não há bloqueio de redes sociais antes do dispositivo finalizar a conexão com o Hotspot Social
  • Não é possível desconectar o usuário pelo painel do Hotspot Social.
  • A autenticação dos usuários do Hotspot Social é realizada externamente em nossos servidores Radius.
  • Não é possível usar os Perfis de Conexão do painel do Hotspot Social.
  • O pfSense utilizado é: pfSense Community Edition versão 2.7.2-RELEASE.
  • Em caso de dúvidas entre em contato com nosso time de Suporte pelos canais de atendimento.

Obs.: Neste documento, o Hotspot Social utilizará a faixa de IP 172.20.0.0/16. Você pode usar faixa de IP que desejar.


Passos da configuração

  1. Criar e configurar uma VLAN para o Hotspot Social
  2. Configurar Firewall
  3. Configurar o DHCP Server para o Hotspot Social
  4. Criar autenticação com o nosso servidor Radius
  5. Configurar o Captive Portal (Hotspot)
  6. Liberar ou bloquear dispositivos no Hotspot Social

1. Criar e configurar uma VLAN para o Hotspot Social
 

Para este documento vamos considerar o seguinte cenário que é a realidade na grande maioria dos casos:  

O cliente já tem um pfSense sendo utilizado como firewall de borda e, este pfSense, tem uma interface WAN e outra interface LAN. Para o Hotspot Social será criada uma VLAN que usará a interface LAN. 

Se desejar, o Hotspot Social pode ser configurado direto em uma porta de rede física, sem o uso de VLAN, só adapte a configuração para o seu cenário.

1. Acesse a configuração de VLANs do pfSense: Interfaces => Assignments => aba VLANs e clique em + Add


 


 

2. Configure conforme está abaixo:

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

  • Parent Interface: Escolha a interface onde será criada a VLAN. Geralmente a interface LAN.
  • VLAN Tag: Insira a VLAN ID que você vai utilizar. Em nosso exemplo iremos utilizar a VLAN ID 100.
  • Description: Digite uma descrição para a VLAN.

3. Atribua à interface VLAN recém-criada:  Interfaces => Assignments => aba Interface Assignments e no item Available network ports, que indica a VLAN recém-criada, clique em + Add

4. Por padrão, o pfSense renomeia a nova interface com o nome OPT1. Vamos configurar esta interface:  Interfaces => OPT1

Configure conforme está abaixo:

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Seção General Configuration

  • Enable: Habilitar
  • IPv4 Configuration Type: Static IPv4
  • IPv6 Configuration Type: None

Seção Static IPv4 Configuration 

  • IPv4 Address: 172.20.0.1 / 16
  • IPv6 Configuration Type: None

Após a configuração clique em Save e depois em Apply Changes


2. Configurar Firewall
 

Vamos configurar uma regra de Firewall para liberar o acesso do Hotspot Social à Internet.

1. Criar uma regra de Firewall na interface OPT1: Firewall => Rules => aba OPT1 => Add


 

2. Configurar a regra de Firewall

Configure conforme está abaixo:

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Seção Edit Firewall Rule

  • Action: Pass
  • Disable: NÃO habilitar
  • Interface: OPT1
  • Address Family: IPv4
  • Protocol: Any

Seção Source

  • Source: Any

Seção Destination

  • Destination: Any

Seção Extra Options

  • Log: Habilite caso deseje coletar os logs para o Marco Civil. Veja mais em: pfSense - Logs do Marco Civil
  • Description: Faça uma descrição para a regra. 

Após a configuração clique em Save e depois em Apply Changes


3. Configurar o DHCP Server para o Hotspot Social
 

Agora será configurado um servidor DHCP para entregar endereços IPs para os dispositivos conectados na rede do Hotspot Social.

1. Configurar o DHCP Server na interface OPT1: Services => DHCP Server => aba OPT1


 


 

Configure conforme está abaixo:
 

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Neste documento o DHCP Server entregará IPs entre 172.20.0.11 e 172.20.255.254.  Defina se Address Range Pool de forma que não conflite com algum dispositivo que tiver configurado com IP estático.

Os endereços DNS Server e o Gateway devem ser o mesmo da interface do Hotspot Social.

Seção General DHCP Options

  • Enable: Habilitar

Seção Primary Address Pool

  • Address Pool Range:      From: 172.20.0.11   To: 172.20.255.254

Seção Server Options

  • DNS Servers: 172.20.0.1

Seção Other DHCP Options

  • Gateway: 172.20.0.1

Após a configuração clique em Save e depois em Apply Changes


4. Criar autenticação com o nosso servidor Radius
 

Os dispositivos conectados no Hotspot Social precisam ser autenticados em nosso servidor Radius.

1. Configurar o DHCP Server na interface OPT1: System => User Manager => aba Authentication Servers => + Add

Configure conforme está abaixo:

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Seção Server Settings

  • Descriptive name: Digite uma descrição para o Radius
  • Type: RADIUS

Seção RADIUS Server Settings

  • Protocol: MS-CHAPv2
  • Hostname or IP address: 40.70.60.221
  • Shared Secret: wmngr2761a3301
  • Services offered: Authentication and Accounting
  • Authentication port: 1812
  • Accounting port: 1813
  • Accounting Timeout: 5
  • RADIUS NAS IP Attribute: OPT1 - 172.20.0.1

Após a configuração clique em Save.


5. Configurar o Hotspot Social (Captive Portal)
 

Agora vamos iniciar a configuração do Hotspot Social.

1. Criar um Captive Portal Zone: Services => Captive Portal => + Add

Configure conforme está abaixo:

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Seção Add Captive Portal Zone

  • Zone name: Insira um nome para o Hotspot Social
  • Zone description: Insira uma descrição

Após a configuração clique em Save & Continue.

Seção Captive Portal Configuration

  • Enable: Habilitar
  • Description:  Insira uma descrição
  • Interfaces: OPT1
  • Idle timeout (Minutes):  360

Os clientes serão desconectados após esse período de inatividade. O dispositivo pode fazer login novamente após a desconexão.

Deixe este campo em branco para nenhum tempo limite ocioso.

Configuração padrão 06 horas.

Semelhante ao Tempo de Retorno do Hotspot Social.

  • Hard timeout (Minutes): 120

Um tempo limite, especificado em minutos, após o qual o portal forçará o logoff dos usuários. O dispositivo pode fazer login novamente após a desconexão.

Evite deixar em branco.

Configuração padrão 02 horas.

Semelhante ao Tempo de Sessão do Hotspot Social. 

  • Traffic quota (Megabytes): 

Os clientes serão desconectados após exceder essa quantidade de tráfego, incluindo downloads e uploads. O dispositivo pode fazer login novamente após a desconexão.

Configuração padrão em branco para não ter cota de tráfego.

  • Preserve users database:  Habilitar
  • Concurrent user logins: Multiple
  • Use custom captive portal page:  Habilitar

Seção HTML Page Contents

Para esta seção precisamos dos arquivos da licença do Hotspot Social. Acesse o Painel do Hotspot Social, em Revendas => Licenças Hotspot. Na licença que será utilizada, clique em Ações => Gerar Script

Depois faça o download do arquivo .zip

No arquivo .zip terá 03 arquivos: error.php, index.php e logout.php. 

Estes arquivos serão usados nos passos seguintes:

  • Portal page contents:  Clique em Escolher Arquivo e selecione o arquivo "index.php"
  • Auth error page contents: Clique em Escolher Arquivo e selecione o arquivo "error.php"
  • Logout page contents:  Clique em Escolher Arquivo e selecione o arquivo "logout.php"

Seção Authentication

  • Authentication Method: Use an Authentication backend
  • Authentication Server:  Escolha o Radius criado anteriormente
  • Secondary authentication Server: Não selecione nenhuma opção

Seção Accounting

  • RADIUS: Habilitar
  • Accounting Server:  Escolha o Radius Criado anteriormente
  • Send accounting updates: Interim

Após a configuração clique em Save.
 

2. Clique em editar para continuar configurando o Hotspot Social

 Acesse a aba Allowed IP Addresses e clique em + Add

Configure conforme está abaixo:

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Seção Captive Portal Hostname Settings

  • IP Address: Insira um dos IPs da lista abaixo
  • Description: Insira uma descrição
  • Description: To

Clique em Save

Exemplo:


 

Abaixo tem uma lista com os endereços IPs que devem ser liberados.

Lista de IPs:

  • Obrigatório

20.49.97.15/32

170.82.173.10/32

170.82.173.30/32

170.82.174.10/32

170.82.174.30/32

3. Acesse a aba Allowed Hostnames e clique em + Add

Configure conforme está abaixo:

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Seção Captive Portal Hostname Settings

  • Direction: To
  • Hostname: Insira um dos Hostnames da lista abaixo
  • Description: Insira uma descrição

Clique em Save

Exemplo:

Abaixo tem uma lista com os Hostname que devem ser liberados de acordo com a rede social que será feita a autenticação.

 Obs.: Crie um item para o seu domínio personalizado se sua revenda tiver um

Lista de Hostnames:

  • Obrigatório

loginwifi.live

akadns.net

alphacdn.net

trafficmanager.net

viacep.com.br

doubleclick.net

edgekey.net

akamaitechnologies.com

akamaiedge.net

akamai.com

wifimanager.online

apple.com.edgekey.net
 

Crie um item para a sua revenda se estiver usando um domínio personalizado 

  • Facebook

akamaihd.net

connect.facebook.net

facebook.com

facebook.net

fbcdn.net

graph.facebook.com

static.xx.fbcdn.net

web.facebook.com

www.facebook.com

lm.facebook.com

  • LinkedIn

www.linkedin.com

linkedin.com

static.licdn.com

ponf.linkedin.com

media.linkedin.com

media.licdn.com

dpm.demdex.net

lnkd.demdex.net

  • X (Antigo Twitter)

abs-0.twimg.com

abs.twitter.com

api.twitter.com

pbs.twimg.com

twimg.com

twitter.com

api.twitter.com

x.com

x.twitter.com

  • Google

accounts.google.com

accounts.google.com.br

www.gstatic.com

fonts.gstatic.com

accounts.youtube.com

ssl.gstatic.com

www.googleapis.com

googleapis.com

  • Microsoft 365

login.microsoftonline.com

microsoftonline.com

aadcdn.msauth.net

login.live.com


6. Liberar ou bloquear dispositivos no Hotspot Social
 

Como fazer para liberar (máquina de cartão de crédito, smart TVs, etc.) ou bloquear (não conseguirá fazer o login no Hotspot Social).

1. Acesse a configuração do Hotspot Social (Captive Portal): Services => Captive Portal => Clique em Edit Zone (ícone do lápis)


 

2. Acesse a aba MACs e clique em + Add

2.1 Liberar dispositivo

  • Action: Pass
  • MAC Address:  Insira endereço MAC do dispositivo
  • Description: Insira uma descrição para identificar o dispositivo liberado

2.2 Bloquear dispositivo

  • Action: Block
  • MAC Address:  Insira endereço MAC do dispositivo
  • Description: Insira uma descrição para identificar o dispositivo bloqueado

Aplicando a configuração para Logs do Marco Civil

  • Neste documento, onde estiver escrito Hotspot Social se refere a sua configuração em Captive Portal.
  • O Hotspot Social já deve estar configurado e funcionando. Segue as instruções de configuração.
  • O pfSense deve estar liberado no Firewall para enviar os logs para o endereço log01.wifimanager.online e porta 5140 (UDP).
  • Foi utilizado o pfSense Community Edition versão 2.7.2-RELEASE.
  • Para análise dos logs gerados, segue a documentação oficial do pfSense: Raw Filter Log Format

Passos da configuração

  1. Instalação do pacote Syslog-ng
  2. Configurar Firewall
  3. Configuração de log padrão (System Logs) do pfSense 
  4. Configuração do Syslog-NG

1. Instalação do Syslog-ng

O pacote Syslog-ng é utilizado porque o log padrão do pfSense não oferece muitas opções de personalização

Para fazer a instalação, siga os passos abaixo no pfSense:

1. Acesse o Gerenciador de Pacotes do pfSense: System => Package Manager

2. Clique em Available Packages e procure pelo pacote syslog-ng, clique em + Install e aguarde a instalação terminar.


2. Configurar Firewall

O pfSense precisa saber qual regra de Firewall irá gerar os logs. 

1. Na interface do Hotspot Social já tem uma regra de Firewall que libera o acesso à Internet aos dispositivos conectados no Hotspot Social. Se não tiver esta regra, veja como criar neste tópico da Academia Wi-Fi.

Na imagem, a interface do Hotspot Social é a OPT1, configure a regra que o seu Hotspot Social esteja usando.

2. Habilite a opção Log


3. Configurar de log padrão (System Logs) do pfSense

Agora será configurado o System Logs do pfSense

1. Acesse Status => System Logs

2. Clique na opção Settings

3. Edite as seguintes opções: 

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Seção General Logging Options:

  • Log Message Format: BSD (RFC 3164, Default)
  • Log packets matched from the default pass rules put in the ruleset: Habilitar

Seção Log Rotation Options:

Para o Marco Civil não utilizamos Log Rotation, porém, se o pFsense armazenar os logs gerados pode preencher todo o espaço em disco. Abaixo, está uma configuração padrão desta seção, altere conforme sua realidade:

  • Log Rotation Size (Bytes): 512000
  • Log Compression: gzip
  • Log Retention Count: 7

Seção Remote Logging Options:
 

Os logs serão enviados para o Syslog-ng do próprio pfSense e o Syslog-ng que enviará os logs aos nossos servidores.

  • Enable Remote Logging: Habilitar
  • Source Address: Default (Any)
  • IP Protocol: IPv4
  • Remote log servers: 127.0.0.1:5140
     
  • Remote Syslog Contents: Selecione a opção "Firewall Events". 

4. Configuração do Syslog-ng

O Syslog-ng é o serviço que irá adequar e enviar os logs aos nossos servidores de log do Marco Civil.

1. Acesse a página de configurações: Services => Syslog-ng

2. Na aba General, faça as configurações abaixo:

As opções que não estiverem informadas abaixo devem ser mantidas com o valor padrão

Seção General Options:

  • Enable: Habilitar
  • Interface Selection: Loopback
  • Default Protocol: UDP
  • Default Port: 5140
  • Include SCL: Habilitar

3. Vamos criar os Object Type do Syslog-ng. Mas, antes de iniciar esta configuração, vamos precisar dos seguintes dados:

  • Licença do Hotspot Social que está configurada neste pfSense. Pode ser encontrada no Painel do Hotspot Social, como no exemplo da imagem:

  • A Interface de rede do pfSense que o Hotspot Social está utilizando. Se for interface física será no formato "re1", "hn0" ou algo semelhante. Se for interface virtual (VLAN), o nome será o mesmo da interface física onde a VLAN está configurada seguido de um ponto e do ID da VLAN. Essa interface pode ser encontrada da seguinte forma:

Lembrando que a interface selecionada na imagem é só um exemplo, escolha a que está configurada em seu servidor.

O nome da interface de rede precisamos é o que está na imagem abaixo, neste exemplo é "hn1.101".

Voltando a configuração do Syslog-ng, em Services => Syslog-ng, na aba Advanced crie os Object Type conforme as instruções abaixo:

Clique no botão + Add e configure igual está abaixo

  • Object Name: hs_destination
     
  • Object Type: Destination
  • Object Parameters: { udp("log01.wifimanager.online" port(5140)); };
  • Description: Hotspot Destination

Clique no botão + Add e configure igual está abaixo

  • Object Name: hs_filter
     
  • Object Type: Filter
  • Object Parameters: { match("pass" value("MESSAGE")); match("Interface do Hotspot" value("MESSAGE")); };
  • Description: Hotspot Filter

IMPORTANTE: Em Object Parameters, substituir "Interface do Hotspot" pela interface utilizada pelo Hotspot Social que mostramos no início deste tópico. Exemplo, { match("pass" value("MESSAGE")); match("hn1.101" value("MESSAGE")); };

Clique no botão + Add e configure igual está abaixo

  • Object Name: hs_rewrite
     
  • Object Type: Rewrite
  • Object Parameters: { subst( "filterlog", "licença do Hotspot Social", value("PROGRAM")); };
  • DescriptionHotspot Rewrite

IMPORTANTE:  Em Object Parameters, substituir "licença do Hotspot Social" pela licença do Hotspot Social configurado neste pfSense, como mostramos no início deste tópico. Por exemplo: { subst( "filterlog", "AABBCCDDFF", value("PROGRAM")); };

Clique no botão + Add e configure igual está abaixo

  • Object Name: hs_log
     
  • Object Type: Log
  • Object Parameters: { source(_DEFAULT); rewrite (hs_rewrite); filter(hs_filter); destination(hs_destination); };
  • Description: Hotspot Log

Ufa 😌, agora sim, seu Hotspot está configurado e gerando os logs do Marco Civil, já pode seguir com sua validação 😁💪🏻

Se necessário, entre em contato com nossa equipe de suporte nos canais de atendimento.

Este artigo foi útil?