Devo expor meu Active Directory à Internet pública para usuários remotos?

46

Eu tenho um cliente cuja força de trabalho é composta inteiramente por funcionários remotos, usando uma mistura de PCs / laptops Apple e Windows 7.

Os usuários não se autenticam em um domínio no momento, mas a organização gostaria de seguir nessa direção por vários motivos. São máquinas de propriedade da empresa, e a empresa procura ter algum controle sobre a desativação de contas, política de grupo e alguma prevenção leve contra perda de dados (desabilite a mídia remota, USB etc.). seria complicado, especialmente na interseção de um funcionário demitido e credenciais em cache em uma máquina remota.

A maioria dos serviços da organização é baseada no Google (correio, arquivo, bate-papo etc.), portanto os únicos serviços de domínio são DNS e a autenticação para a VPN Cisco ASA.

O cliente gostaria de entender por que não é aceitável expor seus controladores de domínio ao público. Além disso, o que é uma estrutura de domínio mais aceitável para uma força de trabalho remota distribuída?

Editar:

O Centrify está sendo usado por vários clientes Mac.

ewwhite
fonte
4
Há uma pergunta relacionada AQUI . Permitir que serviços externos se conectem ao seu AD para sincronizar ou autenticar não é uma prática terrível, mas colocar seus controladores de domínio em uma DMZ aberta, essencialmente como você pediu, é muito inseguro. Sem segurança, você está solicitando uma variedade de possíveis ataques e problemas. Eu recomendo isso e sugiro um cliente VPN ou VPN de um firewall como o Sonicwall com usuários de dispositivos locais.
Mike Naylor #
10
Configure uma VPN sempre ativada, em toda a máquina, com reconexão automática e com certificado. (OpenVPN, DirectAccess, etc.) para que a autenticação VPN não esteja vinculada às contas do usuário e o usuário não tenha interação direta com o software VPN.
Zoredache
DA é perfeito, mas tem exigências endpoint graves que o cliente não cumprir (Mac, com certeza.)
mfinni
1
+10 - Para sugestão de Zoredache.
Evan Anderson
7
Se você estiver fazendo backup de dispositivos do usuário final, estará fazendo algo errado. Se você estiver fazendo backup de dispositivos do usuário final via USB, estará realmente errado.
MDMarra 07/02

Respostas:

31

Estou postando isso como resposta principalmente porque todo mundo tem sua própria "opinião educada" com base na experiência, informações de terceiros, boatos e conhecimento tribal na área de TI, mas essa é mais uma lista de citações e leituras "diretamente" da Microsoft. Usei aspas porque tenho certeza de que elas não filtram corretamente todas as opiniões feitas por seus funcionários, mas isso deve ser útil, mesmo assim, se você estiver atrás de authoritativereferências diretas da Microsoft.


BTW, eu também acho MUITO FÁCIL dizer DOMAIN CONTROLLER == DIRECTORY ATIVO, o que não é bem o caso. Os proxies do AD FS e outros meios (autenticação baseada em formulários para OWA, EAS etc.) oferecem uma maneira de "expor" o próprio AD à Web para permitir que os clientes tentem pelo menos se autenticar via AD sem expor os próprios DCs. Vá no local OWA de alguém e tentar login e AD irá obter o pedido de autenticação em um backend DC, então AD é tecnicamente "exposto" ... mas é protegido por SSL e proxy através de um servidor Exchange.


Citação # 1

Diretrizes para implantar o Windows Server Active Directory em máquinas virtuais do Windows Azure

Antes de você ir "O Azure não é AD" ... você pode implantar o ADDS em uma VM do Azure.

Mas, para citar os bits relevantes:

Nunca exponha STSs diretamente à Internet.

Como prática recomendada de segurança, coloque as instâncias STS atrás de um firewall e conecte-as à sua rede corporativa para evitar a exposição à Internet. Isso é importante porque a função STS emite tokens de segurança. Como resultado, eles devem ser tratados com o mesmo nível de proteção que um controlador de domínio. Se um STS for comprometido, os usuários mal-intencionados poderão emitir tokens de acesso que potencialmente contenham reivindicações de sua escolha para confiar em aplicativos de terceiros e outros STSs em organizações confiáveis.

