Técnicas de mitigación de amenazas
Hay una serie de técnicas de mitigación de amenazas disponibles que puede usar para proteger mejor las contraseñas. Estas técnicas se implementan mediante una o varias de las cuatro tecnologías principales siguientes.
Tecnología | Descripción |
---|---|
Cryptoapi | CryptoAPI proporciona un conjunto de funciones que le ayudan a aplicar rutinas criptográficas a las entidades de destino. CryptoAPI puede proporcionar hashes, resúmenes, cifrado y descifrado, para mencionar su funcionalidad principal. CryptoAPI también tiene otras características. Para obtener información sobre criptografía y CryptoAPI, consulte Cryptography Essentials. |
Listas de control de acceso | Una lista de control de acceso (ACL) es una lista de protecciones de seguridad que se aplica a un objeto . Un objeto puede ser un archivo, un proceso, un evento o cualquier otra cosa que tenga un descriptor de seguridad. Para obtener más información sobre las ACL, consulte listas de Access Control (ACL). |
API de protección de datos | La API de protección de datos (DPAPI) proporciona las cuatro funciones siguientes que se usan para cifrar y descifrar datos confidenciales: CryptProtectData, CryptUnprotectData, CryptProtectMemory y CryptUnprotectMemory. |
Nombres de usuario y contraseñas almacenados | Storage funcionalidad que permite controlar las contraseñas de los usuarios y otras credenciales, como claves privadas, más fáciles, coherentes y seguras. Para obtener más información sobre esta funcionalidad, consulte CredUIPromptForCredentials. |
Estas tecnologías no están disponibles en todos los sistemas operativos. Por lo tanto, la medida en que se puede mejorar la seguridad depende de los sistemas operativos implicados. Estas son las tecnologías disponibles en cada sistema operativo.
Sistema operativo | Tecnología |
---|---|
Windows Server 2003 y Windows XP |
|
Windows 2000 |
|
Las siguientes técnicas de mitigación de amenazas usan una o varias de las cuatro tecnologías. No se pueden usar técnicas que requieran el uso de tecnologías que no estén incluidas en el sistema operativo.
Obtención de contraseñas del usuario
Cuando se permite al usuario configurar una contraseña, fuerce el uso de contraseñas seguras. Por ejemplo, requiere que las contraseñas sean de longitud mínima, como ocho caracteres o más. Las contraseñas también deben ser necesarias para incluir letras mayúsculas y minúsculas, números y otros caracteres de teclado, como el signo de dólar ($), el signo de exclamación (!) o mayor que (>).
Después de obtener una contraseña, úsela rápidamente (con el menor código posible) y, a continuación, borre todos los restos de la contraseña. Esto minimiza el tiempo disponible para un intruso para "interceptar" la contraseña. El equilibrio con esta técnica es la frecuencia con la que se debe recuperar la contraseña del usuario; sin embargo, el principio debe emplearse siempre que sea posible. Para obtener información sobre cómo obtener correctamente las contraseñas, vea Preguntar al usuario por credenciales.
Evite proporcionar las opciones de la interfaz de usuario "recordar mi contraseña". A menudo, los usuarios pedirán que tengan esta opción. Si debe proporcionarla, como mínimo, asegúrese de que la contraseña se guarda de forma segura. Para obtener información, consulte la sección Almacenamiento de contraseñas, más adelante en este tema.
Limitar intentos de entrada de contraseña. Después de un número determinado de intentos sin éxito, bloquee al usuario durante un período de tiempo determinado. Opcionalmente, alargar el tiempo de respuesta de cada intento por encima de un máximo. Esta técnica está destinada a derrotar un ataque de adivinación.
Almacenar contraseñas
Nunca almacene contraseñas en texto no cifrado (sin cifrar). El cifrado de contraseñas aumenta significativamente su seguridad. Para obtener información sobre cómo almacenar contraseñas cifradas, vea CryptProtectData. Para obtener información sobre el cifrado de contraseñas en memoria, vea CryptProtectMemory. Almacene contraseñas en tantos lugares como sea posible. Cuantos más lugares almacene una contraseña, mayor será la posibilidad de que un intruso lo encuentre. Nunca almacene contraseñas en una página web o en un archivo basado en web. Almacenar contraseñas en una página web o en un archivo basado en web permite que se vean fácilmente comprometidas.
Después de cifrar una contraseña y almacenarla, use ACL seguras para limitar el acceso al archivo. Como alternativa, puede almacenar contraseñas y claves de cifrado en dispositivos extraíbles. Almacenar contraseñas y claves de cifrado en un medio extraíble, como una tarjeta inteligente, ayuda a crear un sistema más seguro. Una vez recuperada una contraseña para una sesión determinada, se puede quitar la tarjeta, lo que elimina la posibilidad de que un intruso pueda obtener acceso a ella.