Ligar um servidor LDAP genérico ao Sophos Firewall
Com o tipo de servidor LDAP server, o Sophos Firewall autentica utilizadores de OpenLDAP, 389 Directory Server, FreeIPA, Google Secure LDAP e outros diretórios LDAP. O processo completo tem quatro partes: criar um grupo local, ligar o servidor LDAP de forma segura, ativar o servidor em Authentication > Services e verificar o início de sessão e a associação ao grupo com um utilizador real.
Para Windows Active Directory com LDAPS, importação de grupos ou AD SSO, é mais adequado Ligar o Active Directory ao Sophos Firewall. A autenticação RADIUS através do Microsoft NPS ou de um gateway MFA é explicada em Configurar um servidor RADIUS no Sophos Firewall.
Quem tiver de substituir o tipo de servidor eDirectory nativo antes do SFOS 23 encontra em Migrar o eDirectory antes do SFOS 23 o processo completo com inventário, seleção do destino, operação paralela e caminho de reversão.
Pré-requisitos
- acesso WebAdmin ao Sophos Firewall
- comunicação entre o firewall e o servidor LDAP, normalmente pela porta
389para STARTTLS ou636para SSL/TLS - uma conta de bind com acesso de leitura à área necessária do diretório
- Bind DN e Base DN, por exemplo
cn=svc-sophos,ou=service,dc=example,dc=neteou=people,dc=example,dc=net - os atributos de utilizador efetivamente usados, como
uid,cn,maile um atributo de grupo - a cadeia de confiança da CA adequada e resolução DNS funcional quando a validação do certificado está ativa
⚠️ Uma conta de bind deve ter apenas acesso de leitura à subárvore necessária. Não é usada para alterações administrativas no diretório, mas apenas para autenticar perante o servidor LDAP as consultas de utilizadores efetuadas pelo firewall.
Adicionar o servidor LDAP
Preparar o grupo LDAP local
- Abrir
Authentication > Groupse selecionarAdd. - Criar um grupo com um nome inequívoco, por exemplo
Utilizadores-LDAP. - Definir o acesso, os limites de tempo e as restantes políticas de grupo de acordo com a utilização prevista e guardar.
Este grupo será depois utilizado como Default group. Não impede automaticamente o acesso: as políticas atribuídas ao grupo e as regras do respetivo serviço determinam o que é permitido.
A lógica geral dos grupos com um Default Group restritivo, substituições dos utilizadores, piloto e reversão encontra-se em Gerir grupos de utilizadores da Sophos Firewall em segurança; a atribuição específica de LDAP resulta depois do atributo de grupo e do esquema do diretório.
Configurar a ligação e o bind
- Abrir
Authentication > Serverse selecionarAdd. - Selecionar
LDAP servercomoServer type. - Atribuir um
Server nameinequívoco, por exemploLDAP-Empresa. - Em
Server IP/domain, introduzir o nome DNS do servidor LDAP. Com a validação do certificado ativa, deve corresponder a um nome no certificado do servidor. - Utilizar
Version 3, exceto se o diretório exigir outra versão. O Google Secure LDAP suporta apenas a versão 3. - Para produção, selecionar
SSL/TLSouSTARTTLSe a porta correspondente. - Desativar
Anonymous logine introduzir oBind DNe aPasswordda conta de leitura. - Ativar
Append base DNapenas se o servidor LDAP esperar que a Base DN seja acrescentada durante o bind. - Ativar
Validate server certificatequando o nome, o DNS e a confiança da CA estiverem corretamente configurados. Só é necessário umClient certificatese o serviço LDAP exigir autenticação mútua por certificados.
Introduzir a base de pesquisa e os atributos
- Em
Base DN, introduzir o ponto inicial da pesquisa de utilizadores, por exemploou=people,dc=example,dc=net.Get base DNpode obter a base de pesquisa disponibilizada pelo servidor. - Definir
Authentication attributecomo o atributo de início de sessão, normalmenteuidoumail. - Introduzir
Display name attributeeEmail address attributede acordo com o objeto de utilizador, por exemplocnemail. - Em
Group name attribute, introduzir o atributo a partir do qual o firewall recebe as informações de grupo do utilizador. A Sophos recomendamemberOf, mas o valor correto depende do esquema do diretório. - Se o diretório fornecer uma data de expiração da conta, introduzir o
Expiry date attributeadequado. - Executar
Test connectione guardar comSave.
Segundo a Sophos, Test connection verifica a ligação e as credenciais. Só um início de sessão real permite saber se a Base DN inclui todos os utilizadores necessários e se os grupos são atribuídos corretamente.
Escolher a encriptação correta
O LDAP em texto simples transmite as credenciais sem encriptação e, no máximo, é adequado para um teste isolado. Em produção, a ligação deve ser protegida por SSL/TLS, normalmente na porta 636, ou STARTTLS, normalmente na porta 389.
É necessário distinguir duas funções dos certificados:
Validate server certificateverifica a identidade do servidor LDAP remoto.Server IP/domaindeve corresponder a um nome DNS válido no certificado, ou seja, ao Common Name ou a um Subject Alternative Name. Se a firewall não conseguir resolver esse nome, deve ser adicionada uma entrada DNS adequada emNetwork > DNS > DNS host entry. Configurar e testar DNS Host Entries na Sophos Firewall explica o TTL, a pesquisa inversa e o teste do resolvedor. A CA emissora também tem de ser considerada fidedigna.Client certificateidentifica o firewall perante um serviço LDAP que exige autenticação mútua por certificados. Este certificado não substitui a validação do certificado do servidor.
Perante um erro TLS, corrigir primeiro o nome do servidor, a resolução DNS, a validade e a cadeia da CA. Desativar a validação do certificado do servidor não deve ser a solução predefinida.
Introduzir corretamente o Bind DN e a Base DN
A causa mais frequente de erros num novo servidor LDAP é uma sintaxe DN mal escrita ou mal interpretada.
- Um DN vai do objeto específico até à raiz do diretório, por exemplo
cn=svc-sophos,ou=service,dc=example,dc=net. - A Base DN começa no ponto onde deve iniciar-se a pesquisa de utilizadores. Se os utilizadores estiverem em várias unidades organizacionais, deve ficar suficientemente acima na árvore para os abranger.
- Uma Base DN demasiado restrita não devolve utilizadores correspondentes, embora o servidor esteja acessível. Uma base de pesquisa desnecessariamente ampla pode tornar as pesquisas mais lentas e incluir objetos indesejados.
Append base DNacrescenta a Base DN a um Bind DN incompleto durante o bind. Se o DN já estiver completo, a opção fica normalmente desativada; o comportamento do servidor LDAP é determinante.
Ativar grupos e serviços
Group name attribute não é uma opção universal para todas as estruturas de grupos LDAP. Durante o início de sessão, o firewall lê o atributo configurado no objeto de utilizador e utiliza as informações de grupo devolvidas para a associação. A Sophos recomenda memberOf, e o Google Secure LDAP utiliza este valor. No entanto, OpenLDAP, 389-ds ou FreeIPA podem exigir outro valor, consoante o esquema, o overlay e o objeto de utilizador.
Não se deve deduzir o atributo de utilizador apenas a partir do tipo de grupo groupOfNames ou posixGroup. O que importa é aquilo que o objeto de utilizador real devolve e se o grupo correspondente está corretamente mapeado no firewall. Se o firewall não encontrar uma associação de grupo adequada, o utilizador é colocado no Default group configurado.
Em seguida, ativar o servidor:
- Abrir
Authentication > Services. - Em
Firewall authentication methods, selecionar o servidor LDAP e movê-lo para a posição pretendida emSelected authentication servers. O firewall consulta vários servidores por esta ordem. - Selecionar o grupo
Utilizadores-LDAPcriado anteriormente comoDefault groupe clicar emApply. - Se os utilizadores precisarem de iniciar sessão no User Portal, VPN Portal, por SSL VPN, noutro serviço VPN ou como administradores, selecionar também o servidor LDAP no respetivo método de autenticação.
Configurar o Google Secure LDAP
Antes de configurar o firewall, é criado um cliente LDAP na Consola de Administração Google. São definidos os respetivos direitos de acesso, descarregado o certificado com a chave privada e geradas credenciais separadas. A palavra-passe deixa de ser apresentada depois de fechar a caixa de diálogo da Google.
O certificado de cliente da Google é importado com o respetivo certificado e chave privada em Certificates > Certificates > Add. O Sophos Firewall pode apresentá-lo como não fidedigno por ser autoassinado pela Google, mas continua a funcionar para autenticação do cliente. Esta indicação não diz respeito à validação do certificado do servidor.
Para o servidor LDAP, utilizar os seguintes valores:
Server IP/domain:ldap.google.comVersion:3Connection security:SSL/TLSPort:636Anonymous login: desativadoBind DNePassword: as credenciais LDAP da Google geradasAppend base DN: desativadoClient certificate: o certificado da Google importadoBase DN: introduzir ou obter através deGet base DNAuthentication attribute:UIDDisplay name attribute:CNEmail address attribute:mailGroup name attribute:memberOfExpiry date attribute:expiry
mail é necessário para criar grupos LDAP da Google. Depois de guardar, aplicam-se os mesmos passos que num diretório local: definir o grupo LDAP local, ativar o servidor em Authentication > Services e testar um início de sessão real juntamente com a respetiva associação ao grupo.
Verificar a ligação e a associação aos grupos
Um teste de aceitação fiável abrange vários níveis:
Test connectionconfirma a ligação e as credenciais de bind.- Um utilizador inicia sessão no serviço previsto, por exemplo no VPN Portal ou Captive Portal.
- Em
Authentication > Users, verificar se o utilizador e o grupo aparecem conforme esperado. - Se forem utilizados vários grupos LDAP, testar pelo menos um utilizador de cada grupo relevante. Uma política ou regra de teste confirma que tanto o início de sessão como a autorização do respetivo grupo funcionam.
- Uma palavra-passe incorreta é rejeitada e o
Log viewerapresenta um erro de autenticação compreensível.
Se o esquema não for claro, um administrador pode inspecionar o objeto de utilizador em modo só de leitura a partir de um sistema de administração Linux ou do servidor LDAP:
ldapsearch -LLL -x -H ldaps://ldap.example.net:636 \
-D 'cn=svc-sophos,ou=service,dc=example,dc=net' -W \
-b 'ou=people,dc=example,dc=net' \
'(uid=max.muster)' '*' '+'
-W solicita a palavra-passe de bind de forma interativa, para que não fique guardada no histórico da shell. '*' mostra os atributos normais e '+' os atributos operacionais; se for utilizado outro atributo de início de sessão, adaptar o filtro de pesquisa em conformidade. Este comando não deve ser executado na Advanced Shell do Sophos Firewall. O importante é verificar se o objeto de utilizador devolve efetivamente os atributos e os valores de grupo esperados. A saída pode conter dados pessoais do diretório e tem de ser anonimizada antes de ser anexada a um ticket ou partilhada.
Erros comuns
- Sem ligação: Verificar o encaminhamento, o DNS, a porta e
Connection security. Em seguida, confirmar o Bind DN, a palavra-passe eAnonymous login. - Erro TLS ou de certificado: Verificar os nomes DNS no certificado do servidor, a resolução DNS, a validade e a cadeia da CA. Não desativar a validação do certificado do servidor como primeira medida.
- Test connection funciona, mas o utilizador não é encontrado: A Base DN é frequentemente demasiado restrita ou
Authentication attributenão corresponde ao nome de início de sessão. - O início de sessão funciona, mas o utilizador fica no Default group: Verificar
Group name attributeno objeto de utilizador real, o mapeamento local dos grupos e a respetiva ordem.memberOfé um exemplo comum, mas não é garantido em todos os esquemas. - O Google Secure LDAP não efetua o bind: Verificar a versão 3, a porta 636,
Anonymous logindesativado,Append base DNdesativado, as credenciais e o certificado de cliente da Google. - O servidor está configurado, mas não é utilizado: Verificar a associação, a ordem e o
Default groupemAuthentication > Services. - A pesquisa é lenta ou devolve contas indesejadas: Restringir a Base DN à subárvore necessária.
- Outro servidor de autenticação responde primeiro: Corrigir a ordem dos servidores selecionados para o serviço em causa.