{"id":1101,"date":"2021-04-16T17:23:02","date_gmt":"2021-04-16T15:23:02","guid":{"rendered":"https:\/\/blog.tiraquelibras.com\/?p=1101"},"modified":"2021-04-16T17:23:04","modified_gmt":"2021-04-16T15:23:04","slug":"politica-de-contrasenas-en-linux-con-pam-y-cracklib","status":"publish","type":"post","link":"https:\/\/blog.tiraquelibras.com\/?p=1101","title":{"rendered":"Pol\u00edtica de contrase\u00f1as en Linux con PAM y Cracklib"},"content":{"rendered":"\n<p>En los sistemas Linux tambi\u00e9n contamos con la posibilidad de aplicar pol\u00edticas de contrase\u00f1as enfocadas a su complejidad y robusted, mejorando la seguridad del sistema.<\/p>\n\n\n\n<p>Existen distintas formas, pero en nuestro caso usaremos el m\u00f3dulo <strong>PAM<\/strong> (<em>Pluggable Authentication Modules<\/em>) junto a la librer\u00eda <strong>Cracklib<\/strong>.<\/p>\n\n\n\n<p>A su vez, tambi\u00e9n existen multitud de par\u00e1metros y configuraciones distintas para aplicar en este m\u00f3dulo, pero mostraremos una configuraci\u00f3n base robusta, a partir de la cual se puede ir modificando y\/o ampliando.<\/p>\n\n\n\n<p>Vamos al l\u00edo!!!<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Tabla de contenidos<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69f463ccacde4\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69f463ccacde4\"  aria-label=\"Alternar\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Entorno\"  rel=\"nofollow\" target=\"_blank\">Entorno<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Instalacion\"  rel=\"nofollow\" target=\"_blank\">Instalaci\u00f3n<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Debian\"  rel=\"nofollow\" target=\"_blank\">Debian<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Fedora\"  rel=\"nofollow\" target=\"_blank\">Fedora<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Archivos_implicados\"  rel=\"nofollow\" target=\"_blank\">Archivos implicados<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Debian-2\"  rel=\"nofollow\" target=\"_blank\">Debian<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Fedora-2\"  rel=\"nofollow\" target=\"_blank\">Fedora<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Configuracion\"  rel=\"nofollow\" target=\"_blank\">Configuraci\u00f3n<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Valores_positivos_y_negativos\"  rel=\"nofollow\" target=\"_blank\">Valores positivos y negativos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Debian-3\"  rel=\"nofollow\" target=\"_blank\">Debian<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Fedora-3\"  rel=\"nofollow\" target=\"_blank\">Fedora<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Significado_de_los_valroes\"  rel=\"nofollow\" target=\"_blank\">Significado de los valroes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Consideraciones_importantes\"  rel=\"nofollow\" target=\"_blank\">Consideraciones importantes<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Comprobacion_con_el_comando_CHAGE\"  rel=\"nofollow\" target=\"_blank\">Comprobaci\u00f3n con el comando CHAGE<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Cambio_de_contrasena_no_valido\"  rel=\"nofollow\" target=\"_blank\">Cambio de contrase\u00f1a no v\u00e1lido<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Ejemplo_de_advertencia\"  rel=\"nofollow\" target=\"_blank\">Ejemplo de advertencia<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-17 external external_icon\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\/#Conclusion\"  rel=\"nofollow\" target=\"_blank\">Conclusi\u00f3n<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Entorno\"><\/span>Entorno<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Vamos a explicar esta configuraci\u00f3n en dos entornos distintos:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Debian 10.<\/li><li>Fedora 34 beta.<\/li><\/ul>\n\n\n\n<p>De esta forma abarcamos las dos variantes en las que se basan las distribuciones Linux m\u00e1s extendidas.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Instalacion\"><\/span>Instalaci\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Debian\"><\/span>Debian<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>En el caso de <em>Debian<\/em> debemos de instalar la librer\u00eda:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo apt-get install libpam-cracklib<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fedora\"><\/span>Fedora<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>En las distribuciones <em>Centos, RedHat y Fedora<\/em> el m\u00f3dulo <em>PAM Cracklib<\/em> viene por defecto en la instalaci\u00f3n, por lo que no tendremos que hacer nada.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Archivos_implicados\"><\/span>Archivos implicados<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Los siguientes archivos ser\u00e1n los implicados en la configuraci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Debian-2\"><\/span>Debian<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>\/etc\/pam.d\/common-password<\/strong>: en donde se configuran las reglas a aplicar sobre las contrase\u00f1as.<\/li><li><strong>\/etc\/login.defs<\/strong>: en donde se define el periodo de expiraci\u00f3n de las contrase\u00f1as.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fedora-2\"><\/span>Fedora<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>\/etc\/security\/pwquality.conf<\/strong>: en donde se configuran las reglas a aplicar sobre las contrase\u00f1as.<\/li><li><strong>\/etc\/pam.d\/system-auth<\/strong>: indicaremos las \u00faltimas contrase\u00f1as, las cuales no ser\u00e1n reutilizables.<\/li><li><strong>\/etc\/login.defs<\/strong>: en donde se define el periodo de expiraci\u00f3n de las contrase\u00f1as.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configuracion\"><\/span>Configuraci\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Vamos a aplicar la configuraci\u00f3n a los distintos sistemas con el fin de conseguir la siguiente pol\u00edtica:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Longitud m\u00ednima de 10 caracteres.<\/li><li>Al menos un valor en may\u00fascula.<\/li><li>Al menos un valor en min\u00fascula.<\/li><li>Al menos un car\u00e1cter num\u00e9rico.<\/li><li>Al menos un car\u00e1cter especial.<\/li><li>No se pueden repetir las 5 \u00faltimas contrase\u00f1as.<\/li><li>Que al menos cambien 3 caracteres en la nueva contrase\u00f1a con respecto a la anterior.<\/li><li>Bloquear al introducir la credencial 3 veces err\u00f3neamente.<\/li><li>Caducidad cada 90 d\u00edas.<\/li><li>Que advierta 15 d\u00edas antes de la caducidad.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Valores_positivos_y_negativos\"><\/span>Valores positivos y negativos<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Como veremos en los siguietnes apartados, los valores de configuraci\u00f3n pueden ser positivos o negativos.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Positivos: deben de contener el n\u00famero de caracteres indicados en su valor.<\/li><li>Negativos: deben de contener al menos el n\u00famero de caracteres indicados en su valor.<\/li><\/ul>\n\n\n\n<p>Por ejemplo un valor de 2 para la configuraci\u00f3n de caracteres may\u00fasculas quiere decir que dos valores han de ser may\u00fasculas, y un valor de -2 quiere decir que al menos dos deben ser may\u00fasculas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Debian-3\"><\/span>Debian<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>En Debian configuramos estos par\u00e1metros de la siguiente forma.<\/p>\n\n\n\n<p>Editamos el archivo <strong>\/etc\/pam.d\/common-password<\/strong> para configurar la complejidad de las contrase\u00f1as.<\/p>\n\n\n\n<p>Agregamos los siguientes valores a la l\u00ednea que contiene <strong><em>pam_cracklib.so<\/em><\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">password        requisite                       pam_cracklib.so retry=3 minlen=10 difok=3 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1<\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n agregamos el par\u00e1metro <strong><em>remember<\/em><\/strong> a la l\u00ednea que contiene <strong><em>pam_unix.so<\/em><\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">password        [success=1 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 remember=5<\/code><\/pre>\n\n\n\n<p>Ahora editamos el archivo <strong>\/etc\/login.defs<\/strong> para configurar los par\u00e1metros temporales de caducidad y advertencia:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">PASS_MAX_DAYS 90\nPASS_MIN_DAYS 0\nPASS_WARN_AGE 15<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fedora-3\"><\/span>Fedora<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Primero configuramos los valores de complejidad para las contrase\u00f1as, editando el archivo <strong>\/etc\/security\/pwquality.conf<\/strong> y agregando los valores que por defecto est\u00e1n comentados:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">retry=3\nminlen=10\ndifok=3\nlcredit=-1\ncredit=-1\ndcredit=-1\nocredit=-1<\/code><\/pre>\n\n\n\n<p>Luego agregamos el n\u00famero total de \u00faltimas contrase\u00f1as que ser\u00e1n recordadas para no reutilizar, editando el archivo <strong>\/etc\/pam.d\/system-auth<\/strong> y agregando el par\u00e1metro <strong><em>remember<\/em><\/strong> a la siguiente l\u00ednea:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">password suficient        pam_unix.so sha512 shadow nullok try_first_pass use_authok remember=5<\/code><\/pre>\n\n\n\n<p>Y para finalizar editamos el archivo <strong>\/etc\/login.defs<\/strong> para configurar los par\u00e1metros temporales de caducidad y advertencia:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">PASS_MAX_DAYS 90\nPASS_MIN_DAYS 0\nPASS_WARN_AGE 15<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Significado_de_los_valroes\"><\/span>Significado de los valroes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Estos valores agregados en la complejidad quieren decir:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>retry<\/strong>: n\u00famero de intentos consecutivos con credencial fallida.<\/li><li><strong>minlen<\/strong>: longitud m\u00ednima de la contrase\u00f1a.<\/li><li><strong>difok<\/strong>: n\u00famero de caracteres distintos con respecto a la contrase\u00f1a anterior.<\/li><li><strong>lcredit<\/strong>: n\u00famero de caracteres min\u00fascula.<\/li><li><strong>ucredig<\/strong>: n\u00famero de caracteres may\u00fascula.<\/li><li><strong>dcredit<\/strong>: n\u00famero de caracteres num\u00e9ricos.<\/li><li><strong>ocredit<\/strong>: n\u00famero de caracteres especiales.<\/li><li><strong>remember<\/strong>: el total de las \u00faltimas contrase\u00f1as que no se podr\u00e1n reutilizar.<\/li><\/ul>\n\n\n\n<p>Sobre los valores temporales:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>PASS_MAX_DAYS<\/strong>: m\u00e1ximo n\u00famero de d\u00edas en los que la contrase\u00f1a ser\u00e1 v\u00e1lida desde el \u00faltimo cambio.<\/li><li><strong>PASS_MIN_DAYS<\/strong>: indica el n\u00famero de d\u00edas que han de transcurrir entre un cambio de contrase\u00f1a y el siguiente.<\/li><li><strong>PASS_WARN_AGE<\/strong>: indica desde cuando se comenzar\u00e1 a mostrar el mensaje de advertencia previo a la caducidad.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Consideraciones_importantes\"><\/span>Consideraciones importantes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La configuraci\u00f3n de los l\u00edmites de tiempo <span style=\"text-decoration: underline;\"><strong>solo aplica a los nuevos usuarios creados posteriormente a la aplicaci\u00f3n de esta pol\u00edtica<\/strong><\/span>, por lo que los usuarios ya existentes no se ver\u00e1n afectados. Para aplicarle los valores configurados debemos de utilizar manualmente el comando que se muestra en el siguiente apartado.<\/p>\n\n\n\n<p>Esto mismo sucede si en un momento determinado cambiamos la pol\u00edtica de tiempo, por ejemplo para que ampliar o disminuir la caducidad de la constrase\u00f1a.<\/p>\n\n\n\n<p>Es posible que tengamos que configurar un script para actuar y aplicar los valores a todos los ususarios del sistema, o al menos sobre los que queramos actuar.<\/p>\n\n\n\n<p>Sin embargo, los cambios en las caracter\u00edsticias de la contrase\u00f1a aplican en el momento en el que guardamos el archivo, y es extensible a todos los usuarios aunque ya existieran.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comprobacion_con_el_comando_CHAGE\"><\/span>Comprobaci\u00f3n con el comando CHAGE<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Para comprobar los valores aplicados debemos de usar el comando <strong>chage<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo chage -l test\n\n\u00daltimo cambio de contrase\u00f1a                    :abr 15, 2021\nLa contrase\u00f1a caduca                    : jul 14, 2021\nContrase\u00f1a inactiva                    : nunca\nLa cuenta caduca                        : nunca\nN\u00famero de d\u00edas m\u00ednimo entre cambio de contrase\u00f1a        : 0\nN\u00famero de d\u00edas m\u00e1ximo entre cambio de contrase\u00f1a        : 90\nN\u00famero de d\u00edas de aviso antes de que caduque la contrase\u00f1a    : 15<\/code><\/pre>\n\n\n\n<p>Si quieres aplicarlo a un usuario creado anterior a los cambios estos no tendr\u00e1n efecto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo chage -l default_user\n\n\u00daltimo cambio de contrase\u00f1a                    :abr 16, 2021\nLa contrase\u00f1a caduca                    : nunca\nContrase\u00f1a inactiva                    : nunca\nLa cuenta caduca                        : nunca\nN\u00famero de d\u00edas m\u00ednimo entre cambio de contrase\u00f1a        : 0\nN\u00famero de d\u00edas m\u00e1ximo entre cambio de contrase\u00f1a        : 99999\nN\u00famero de d\u00edas de aviso antes de que caduque la contrase\u00f1a    : 7<\/code><\/pre>\n\n\n\n<p>Para ello debemos de lanzar el comando manualmente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">chage default_user -W 15 -M 90 -m 0<\/code><\/pre>\n\n\n\n<p>En este los par\u00e1metros son:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>-W<\/strong>: tiempo en el que se muestra la advertencia previo a la caducidad, en d\u00edas.<\/li><li><strong>-M<\/strong>: tiempo m\u00e1ximo de caducidad de la contrase\u00f1a, en d\u00edas.<\/li><li><strong>-m<\/strong>: in\u00famero de d\u00edas que han de transcurrir entre un cambio de contrase\u00f1a y el siguiente.<\/li><\/ul>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cambio_de_contrasena_no_valido\"><\/span>Cambio de contrase\u00f1a no v\u00e1lido<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Si intentamos cambiar la contrase\u00f1a sin cumplir todos los par\u00e1metros configurados en los apartados anteriores se nos mostrar\u00e1n errores impidiendo ejecutar la acci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ passwd\n\nCambiando la contrase\u00f1a de test.\nCurrent password: \nNueva contrase\u00f1a: \nCONTRASE\u00d1A INCORRECTA: Es demasiado corta.\nNueva contrase\u00f1a: \nCONTRASE\u00d1A INCORRECTA: No contiene suficientes caracteres DIFERENTES.\nNueva contrase\u00f1a: \nCONTRASE\u00d1A INCORRECTA: Es demasiado simple\/sistem\u00e1tica.\npasswd: Se ha agotado el n\u00famero m\u00e1ximo de reintentos para el servicio\npasswd: no se ha cambiado la contrase\u00f1a<\/code><\/pre>\n\n\n\n<p>O de forma gr\u00e1fica:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"336\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2021\/04\/warning-gui.png\" alt=\"\" class=\"wp-image-1102\"\/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ejemplo_de_advertencia\"><\/span>Ejemplo de advertencia<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>La advertencia se muestar inmediatamente despu\u00e9s que el usuario ingresa la contrase\u00f1a correcta, y solo se muestar durante un periodo breve de tiempo.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"292\" height=\"246\" src=\"https:\/\/blog.tiraquelibras.com\/wp-content\/uploads\/2021\/04\/warning.png\" alt=\"\" class=\"wp-image-1103\"\/><\/figure><\/div>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusi\u00f3n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Con estos sencillos pasos tendremos una pol\u00edtica de contrase\u00f1as robusta para nuestros sistemas Linux, tanto servidores como equipos personales.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En los sistemas Linux tambi\u00e9n contamos con la posibilidad de aplicar pol\u00edticas de contrase\u00f1as enfocadas a su complejidad y robusted, mejorando la seguridad del sistema.<span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/blog.tiraquelibras.com\/?p=1101\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":1106,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,22],"tags":[36,123,37,12],"class_list":["post-1101","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sistemas","category-ti","tag-credenciales","tag-politica","tag-seguridad","tag-sistemas"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts\/1101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1101"}],"version-history":[{"count":0,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/posts\/1101\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=\/wp\/v2\/media\/1106"}],"wp:attachment":[{"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.tiraquelibras.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}