portanto ... não exponha os controladores de domínio diretamente à Internet.

Citação # 2

Active Directory - O mistério UnicodePwd do AD LDS

Expor um controlador de domínio à Internet normalmente é uma prática ruim, seja essa exposição diretamente do ambiente de produção ou através de uma rede de perímetro. A alternativa natural é colocar um servidor Windows Server 2008 com a função AD LDS (Active Directory Lightweight Directory Services) em execução na rede de perímetro.

Citação # 3 - não do MS ... mas útil ainda no futuro

Active Directory como serviço? Azure, Intune, sugerindo um futuro do AD hospedado na nuvem

No final, não há uma resposta "curta" ótima que atenda aos objetivos de livrar o escritório do servidor AD em troca de uma alternativa do Azure. Embora a Microsoft esteja sendo complacente ao permitir que os clientes hospedem os Serviços de Domínio Active Directory nas caixas Server 2012 e 2008 R2 no Azure, sua utilidade é tão boa quanto a conectividade VPN que você pode reunir para sua equipe. O DirectAccess, embora seja uma tecnologia muito promissora, tem suas mãos atadas devido às suas próprias limitações infelizes.

Citação # 4

Implantar AD DS ou AD FS e Office 365 com logon único e máquinas virtuais do Windows Azure

Os controladores de domínio e os servidores AD FS nunca devem ser expostos diretamente à Internet e devem ser alcançados apenas através da VPN

O limpador
fonte
Esta é uma resposta razoável, embora apenas a primeira citação diga algo sobre o que poderia acontecer de ruim se você desconsiderar o conselho.
Casey
19

O Active Directory (AD) não foi projetado para esse tipo de implantação.

Os modelos de ameaças usados ​​no design do produto assumem uma implantação "por trás do firewall", com uma quantidade de atores hostis filtrados na borda da rede. Embora você possa certamente proteger o Windows Server para que seja exposto à rede pública, o funcionamento correto do Active Directory requer uma postura de segurança decididamente mais relaxada do que um host protegido para redes públicas. Um monte de serviços tem que ser exposto a partir de um controlador de domínio (DC) para AD ao trabalho corretamente.

A sugestão de Zoredache nos comentários, principalmente referenciando algo como o OpenVPN em execução como um serviço para toda a máquina com autenticação de certificado, pode ser apenas um bom ajuste. O DirectAccess, como outros já mencionaram, é exatamente o que você precisa, exceto que ele não tem o suporte de plataforma cruzada que você deseja.

Como um aparte: eu brinquei com a idéia de usar o IPSEC em modo de transporte baseado em certificado para expor o AD diretamente à Internet, mas nunca tive tempo para fazê-lo. A Microsoft fez alterações no período do Windows Server 2008 / Vista que supostamente viabilizou isso, mas eu nunca o exercitei.

Evan Anderson
fonte
2
+1 para o OpenVPN em execução como serviço, usei essa abordagem com guerreiros de estrada com sucesso no passado. Porém, havia sentimentos contraditórios dos administradores do Srsys, principalmente porque se uma máquina foi comprometida, isso é um backdoor automático na rede. É claro que preocupações válidas, pois cada ambiente deve se perguntar se os benefícios superam o risco ....?
MDMoore313
2
A Microsoft executa sua própria rede corporativa na Internet pública com IPSec. Então é factível.
Michael Hampton
1
@MichaelHampton, mas eles usam isolamento de domínio com o Firewall do Windows e o IPSec; portanto, não é exatamente "AD na Internet", é "AD na Internet e em uma zona de segurança semelhante à que um firewall forneceria usando regras de firewall baseadas em host"
MDMarra 6/02
2
@ MDMoore313 - FTW de revogação de certificado, embora o usuário precise relatar rapidamente a máquina roubada.
Evan Anderson
Também existem maneiras com certos clientes VPN (Juniper, por exemplo) de forçar um logoff após a conexão. Não é tão bom quanto as antigas infundidas na GINA, mas força o usuário a efetuar login novamente enquanto na VPN, para realmente se autenticar no AD e obter GPOs, etc. Você faz login primeiro com credenciais em cache, inicia a VPN, se necessário, e ele registra-lo fora imediatamente e permanece conectado enquanto você faça login novamente.
TheCleaner
15

