# Integrando com o AD para autenticação via Captive Portal do pfSense

## Selecionando tipo de integração <a href="#selecionando-tipo-de-integracao" id="selecionando-tipo-de-integracao"></a>

A primeira alteração que devemos fazer é a troca da interação do captive portal com o portal da própria ferramenta (forward), para o pull and push, que é a comunicação com o portal do pfSense® (na questão de interação, principalmente para quem usa AD, a melhor opção é o forward, por ter a possibilidade de efetuar a autenticação por LDAP).

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FyEuyIua5pGJBPLRwz83u%2Fimage.png?alt=media&#x26;token=c3aa5f55-c66d-4d14-8868-41f6f0229edc" alt=""><figcaption></figcaption></figure>

Na verdade ao tentar colocar o pull and push, ele obriga a ter um captive portal do pfSense® configurado.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2F4gymwvPWhiMfPBV9ZWLz%2Fimage.png?alt=media&#x26;token=eb205c8b-0cd0-4537-84c9-371861283903" alt=""><figcaption></figcaption></figure>

## Criamos um captive portal <a href="#criamos-um-captive-portal" id="criamos-um-captive-portal"></a>

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FAT6Vn8iKnVhoN9PQFrbt%2Fimage.png?alt=media&#x26;token=39640efe-c3a3-4838-9b35-920d57bd0929" alt=""><figcaption></figcaption></figure>

Configuramos ele na LAN

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FSy6FahNb7KvJfsyFb3Be%2Fimage.png?alt=media&#x26;token=2aec991d-246f-4462-96ba-de0a16124f8f" alt=""><figcaption></figcaption></figure>

## Tipos de autenticação do Captive Portal <a href="#tipos-de-autenticacao-do-captive-portal" id="tipos-de-autenticacao-do-captive-portal"></a>

Configuramos a autenticação por usuários locais ou voucher, e salvamos, efetuando uma configuração bem simples nele.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FVwMWjNTSpl0F1CD5It2l%2Fimage.png?alt=media&#x26;token=81db24a2-0ac9-4816-9297-231a014e2cd0" alt=""><figcaption></figcaption></figure>

## Configurando UserAuth para Captive portal do pfSense® <a href="#configurando-userauth-para-captive-portal-do-pfsense" id="configurando-userauth-para-captive-portal-do-pfsense"></a>

Agora sim, podemos configurar o UserAuth como pull and push, e selecionamos o Captive portal LAB.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FIkOwivuQvZk4yFEYE28c%2Fimage.png?alt=media&#x26;token=22f54b67-0b46-46e5-bfea-dbde17bf537b" alt=""><figcaption></figcaption></figure>

## Efetuando testes <a href="#efetuando-testes" id="efetuando-testes"></a>

Agora para efetuarmos os testes vamos matar as conexões existentes dentro do UserAuth, e efetuar um logoff/logon das maquinas virtuais.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FnSeFK9o9olnUZnq8if9e%2Fimage.png?alt=media&#x26;token=49a51cb0-1813-438c-b3d6-522552194f01" alt=""><figcaption></figcaption></figure>

Efetuamos o acesso novamente da máquina virtual.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FazyxXylx095Hlcdeh8P4%2Fimage.png?alt=media&#x26;token=f01d40a0-9fcc-495f-bb6b-a94e85778777" alt=""><figcaption></figcaption></figure>

E podemos verificar que nos logs do UserAuth ele já aparece como usuário adicionado e redirecionando para o portal captive do pfSense®

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2Fb68ZIEBvqq1E427OhmF9%2Fimage.png?alt=media&#x26;token=f823f4d2-7d9d-4fcb-add1-f8b6e386a351" alt=""><figcaption></figcaption></figure>

Também no status do captive portal, podemos verificar que o usuário já aparece como logado.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2F2LEOUZgzP0dGcBOMZWQ9%2Fimage.png?alt=media&#x26;token=40c655bd-27df-46fa-8d31-f8f1df81aa71" alt=""><figcaption></figcaption></figure>

Podemos verificar que como está logado, as páginas já estão carregando.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FYwWaioDtrUpxFAGrWf6y%2Fimage.png?alt=media&#x26;token=50694328-93d7-4b6e-a8bf-659dd0e6fb32" alt=""><figcaption></figcaption></figure>

Já com a máquina virtual Linux, que não está no AD, ao atualizar a página, já é redirecionado para o captive portal do pfSense®.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FZGjWzB6zUgsdWyQXlxIx%2Fimage.png?alt=media&#x26;token=05f48386-86af-4db1-99ea-0a92c77ad035" alt=""><figcaption></figcaption></figure>

Para não ter de adicionar os usuários no grupo do captive portal do pfSense®, vamos nas configurações do mesmo e remover a opção que obriga ao usuário estar adicionado, e salvamos.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2F1dWPOWevlrPbgF5etRt7%2Fimage.png?alt=media&#x26;token=8171a4a3-f342-43b6-a3c0-4b31de9ed47e" alt=""><figcaption></figcaption></figure>

Agora, com a configuração de acesso de admin do pfSense®, já conseguimos efetuar o acesso.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2Fsp5cCzoRoUoD2axhr5Gi%2Fimage.png?alt=media&#x26;token=1cafef51-3632-4ed1-a87b-de5e5a9489e8" alt=""><figcaption></figcaption></figure>

Verificando no status do Captive portal, já podemos verificar o novo acesso, e como não foi feito pelo AD, ele importa até as informações do MAC Address (em redes grandes, com muitos equipamentos de distribuição de rede, muitas vezes os dados do MAC não são importados).

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FT8HxsAlbp0R7486KryT1%2Fimage.png?alt=media&#x26;token=a619425a-d8d2-4356-9318-07229507f3e0" alt=""><figcaption></figcaption></figure>

Verificando nas sessões ativas do UserAuth, podemos verificar que que ambas as conexões estão ativas, e funcionais.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FqS8B5ABHcTHsKGcSkYxT%2Fimage.png?alt=media&#x26;token=d31d706e-7d99-4e10-b0c7-e61b3e68a576" alt=""><figcaption></figcaption></figure>
