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

hotspotsocial.xyz

licdn.net

licdn.com

instagram.com

api.x.com

msedge.net

wifimanager.azurewebsites.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")); };
  • Description: Hotspot 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.