O que todo mundo disse. Estou particularmente nervoso com as tentativas de força bruta que Christopher Karel mencionou. Uma apresentação no último Def Con foi sobre o tópico:

Então você acha que seu controlador de domínio é seguro?

JUSTIN HENDRICKS ENGENHEIRO DE SEGURANÇA, MICROSOFT

Controladores de domínio são as jóias da coroa de uma organização. Depois que caem, tudo no domínio cai. As organizações envidam todos os esforços para proteger seus controladores de domínio, no entanto, geralmente não conseguem proteger adequadamente o software usado para gerenciar esses servidores.

Esta apresentação abordará métodos não convencionais de obtenção de administração de domínio, abusando do software de gerenciamento usado com frequência que as organizações implantam e usam.

Justin Hendricks trabalha na equipe de segurança do Office 365, onde ele está envolvido em equipes vermelhas, testes de penetração, pesquisa de segurança, revisão de código e desenvolvimento de ferramentas.

Tenho certeza que você pode encontrar muitos outros exemplos. Eu estava procurando artigos sobre controladores de domínio e hackers, na esperança de obter uma descrição da rapidez com que o controlador de domínio seria encontrado, etc., mas acho que isso funcionará por enquanto.

Katherine Villyard
fonte
1
Aqui está o vídeo da apresentação do Sr. Hendricks: youtube.com/watch?v=2d_6jAF6OKQ Eu estava querendo assistir os vídeos do DefCon 21 e acho que vou começar com este.
Evan Anderson
14

Se você está tentando convencer a gerência, um bom começo seria:

It goes against Microsoft's Best Practices for Active Directory Deployment.

Atualização : consulte este artigo técnico sobre a proteção de controladores de domínio contra ataques e a seção intitulada Perimeter Firewall Restrictionsque declara:

Perimeter firewalls should be configured to block outbound connections
from domain controllers to the Internet. 

E a seção intitulada Blocking Internet Access for Domain Controllersque afirma:

Launching web browsers on domain controllers should be prohibited not only
by policy, but by technical controls, and domain controllers should not be
permitted to access the Internet

Tenho certeza de que você pode reunir alguma documentação da Microsoft sobre o assunto, então é isso. Além disso, você pode indicar os riscos de tal mudança, algo como:

A gaping hole would be created, possibly resulting in severe data loss and/or loss of company secrets.

As credenciais em cache são exatamente isso - armazenadas em cache. Eles trabalham para a máquina local quando não pode se conectar ao domínio , mas se essa conta fosse desativada, eles não funcionariam para nenhum recurso de rede (svn, vpn, smb, fbi, cia etc.), portanto, não precisam se preocupar com isso. . Lembre-se também de que os usuários já têm direitos totais sobre todos os arquivos em sua pasta de perfil em uma máquina local de qualquer maneira (e provavelmente mídia removível), para que as credenciais desabilitadas ou não possam fazer o que quiserem com esses dados. Eles também não funcionariam para a máquina local, uma vez que ela se reconecta à rede.

Você está se referindo aos serviços que o Active Directory ou um controlador de domínio fornece, como LDAP? Nesse caso, o LDAP geralmente é dividido de maneira segura para fins de autenticação e consulta de diretório, mas apenas desligar o Firewall do Windows (ou abrir todas as portas necessárias ao público - a mesma coisa neste exemplo) pode causar problemas graves.

O AD não gerencia verdadeiramente Macs; portanto, seria necessária uma solução separada (pense no OS X Server). Você pode ingressar um Mac em um domínio, mas isso faz pouco mais do que deixá-los se autenticar com credenciais de rede, definir administradores de domínio como administradores locais no mac, etc. Nenhuma diretiva de grupo. A Microsoft está tentando violar esse ponto com versões mais recentes do SCCM que afirmam poder implantar aplicativos em macs e * nix boxes, mas ainda não o vi em um ambiente de produção. Também acredito que você pode configurar os macs para se conectarem ao OS X Server, o qual se autentica no diretório com base no AD, mas posso estar errado.

