Criptografia reviewsível do Active Directory paira o logon único?

Problema: Criando e mantendo centenas de contas de alunos

A escola onde eu trabalho executa o Active Directory no Serview 2008. Todos os anos, nossos alunos têm que se inscreview paira contas com um sistema de gerenciamento de escolas SaaS de terceiros. Isso criou muito trabalho no passado, já que os códigos precisam ser gerados paira estudantes e os alunos muitas vezes perdem os códigos ou não conseguem descobrir como inseri-los. Mais tairde, os alunos que conseguiram se inscreview podem esquecer seus nomes de user ou passwords e vir paira mim (o solo sysadmin) paira reinicializações de senha e assim por diante.

Solução 1: peça aos users suas passwords

Este outono, nós nos mudamos paira um novo SMS, que, apairentemente, não suporta qualquer tipo de inscrição nos alunos por lotes. A administração estava planejando se encontrair com cada aluno, pedir-lhe um nome de user e senha, e criair uma conta paira ele ou ela manualmente. Pensei: Não seria bom se pudéssemos integrair os dois sistemas e evitair isso? Quando entrei em contato com a empresa terceirizada, eles disseram que não se integrairam com o Active Directory.

Eu decidi fazer meu próprio sistema: um database acoplado a um programa que é executado como um script de logon paira contas de estudantes. Funciona assim:

  1. Quando os alunos ingressam no Windows pela primeira vez, eles são solicitados suas passwords
  2. As passwords são viewificadas contra as passwords airmazenadas no Active Directory
  3. Se eles coincidem, as passwords são airmazenadas no database (as passwords não podem simplesmente ser despejadas do Active Directory no database porque as passwords do Active Directory são somente de gravação)
  4. Um componente do lado do server do programa cria contas paira os alunos com a empresa terceirizada, usando as passwords do Active Directory airmazenadas no database do programa

Novo problema

Agora, o problema com isso é que, se as passwords dos users forem networkingfinidas no Active Directory, elas não serão atualizadas no database. Se os users mudam suas passwords das estações de trabalho, as passwords não são atualizadas no database. Há também a questão da security do próprio database.

Solução 2: encryption reviewsível

Eu percebo que o Active Directory pode airmazenair passwords com encryption reviewsível. Eu sei que não está oficialmente bem documentado, e estou bem ciente de que até mesmo escreview a frase "recuperação de senha" traz consigo a possibilidade de trazer The End of the World. Mas, olhando o risco, não acredito que nossos serveres correm muito o risco de serem comprometidos e, mesmo que fossem, não há muito que um invasor possa fazer com as contas dos estudantes.

Conselhos?

Como você recomendairia, eu resolvi esse problema? Existe uma maneira de descairtair meu database intermediário e simplesmente usair informações diretamente do Active Directory? Devo abandonair a tentativa de integrair os sistemas?

Todos os pensamentos são bem-vindos, incluindo observações sobre como a minha idéia de login único foi em primeiro lugair.

AD não foi projetado como uma ferramenta de synchronization de senha; é um diretório. Raspando passwords dele e descriptografando-os (eles são criptografados da mesma forma que a hive SAM é criptografada se a memory serve) não é uma solução de produção viável ou um cenário suportado.

Existem muitas soluções de gerenciamento de identidade que podem conter as alterações de senha feitas no AD, usando uma API semelhante à de seu script de logon e propagando-as. Coletair esses dados você mesmo não é uma coisa de script; você precisairia escreview uma DLL de política de senha.

A maneira correta e sem hackeair paira fazer isso é usair a federação AD e ter o outro aplicativo autenticair users contra a AD em vez de seu próprio database interno. Não soa como suporte isso, mas pode ser algo a ser observado.