Como prohibir os contrasinais predeterminados e facer que todos te odien

O home, como sabes, é unha criatura preguiceira.
E máis aínda cando se trata de escoller un contrasinal seguro.

Creo que todos os administradores enfrontáronse ao problema de usar contrasinais lixeiros e estándar. Este fenómeno adoita ocorrer entre os niveis máis altos da dirección da empresa. Si, si, precisamente entre os que teñen acceso a información secreta ou comercial e sería moi indesexable eliminar as consecuencias das fugas/piratería de contrasinais e máis incidentes.

Na miña práctica, houbo un caso no que, nun dominio de Active Directory cunha política de contrasinais activada, os contadores de forma independente pensaron que un contrasinal como "Pas$w0rd1234" encaixa perfectamente cos requisitos da política. A consecuencia foi o uso xeneralizado deste contrasinal por todas partes. Ás veces difería só no seu conxunto de números.

Realmente quería poder non só activar unha política de contrasinais e definir un conxunto de caracteres, senón tamén filtrar por dicionario. Para excluír a posibilidade de utilizar tales contrasinais.

Microsoft amablemente infórmanos a través da ligazón que calquera persoa que saiba manter un compilador, un IDE correctamente nas súas mans e que saiba pronunciar correctamente C++, é capaz de compilar a biblioteca que necesita e usala segundo o seu propio entendemento. O teu humilde servo non é capaz diso, así que tiven que buscar unha solución preparada.

Despois dunha longa hora de busca, desveláronse dúas opcións para resolver o problema. Estou a falar, por suposto, da solución OpenSource. Despois de todo, hai opcións de pago - de principio a fin.

Opción número 1. OpenPasswordFilter

Hai uns 2 anos que non hai compromisos. O instalador nativo funciona de cando en vez, tes que corrixilo manualmente. Crea o seu propio servizo separado. Ao actualizar un ficheiro de contrasinal, a DLL non recolle automaticamente o contido modificado; cómpre deter o servizo, esperar un tempo de espera, editar o ficheiro e iniciar o servizo.

Sen xeo!

Opción número 2. PassFiltEx

O proxecto está activo, vivo e non fai falta nin sequera dar unha patada ao corpo frío.
A instalación do filtro implica copiar dous ficheiros e crear varias entradas de rexistro. O ficheiro de contrasinal non está bloqueado, é dicir, está dispoñible para editar e, segundo a idea do autor do proxecto, simplemente lese unha vez por minuto. Ademais, usando entradas de rexistro adicionais, pode configurar aínda máis tanto o propio filtro como os matices da política de contrasinais.

Así.
Dado: proba de dominio de Active Directory.local
Estación de traballo de proba de Windows 8.1 (non é importante para o propósito do problema)
filtro de contrasinal PassFiltEx

  • Descarga a última versión dende a ligazón PassFiltEx
  • Copiar PassFiltEx.dll в C: WindowsSystem32 (Ou %SystemRoot%System32).
    Copiar PassFiltExBlacklist.txt в C: WindowsSystem32 (Ou %SystemRoot%System32). Se é necesario, complementámolo cos nosos propios modelos
    Como prohibir os contrasinais predeterminados e facer que todos te odien
  • Editando a rama do rexistro: HKLMSYSTEMCurrentControlSetControlLsa => Paquetes de notificación
    Engadir PassFiltEx ata o final da lista. (Non é necesario especificar a extensión.) A lista completa de paquetes empregados para a dixitalización terá o seguinte aspecto "rassfm scecli PassFiltEx«.
    Como prohibir os contrasinais predeterminados e facer que todos te odien
  • Reinicie o controlador de dominio.
  • Repetimos o procedemento anterior para todos os controladores de dominio.

Tamén pode engadir as seguintes entradas de rexistro, o que lle dá máis flexibilidade ao usar este filtro:

Capítulo: HKLMSOFTWAREPassFiltEx — créase automaticamente.

  • HKLMSOFTWAREPassFiltExBlacklistFileName, REG_SZ, predeterminado: PassFiltExBlacklist.txt

    Lista negraFileName — permítelle especificar un camiño personalizado a un ficheiro con modelos de contrasinal. Se esta entrada de rexistro está baleira ou non existe, utilízase a ruta predeterminada, que é - %SystemRoot%System32. Incluso pode especificar un camiño de rede, PERO cómpre lembrar que o ficheiro de modelo debe ter permisos claros para ler, escribir, eliminar e cambiar.

  • HKLMSOFTWAREPassFiltExTokenPercentageOfPassword, REG_DWORD, predeterminado: 60

    TokenPercentageOfPassword — permítelle especificar a porcentaxe da máscara no novo contrasinal. O valor predeterminado é 60%. Por exemplo, se a porcentaxe de ocorrencia é 60 e a cadea Starwars está no ficheiro de modelo, entón o contrasinal Starwars 1! será rexeitado mentres o contrasinal starwars1!DarthVader88 aceptarase porque a porcentaxe da cadea no contrasinal é inferior ao 60 %

  • HKLMSOFTWAREPassFiltExRequireCharClasses, REG_DWORD, predeterminado: 0

    RequireCharClasses — permítelle ampliar os requisitos de contrasinal en comparación cos requisitos de complexidade de contrasinal estándar de ActiveDirectory. Os requisitos de complexidade incorporados requiren 3 dos 5 posibles tipos de caracteres: maiúsculas, minúsculas, díxitos, especiais e Unicode. Usando esta entrada de rexistro, pode definir os requisitos de complexidade do seu contrasinal. O valor que se pode especificar é un conxunto de bits, cada un dos cales é unha potencia correspondente de dous.
    É dicir, 1 = minúscula, 2 = maiúscula, 4 = díxitos, 8 = carácter especial e 16 = carácter Unicode.
    Polo tanto, cun valor de 7 os requisitos serían "maiúsculas" E minúscula E díxito", e cun valor de 31 - "Maiúsculas E minúscula E díxito E símbolo especial E carácter Unicode."
    Incluso podes combinar - 19 = “Maiúsculas E minúscula E carácter Unicode."

  • Como prohibir os contrasinais predeterminados e facer que todos te odien