Dito isso, algumas soluções criativas podem ser criadas, como a sugestão de Evan de usar o OpenVPN como serviço e desativar o certificado da máquina se / quando chegar a hora de deixar o funcionário ir embora.

Parece que tudo é baseado no Google, então o Google está agindo como seu servidor LDAP? Eu recomendaria que meu cliente continuasse assim, se possível. Não sei a natureza da sua empresa, mas para aplicativos baseados na Web, como um servidor git ou redmine, mesmo quando a configuração interna pode autenticar com o OAuth, aproveitando uma conta do Google.

Por fim, uma configuração de roadwarrior como essa exigiria quase que uma VPN fosse bem-sucedida. Depois que as máquinas são trazidas para o escritório e configuradas (ou configuradas remotamente por meio de script), elas precisam de uma maneira de receber quaisquer alterações na configuração.

Os macs precisariam de uma abordagem de gerenciamento separada, além da VPN, é uma pena que eles não criem mais servidores mac reais, mas eles tiveram algumas implementações de políticas decentes no OS X Server na última vez que verifiquei (alguns anos atrás) )

MDMoore313
fonte
Na verdade, o Centrify está em uso neste ambiente para gerenciar políticas em um punhado de sistemas Mac no momento.
ewwhite
@ewwhite o que você quer dizer com gerenciar? Parece nada mais que um utilitário de autenticação central.
MDMoore313
@ MDMoore313 você está atrasado por algumas horas, eu ganho: chat.stackexchange.com/transcript/127?m=13626424#13626424 - :)
TheCleaner
@TheCleaner haha ​​parece que sim, você venceu desta vez, conhece bem a arte do Google Fu, mas sua técnica o ilude No meu melhor Kung Fu com uma terrível voz de sincronismo labial. Depois que você postou sua resposta, tive que procurar duplamente para encontrar uma que não fosse uma duplicata sua!
MDMoore313
2
LOL, não se preocupe ... da próxima vez que encontrarmos a vitória poderá ser sua. (com voz terrível de
sincronização labial
7

É lamentável que o DirectAccess esteja disponível apenas no Win7 + Enterprise Edition, porque foi feito sob medida para sua solicitação. Mas não conhecer sua edição e ver que você tem MacOS, isso não funcionará.

/ Edit - parece que alguns terceiros alegam ter clientes DA para o Unices: http://www.centrify.com/blogs/tomkemp/what_is_microsoft_directaccess_and_unix_linux_interoperability.asp

Existem soluções MDM disponíveis que podem trabalhar para atender às suas necessidades; estamos lançando um deles (MAAS360) para um cliente que está em uma posição semelhante.

mfinni
fonte
5

Obviamente, isso seria um risco de segurança significativo. Além disso, provavelmente não funcionaria tão bem quanto você gostaria. Se pessoas aleatórias na Internet conseguirem fazer logon no seu ambiente do AD, é provável que todos os seus usuários sejam bloqueados. Para sempre. E remover os requisitos de bloqueio significa que fica muito fácil verificar a força bruta de senhas simples.

Mais importante, você não deve ter problemas para implementar sua meta (usuários finais efetuando login em um laptop com credenciais de domínio) sem tornar os servidores AD diretamente acessíveis. Ou seja, as máquinas Windows podem armazenar em cache os últimos X logons bem-sucedidos, para que essas mesmas credenciais funcionem quando desconectadas. Isso significa que os usuários finais podem fazer login e realizar trabalhos úteis, sem precisar tocar nos servidores do AD. Obviamente, eles precisam utilizar uma VPN para se conectar a outros recursos corporativos importantes e podem atualizar as configurações de AD / GPO ao mesmo tempo.

Christopher Karel
fonte
2
O AD não usa (ou pelo menos depende) transmissões para qualquer coisa, desde que tenha sido o AD, que eu saiba. Certas tecnologias podem exigir o WINS, que pode recorrer às solicitações de transmissão se não houver um servidor WINS disponível, mas isso não é relevante para o AD em geral. Se dependesse de transmissões, você não poderia ter usuários remotos sem controladores de domínio locais.
Mfni # 06/02
2
Editou essa linha. Obrigado pela contribuição. Cllearly, um cara do Linux como eu não deveria gostar do Windows.
Christopher Karel
Se fosse tão "óbvio", não seria uma pergunta, seria?
Casey
2

Ewwhite,

Sua pergunta é extremamente válida e merece uma revisão cuidadosa.

Todos os profissionais de segurança recomendam camadas de segurança na frente de qualquer recurso de rede, incluindo Firewalls SPI, IDS, Firewalls baseados em host, etc. Você sempre deve usar um firewall de gateway de perímetro proxy como o ISA (agora TMG) ​​sempre que possível.

Dito isto, o Microsoft Active Directory 2003+ não teve grandes vulnerabilidades divulgadas publicamente. A tecnologia LDAP e seus algoritmos de hash geralmente são muito seguros. É indiscutivelmente mais seguro que a VPN SSL se essa VPN SSL executa o OpenSSL e é vulnerável a problemas cardíacos.

Eu recomendaria 5 coisas:

  1. Preocupe-se com os outros serviços que a rede enfrenta, como Terminal Server, Serviços DNS, CIFS e, principalmente, o IIS, com seu terrível histórico de segurança.

  2. Use o LDAPS com um certificado de segurança para evitar a transmissão de credenciais de domínio de texto não criptografado. Isso acontece automaticamente após a instalação dos Serviços de Certificados (use uma máquina separada para PKI)

  3. Coloque um farejador de pacotes na interface e observe seu tráfego, corrija as senhas de texto não criptografado porque o firewall ou não, se você não estiver usando uma VPN ou LDAPS, alguns sistemas legados enviarão senhas de texto não criptografado.

  4. Saiba que ataques MITM podem forçar os mecanismos de autenticação nativos a fazer o downgrade e expor senhas a uma autenticação NTLM mais fraca.

  5. Esteja ciente de algumas vulnerabilidades de enumeração de usuários que ainda podem existir.

Dito isto, o Active Directory tem um ótimo histórico de segurança. Além disso, o MS Active Directory não armazena senhas, apenas hashes que também podem atenuar a gravidade de um comprometimento.

Você pode se beneficiar de uma infraestrutura de segurança mais uniforme, não precisa definir servidores DNS especiais ou usar domain.local e pode usar seu domínio real na Internet pública, como domain.com.

Na minha opinião profissional, há um benefício substancial na implantação pública de tecnologias de segurança como o Active Directory, onde outras tecnologias, como Exchange, DNS e Servidores da Web, simplesmente não oferecem benefícios e todos os riscos.

Nota: se você implantar o Active Directory, ele incluirá um servidor DNS. Seja CERTO para desativar a recursão nos servidores DNS (ativada por padrão) ou você estará absolutamente participando de ataques de negação de serviço.

Felicidades,

-Brian

Brian J. Brandon
fonte
-3

A Dell (através da compra da Quest (através da compra da Vintela)) possui uma solução de plataforma cruzada que é implantada com frequência nas empresas F500 para esse fim expresso .

Coisas a considerar...

  1. Seus usuários estão sempre conectados? Nesse caso, você será melhor atendido com um ambiente de hospedagem flexível baseado em VM que pode flexionar quando muitos usuários ativos estão martelando o LDAP
  2. Você está executando em mais de um data center físico? Considere o balanceamento de carga geográfica na frente dos serviços do AD para reduzir o número de saltos entre usuários e seus sistemas
  3. Além disso, se a resposta para o número 2 for sim, certifique-se de configurar alguns recursos de rede dedicados para replicar sua floresta, conforme mostrado aqui

E certifique-se de que sua solução de firewall seja capaz de lidar com taxas de retransmissão extremamente altas se você tiver usuários com uplinks limitados, conectando-se a partir de centros wifi barulhentos etc.

subulaz
fonte
Como isso gerencia máquinas Windows ou protege algo como um controlador de domínio exposto à Internet? Não é o que parece.
Mfnni