Still big companies, universities and schools let you log in with your work account from home. How do they do it without leaving a big security hole?
Existem vários mecanismos que permitem a autenticação no Active Directory de fora da LAN que são relativamente seguros. Eu nunca vi uma situação em que as portas de serviços de diretório, mesmo LDAP somente leitura, são permitidas através de um firewall.
Um exemplo bastante seguro de autenticação remota para o Active Directory é o ADFS (Serviços de Federação do Active Directory), protegido por um Proxy de Aplicativo da Web (WAP).
Indo de fora em:
- Existe um firewall ou dispositivo de segurança ou contexto entre a Internet e o servidor WAP, de forma que apenas o HTTPS (porta 443) é permitido para o servidor WAP.
- O servidor WAP recebe solicitações na porta 443 e faz o proxy do serviço do ADFS (veja abaixo). O usuário externo interage com o WAP e não com o serviço ADFS diretamente. O servidor WAP não é membro do domínio e só pode se comunicar com o serviço ADFS via HTTPS.
- Existe outro firewall ou dispositivo de segurança ou contexto entre o servidor WAP (em uma DMZ, por exemplo) e o servidor ADFS. Apenas a porta 443 (ou um número de porta alternativo) é permitida entre o servidor WAP e o servidor ADFS.
- O servidor ADFS está "dentro do firewall" e permite apenas a conexão HTTPS. A sessão do usuário com proxy comunica as credenciais do usuário ao servidor do ADFS por SSL. O servidor ADFS é um membro do domínio e pode se comunicar diretamente com um ou mais controladores de domínio. Ele faz uma solicitação de autenticação usando as credenciais fornecidas e, em seguida, passa o resultado de volta ao aplicativo de referência original.
Observe que o servidor ADFS em questão não está diretamente na Internet, nem na DMZ, portanto há camadas de proteção. Se o servidor WAP estiver comprometido, o invasor ainda não está certo no domínio, e o único buraco que eles têm na rede é pela porta 443.
Nada é 100% seguro, mas essa configuração de exemplo é recomendada pela Microsoft (para que isso valha a pena) para permitir a autenticação de aplicativos "federados" em um Active Directory para usuários que fazem logon fora de uma LAN / WAN protegida.
Existem outras maneiras relativamente seguras de passar credenciais junto aos servidores do AD e passar os resultados de volta, este é apenas um exemplo usando produtos da Microsoft.