Unha serie de regras ao crear un ficheiro de modelo:

  • Os modelos non distinguen entre maiúsculas e minúsculas. Polo tanto, a entrada do ficheiro a guerra das Galaxias и A guerra das Galaxias determinarase que é o mesmo valor.
  • O ficheiro da lista negra léase de novo cada 60 segundos, polo que podes editalo facilmente; despois dun minuto, os novos datos serán utilizados polo filtro.
  • Actualmente non hai compatibilidade con Unicode para a coincidencia de patróns. É dicir, pode usar caracteres Unicode nos contrasinais, pero o filtro non funcionará. Isto non é crítico, porque non vin usuarios que usen contrasinais Unicode.
  • É recomendable non permitir liñas baleiras no ficheiro de modelo. Na depuración podes ver un erro ao cargar os datos dun ficheiro. O filtro funciona, pero por que as excepcións adicionais?

Para a depuración, o arquivo contén ficheiros por lotes que lle permiten crear un rexistro e despois analizalo usando, por exemplo, Analizador de mensaxes de Microsoft.
Este filtro de contrasinal usa o seguimento de eventos para Windows.

O provedor de ETW para este filtro de contrasinais é 07d83223-7594-4852-babc-784803fdf6c5. Así, por exemplo, pode configurar o rastrexo de eventos despois do seguinte reinicio:
logman create trace autosessionPassFiltEx -o %SystemRoot%DebugPassFiltEx.etl -p "{07d83223-7594-4852-babc-784803fdf6c5}" 0xFFFFFFFF -ets

O rastrexo comezará despois do seguinte reinicio do sistema. Parar:
logman stop PassFiltEx -ets && logman delete autosessionPassFiltEx -ets
Todos estes comandos están especificados nos scripts StartTracingAtBoot.cmd и StopTracingAtBoot.cmd.

Para comprobar unha soa vez o funcionamento do filtro, pode usar StartTracing.cmd и StopTracing.cmd.
Para ler convenientemente o escape de depuración deste filtro Analizador de mensaxes de Microsoft Recoméndase utilizar os seguintes axustes:

Como prohibir os contrasinais predeterminados e facer que todos te odien

Como prohibir os contrasinais predeterminados e facer que todos te odien

Ao deixar de iniciar sesión e analizar Analizador de mensaxes de Microsoft todo parece algo así:

Como prohibir os contrasinais predeterminados e facer que todos te odien

Aquí podes ver que houbo un intento de establecer un contrasinal para o usuario - a palabra máxica dinos isto SET en depuración. E o contrasinal foi rexeitado debido á súa presenza no ficheiro de modelo e máis dun 30% de coincidencia no texto introducido.

Se se realiza un intento de cambio de contrasinal exitoso, vemos o seguinte:

Como prohibir os contrasinais predeterminados e facer que todos te odien

Hai algúns inconvenientes para o usuario final. Cando tenta cambiar un contrasinal que está incluído na lista de ficheiros de modelos, a mensaxe que aparece na pantalla non é diferente da mensaxe estándar cando non se aproba a política de contrasinal.

Como prohibir os contrasinais predeterminados e facer que todos te odien

Polo tanto, prepárate para as chamadas e os gritos: "Introducín o contrasinal correctamente, pero non funciona".

O total.

Esta biblioteca permítelle prohibir o uso de contrasinais simples ou estándar nun dominio de Active Directory. Digamos "Non!" contrasinais como: “P@ssw0rd”, “Qwerty123”, “ADm1n098”.
Si, por suposto, os usuarios quereránche aínda máis por coidar tanto a súa seguridade e a necesidade de crear contrasinais alucinantes. E, quizais, aumente o número de chamadas e solicitudes de axuda co teu contrasinal. Pero a seguridade ten un prezo.

Ligazóns aos recursos empregados:
Artigo de Microsoft sobre unha biblioteca de filtros de contrasinais personalizado: Filtros de contrasinais
PassFiltEx: PassFiltEx
Ligazón de publicación: Última versión
Listas de contrasinais:
DanielMiessler enumera: Ligazón.
Lista de palabras de weakpass.com: Ligazón.
Lista de palabras do repo berzerk0: Ligazón.
Analizador de mensaxes de Microsoft: Analizador de mensaxes de Microsoft.

Fonte: www.habr.com

Engadir un comentario