> For the complete documentation index, see [llms.txt](https://docs.userauth.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.userauth.com.br/configurando-o-seu-userauth/escolha-as-suas-autenticacoes/opcoes-de-autenticacoes-avancadas/integrando-userauth-com-dc-samba.md).

# Integrando UserAuth com DC Samba

## **Integração com Controlador de domínio SAMBA**

### Pré-requisitos <a href="#pre-requisitos" id="pre-requisitos"></a>

Para autenticar usuários previamente cadastrados num Servidor PDC SAMBA (com o recurso de **Controlador de Domínio** ativado) no pfSense® com o UserAuth, faz-se necessários alguns pré-requisitos. A maioria das configurações são implementadas no lado do próprio Servidor SAMBA.

Abaixo, descreveremos um passo a passo a ser seguido:

### **PASSO 1**

O primeiro pré-requisito para usarmos autenticação de usuários no UserAuth através de servidor SAMBA, é verificar a versão do pacote no seu servidor Linux. O formato do arquivo de Log interpretado pelo UserAuth só está disponível a partir do SAMBA 4.10, [conforme documentação oficial](https://www.samba.org/samba/history/samba-4.10.0.html)

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2F6Po0ALH4jo55MoQ7IP1R%2Fimage.png?alt=media&amp;token=7d4f504e-d476-4a9b-a30a-c743ecc23c0f" alt=""><figcaption></figcaption></figure>

Para verificar a versão do pacote SAMBA instalada no seu servidor Linux, basta executar o seguinte comando (logado como root):

```
    smbd --version
```

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FVafaw56f4JdzMRG4UzdO%2Fimage.png?alt=media&amp;token=f713acba-83a0-4484-a20f-007c5b58edb7" alt=""><figcaption></figcaption></figure>

### **PASSO 2**

O primeiro passo é verificar no servidor SAMBA se a versão do serviço “smbd” já possui suporte a JSON. Para validar este ponto, basta executar o comando abaixo, conforme a [documentação oficial do próprio SAMBA disponível na internet](https://wiki.samba.org/index.php/Setting_up_Audit_Logging).

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FmX2117xBtjZr3GlqWdif%2Fimage.png?alt=media&amp;token=0f7bf956-69f2-4d61-9dab-5288ec52f47c" alt=""><figcaption></figcaption></figure>

```
smbd -b | grep HAVE_JSON_OBJECT
```

Após verificar se o suporte ao JSON está ativado, é necessário ativar o recurso de log incluindo a linha abaixo no arquivo *smb.conf* e reiniciar o serviço do SAMBA.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2F8MUQaoDvnb2oMq77OSId%2Fimage.png?alt=media&amp;token=104ff043-c91c-42c1-979f-309852e7098e" alt=""><figcaption></figcaption></figure>

### **PASSO 3**

Neste segundo passo iremos possibilitar ao pfSense® ler os logs do servidor SAMBA. Neste sentido, iremos utilizar o **NFS** – um recurso bem conhecido em servidores Unix-Like. Neste ponto, o pré-requisito é a instalação de alguns pacotes no seu Servidor SAMBA.

O exemplo abaixo aborda um exemplo de comando em servidores Debian/Ubuntu Linux:

```
apt install nfs-util nfs-kernel-server
```

**OBS:** O nome dos pacotes pode variar de acordo com versão da distribuição Linux que vocês está utilizando.

Após a instalação deve-se parametrizar o arquivo ***/etc/exports***. Esta configuração irá implementar uma ACL permitindo a leitura dos logs somente por intermédio do IP do seu servidor pfSense®.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2Fw5xr484ANRn58gIkz44s%2Fimage.png?alt=media&amp;token=7cd58726-407e-45f5-9e11-eed7f295e29a" alt=""><figcaption></figcaption></figure>

Neste exemplo o IP “192.168.65.1” é o IP do Firewall pfSense® onde o UserAuth está instalado. Após o procedimento o serviço “NFS” precisa ser reiniciado no seu Servidor SAMBA.

Ainda, pode ser necessário (dependendo da configuração atual do SAMBA) alterar a permissão da pasta de logs.

```
chmod +rx /var/log/samba

chmod -R +r /var/log/samba
```

**Arquivo de log**

O arquivo que é lido pela UserAuth para identificar os eventos de autenticação dos usuários no dominio é o ***/var/log/samba/log.smbd***, caso o samba não esteja encaminhando o log dos eventos para este arquivo deve-se aplicar este parâmetro no arquivo de configuração do serviço e reinicia-lo.

```
log file = /var/log/samba/log.smbd
```

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FrKaoqhzuZQRFOfl2AyRd%2Fimage.png?alt=media&amp;token=e7d9f5a9-27b0-40b6-9b46-6b57e177bd7f" alt=""><figcaption></figcaption></figure>

Alem disso, os log gerados pela autenticação podem ser conferidos neste arquivo a cada autenticação.

```
tail -f /var/log/samba/log.smbd
```

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FSyUQRLaEbNlJZXdILgBG%2Fimage.png?alt=media&amp;token=ad62f55e-923a-4be6-898e-187eb1897f0b" alt=""><figcaption></figcaption></figure>

## Configurando Integração com SAMBA <a href="#configurando-integracao-com-samba" id="configurando-integracao-com-samba"></a>

Com todos os pré-requisitos satisfeitos, basta configurar a integração no UserAuth com o Servidor PDC SAMBA. Acesse a aba *Domains* da ferramenta e adicionar uma nova configuração, preenchendo as informações conforme descrição de cada campo.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FLFIKlkI03QkmUQp932Ry%2Fimage.png?alt=media&amp;token=f9a8bbaf-8ed6-4438-8ddd-14a4577f2b92" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FX2Rhpqis2uHwLPnyIReH%2Fimage.png?alt=media&amp;token=1f7b0399-3e49-411e-8cae-749b047e0f22" alt=""><figcaption></figcaption></figure>

Feita a configuração, pode-se acompanhar o status da integração na aba “Logs”. A ferramenta mostrará que foi capaz de montar a unidade remota (NFS) para leitura dos logs.

Neste momento, o UserAuth será capaz de identificar automaticamente os usuários que fizerem login nas estações ingressadas no **PDC SAMBA**, da mesma forma como procede com um Servidor Windows Active Directory.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FPVBf3HhO0n3Oih2ywIs7%2Fimage.png?alt=media&amp;token=56e903f4-d1ed-44c4-aee5-86f293916c45" alt=""><figcaption></figcaption></figure>

<div align="center"><figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FEqrcCahHJZObPsCkrGUs%2Fimage.png?alt=media&amp;token=033b7736-4187-4b34-877f-b5cbd451f925" alt=""><figcaption></figcaption></figure></div>

## Alterando origem dos grupos <a href="#alterando-origem-dos-grupos" id="alterando-origem-dos-grupos"></a>

Para configurar/alterar a pesquisa dos grupos de origem dos usuários para o Servidor SAMBA, basta acessar a dashboard inicial da ferramenta UserAurh e selecionar a opção: “*Samba LDAP groups*”.

<div align="center"><figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2F7NYPXGALb2vdcmhQWhtR%2Fimage.png?alt=media&amp;token=5e704477-9f76-4889-8cc9-22f515ac3eb5" alt=""><figcaption></figcaption></figure></div>

Leitura dos usuários nos grupos configurados.

<figure><img src="https://1714437560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpDCDzvnBYNPCAsAfnRIZ%2Fuploads%2FgCCM9Sy33sfrcI3lUMMx%2Fimage.png?alt=media&amp;token=029dee81-0a3a-4ab4-8171-4833d7457629" alt=""><figcaption></figcaption></figure>
