{"id":97,"date":"2014-06-29T02:18:22","date_gmt":"2014-06-29T02:18:22","guid":{"rendered":"http:\/\/107.170.191.119\/?p=97"},"modified":"2014-06-29T02:18:22","modified_gmt":"2014-06-29T02:18:22","slug":"lpic-2-202-pam-authentication","status":"publish","type":"post","link":"https:\/\/arripio.com.br\/?p=97","title":{"rendered":"LPIC-2 202 PAM Authentication"},"content":{"rendered":"<address>\n<h6 style=\"font-weight: bold; color: #993300;\">Arquivos de configura\u00e7\u00e3o<\/h6>\n<h6><span style=\"color: #000000;\">O prop\u00f3sito do do projeto PAM \u00e9 separar a concess\u00e3o de privil\u00e9gios nos aplicativos do desenvolvimento de esquemas de autentica\u00e7\u00e3o apropriados e seguros. Isto \u00e9 realizado fornecendo-se uma biblioteca de fun\u00e7\u00f5es utilizada pelas aplica\u00e7\u00f5es para solicitar a autentica\u00e7\u00e3o de usu\u00e1rios.\u00a0<\/span><\/h6>\n<h6><span style=\"color: #000000;\">As bibliotecas PAM s\u00e3o configuradas no arquivo\u00a0<\/span><em style=\"color: #000000;\">\/etc\/pam.conf<\/em><span style=\"color: #000000;\">\u00a0ou no diret\u00f3rio<\/span><em style=\"color: #000000;\">\/etc\/pam.d\/<\/em><span style=\"color: #000000;\">. Vale ressaltar que n\u00e3o \u00e9 poss\u00edvel utilizar as duas formas de configura\u00e7\u00e3o do LinuxPAM. O administrador deve usar o arquivo \/etc\/pam.conf ou o diret\u00f3rio \/etc\/pam.d\/, n\u00e3o os dois ao mesmo tempo.\u00a0<\/span><\/h6>\n<h6><span style=\"color: #000000;\">Os arquivos de configura\u00e7\u00e3o utilizam m\u00f3dulos normalmente localizados no diret\u00f3rio \/lib\/security\/ ou \/lib64\/security\/ e se comportam como objetos carreg\u00e1veis dinamicamente.\u00a0<\/span><\/h6>\n<h6><span style=\"color: #000000;\">A configura\u00e7\u00e3o do arquivo \/etc\/pam.conf deve seguir o seguinte formato:\u00a0<\/span><\/h6>\n<pre>service-name\tmodule-type\tcontrol-flag\tmodule-path\targs<\/pre>\n<h6><span style=\"color: #000000;\">Onde:<\/span><\/h6>\n<ul style=\"color: #000000;\">\n<li>\n<h6>service-name: indica o nome do servi\u00e7o associado \u00e0 configura\u00e7\u00e3o (login, ftpd, su etc)<\/h6>\n<\/li>\n<li>\n<h6>module-type: informa ao Linux-PAM qual o tipo de m\u00f3dulo utilizado, havendo um m\u00f3dulo para cada tipo de tarefa. Pode ser auth, account, session e password.<\/h6>\n<\/li>\n<li>\n<h6>control-flag: indica \u00e0 biblioteca PAM como reagir em caso de sucesso ou falha. Como os m\u00f3dulos podem ser empilhados e executados em s\u00e9rie, um ap\u00f3s o outro, este par\u00e2metro informa a import\u00e2ncia relativa de cada m\u00f3dulo, garantindo que todas as restri\u00e7\u00f5es para uma dada autentica\u00e7\u00e3o sejam satisfeitas.<\/h6>\n<\/li>\n<li>\n<h6>module-path: indica o caminho da biblioteca PAM, o arquivo de m\u00f3dulo a ser utilizado.<\/h6>\n<\/li>\n<li>\n<h6>args: s\u00e3o informa\u00e7\u00f5es \u00fateis ao m\u00f3dulo PAM durante o processo de negocia\u00e7\u00e3o com a aplica\u00e7\u00e3o. Consiste de uma lista de argumentos a ser enviada ao m\u00f3dulo quando este for invocado.<\/h6>\n<\/li>\n<\/ul>\n<h6><span style=\"color: #000000;\">Ap\u00f3s a vers\u00e3o 0.56, o Linux-PAM permite uma forma mais flex\u00edvel de configura\u00e7\u00e3o do sistema, atrav\u00e9s de arquivos dispostos no diret\u00f3rio \/etc\/pam.d\/. Neste caso, cada servi\u00e7o possuir um arquivo de mesmo nome no diret\u00f3rio. Assim, o servi\u00e7o smtp ser\u00e1 configurado via arquivo \/etc\/pam.d\/smtp.\u00a0<\/span><\/h6>\n<h6><span style=\"color: #000000;\">Os arquivos no diret\u00f3rio \/etc\/pam.d\/ s\u00e3o configurados de forma similar \u00e0 configura\u00e7\u00e3o do \/etc\/pam.conf. Entretanto, como o nome do servi\u00e7o j\u00e1 \u00e9 o nome do arquivo, o par\u00e2metro service-name n\u00e3o \u00e9 utilizado. Dessa forma, cada entrada em um arquivo no \/etc\/pam.d\/ possui a seguinte forma:\u00a0<\/span><\/h6>\n<pre>module-type\tcontrol-flag\tmodule-path\targs<\/pre>\n<h6><span style=\"color: #000000;\">Algumas vantagens da utiliza\u00e7\u00e3o desta configura\u00e7\u00e3o simplificada do PAM s\u00e3o: facilidade de manuten\u00e7\u00e3o, possibilidade de fazer links simb\u00f3licos de um arquivo a outro, restri\u00e7\u00e3o de leitura do arquivo de configura\u00e7\u00e3o de uma dada aplica\u00e7\u00e3o e gerenciamento de instala\u00e7\u00f5es facilitado.<\/span><\/h6>\n<\/address>\n<h1 style=\"font-weight: bold; color: #993300;\">Sintaxe dos arquivos de configura\u00e7\u00e3o<\/h1>\n<h6><span style=\"color: #000000;\">O par\u00e2metro<\/span><em style=\"color: #000000;\">module-type<\/em><span style=\"color: #000000;\">\u00a0est\u00e1 relacionado com o tipo de gerenciamento de tarefa realizado pelo<\/span><a style=\"color: #005300;\" href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">Linux<\/a><span style=\"color: #000000;\">-PAM, podendo ser: gerenciamento de autentica\u00e7\u00e3o (auth), gerenciamento de conta (account), gerenciamento de sess\u00e3o (session) e gerenciamento de senha (password).\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><em style=\"color: #000000;\">account<\/em><span style=\"color: #000000;\">: realiza o gerenciamento n\u00e3o-autenticado contas. \u00c9 tipicamente usado para permitir ou negar acesso a servi\u00e7os de um usu\u00e1rio em uma data ou m\u00e1quina espec\u00edfica, al\u00e9m de permitir controles diversos, como expira\u00e7\u00e3o de senha.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><em style=\"color: #000000;\">auth<\/em><span style=\"color: #000000;\">: fornece dois aspectos para autentica\u00e7\u00e3o de usu\u00e1rio. Primeiramente, verifica se o usu\u00e1rio realmente \u00e9 quem ele diz ser, instruindo a aplica\u00e7\u00e3o a solicitar a senha ou outra forma de identifica\u00e7\u00e3o. Al\u00e9m disso ele pode configurar credenciais ou privil\u00e9gios do usu\u00e1rio, como estabelecer a quais grupos o usu\u00e1rio pertence.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><em style=\"color: #000000;\">password<\/em><span style=\"color: #000000;\">: \u00e9 utilizado para alterar a senha (ou outro mecanismo de autentica\u00e7\u00e3o do usu\u00e1rio). Em geral \u00e9 utilizado ap\u00f3s o m\u00f3dulo auth, para exigir a senha antiga antes da nova.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><em style=\"color: #000000;\">session<\/em><span style=\"color: #000000;\">: providencia o controle das a\u00e7\u00f5es realizadas antes e depois da conex\u00e3o do usu\u00e1rio ao servi\u00e7o disponibilizado pela aplica\u00e7\u00e3o PAM. Isso inclui informa\u00e7\u00f5es relacionadas a montagens de diret\u00f3rios, configura\u00e7\u00e3o de vari\u00e1veis de ambiente, registro de atividades etc.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O par\u00e2metro\u00a0<\/span><em style=\"color: #000000;\">control-flag<\/em><span style=\"color: #000000;\">\u00a0indica o comportamento da API PAM no caso de sucesso ou falha no processo de autentica\u00e7\u00e3o. H\u00e1 dois tipos de sintaxe para este campo, uma mais simples (amplamente usada) e outra mais complexa envolvendo pares de valor-a\u00e7\u00e3o. Neste artigo, usaremos a mais simples, que consiste da seguintes palavras-chave:<\/span><\/h6>\n<ul style=\"color: #000000;\">\n<li>required: indica que o sucesso do m\u00f3dulo \u00e9 necess\u00e1rio ao sucesso da tarefa especificada pelo par\u00e2metro module-type. A falha desse m\u00f3dulo n\u00e3o interromper\u00e1 a checagem dos outros m\u00f3dulos de mesmo tipo.<\/li>\n<li>requisite: funciona de maneira similar \u00e0 op\u00e7\u00e3o required. No entanto, em caso de falha, o controle \u00e9 retornada automaticamente para a aplica\u00e7\u00e3o desconsiderando-se os outros m\u00f3dulos do mesmo tipo.<\/li>\n<li>sufficient: o sucesso de um m\u00f3dulo com a op\u00e7\u00e3o sufficient \u00e9 suficiente para satisfazer a pilha de m\u00f3dulos destinada ao tipo de m\u00f3dulo onde \u00e9 usado. O Linux-PAM retorna imediatamente o controle para a aplica\u00e7\u00e3o desconsiderando os demais m\u00f3dulos do mesmo tipo. A falha nesse m\u00f3dulo, entretanto, n\u00e3o implica em falha da pilha, a menos que seja o \u00fanico.<\/li>\n<li>optional: o sucesso ou falha deste m\u00f3dulo somente \u00e9 importante se ele \u00e9 o \u00fanico m\u00f3dulo na pilha associada com o servi\u00e7o especificado.\u00c9 utilizado em m\u00f3dulos que oferecem algum servi\u00e7o ao usu\u00e1rio, mas que n\u00e3o s\u00e3o cr\u00edticos ao processo de autentica\u00e7\u00e3o como um todo.<\/li>\n<\/ul>\n<h6><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O par\u00e2metro module-path, se iniciado com o caractere &#8216;\/&#8217;, \u00e9 o caminho completo do m\u00f3dulo que ser\u00e1 carregado pelo PAM, caso contr\u00e1rio, o Linux-PAM considera o caminho relativo ao diret\u00f3rio \/lib\/security\/ ou \/lib64\/security\/.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O par\u00e2metro args consiste de uma lista de argumentos separados por espa\u00e7o usados para modificar o comportamento de um dado m\u00f3dulo PAM. \u00c9 espec\u00edfico de cada m\u00f3dulo<\/span><\/h6>\n<h6><span style=\"color: #000000;\">Como pr\u00e1tica do nosso artigo, consideraremos a utiliza\u00e7\u00e3o do diret\u00f3rio \/etc\/pam.d\/, do arquivo \/etc\/pam.d\/system-auth e outros arquivos de configura\u00e7\u00e3o utilizados pelos m\u00f3dulos descritos no \/etc\/pam.d\/system-auth.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O objetivo deste arquivo \u00e9 fornecer uma configura\u00e7\u00e3o comum para diversos servi\u00e7os e daemons que utilizam o PAM. Normalmente, outros arquivos do PAM incluem o conte\u00fado do \/etc\/pam.d\/system-auth.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O arquivo\u00a0<\/span><em style=\"color: #000000;\">\/etc\/pam.d\/system-auth<\/em><span style=\"color: #000000;\">\u00a0ter\u00e1 o seguinte conte\u00fado:\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><\/h6>\n<div class=\"codigo\" style=\"color: #000000;\">auth\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_env.so<br \/>\nauth\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sufficient\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_unix.so try_first_pass likeauth nullok<br \/>\nauth\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_deny.so<br \/>\nauth\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_tally.so deny=5 unlock_time=216000account\u00a0\u00a0\u00a0\u00a0required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_unix.so<br \/>\naccount\u00a0\u00a0\u00a0\u00a0required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_access.so<br \/>\naccount\u00a0\u00a0\u00a0\u00a0required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_tally.so deny=5 unlock_time=21600<\/p>\n<p>password\u00a0\u00a0 required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 try_first_pass retry=3<br \/>\npassword\u00a0\u00a0 sufficient\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_unix.so try_first_pass use_authtok md5 shadow<br \/>\npassword\u00a0\u00a0 required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_deny.so<\/p>\n<p>session\u00a0\u00a0\u00a0\u00a0required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_limits.so<br \/>\nsession\u00a0\u00a0\u00a0\u00a0required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_env.so<br \/>\nsession\u00a0\u00a0\u00a0\u00a0required\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/lib\/security\/pam_unix.so<\/p>\n<\/div>\n<h6><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O m\u00f3dulo\u00a0<\/span><em style=\"color: #000000;\">pam_cracklib<\/em><span style=\"color: #000000;\">, do tipo password, \u00e9 respons\u00e1vel por fazer uma checagem m\u00ednima de seguran\u00e7a e tamanho da uma senha sendo trocada. Ele utiliza a biblioteca CrackLib, uma vers\u00e3o resumida do Crack, um programa para ataques de dicion\u00e1rios.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">Ao usar essa biblioteca, o pam_cracklib dificulta a escolha de senhas baseadas em senhas de dicion\u00e1rios. O m\u00f3dulo pam_cracklib permite ainda que se defina o tamanho m\u00ednimo de uma senha e incentivar, por mecanismos de cr\u00e9dito, o uso de mai\u00fasculas e min\u00fasculas, bem como s\u00edmbolos e n\u00fameros.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O argumento\u00a0<\/span><em style=\"color: #000000;\">retry=3<\/em><span style=\"color: #000000;\">\u00a0especifica que ser\u00e3o realizadas 3 tentativas antes de retorna um erro.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O\u00a0<\/span><em style=\"color: #000000;\">minlen=8<\/em><span style=\"color: #000000;\">\u00a0estipula o tamanho m\u00ednimo de 8 caracteres para a senha.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O\u00a0<\/span><em style=\"color: #000000;\">difok=2<\/em><span style=\"color: #000000;\">\u00a0estipula o m\u00ednimo de caracteres diferentes da senha antiga para a nova.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O m\u00f3dulo\u00a0<\/span><em style=\"color: #000000;\">pam_access<\/em><span style=\"color: #000000;\">\u00a0\u00e9 do tipo account e providencia controle de acesso ao login do usu\u00e1rio. \u00c9 poss\u00edvel realizar o controle considerando os nomes de login, nomes de hosts ou dom\u00ednios, endere\u00e7os de internet ou rede, ou linhas de terminais. Por padr\u00e3o, o arquivo\u00a0<\/span><em style=\"color: #000000;\">\/etc\/security\/access.conf<\/em><span style=\"color: #000000;\">\u00a0\u00e9 utilizado para armazenar as regras de gerenciamento.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O c\u00f3digo abaixo apresenta um exemplo auto-instrutivo de configura\u00e7\u00e3o do arquivo\u00a0<\/span><em style=\"color: #000000;\">\/etc\/security\/access.conf<\/em><span style=\"color: #000000;\">\u00a0utilizado pelo pam_access.so. Os sinais &#8216;+&#8217; e &#8216;-&#8216; garantem e negam acesso, respectivamente.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">Obs.: Os arquivos est\u00e3o inteiramente comentados para que os testes sejam realizados por demanda. Desta forma, tem-se um melhor entendimento do que cada comando realiza e diminui a possibilidade de confus\u00e3o no uso dos mesmos.<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><\/h6>\n<div class=\"codigo\" style=\"color: #000000;\"><span class=\"comentario\" style=\"color: #004080;\"># in\u00edcio arquivo access.conf<br \/>\n# sintaxe \u00e9 dada por &#8220;permiss\u00e3o : usu\u00e1rios : origens&#8221;<br \/>\n#<br \/>\n# n\u00e3o queremos ningu\u00e9m acessando de hell.com ou spam.net<br \/>\n#- : ALL : .hell.com .spam.net<br \/>\n# n\u00e3o queremos login no terminal, exceto do usu\u00e1rio root<br \/>\n#- : ALL EXCEPT root : tty1<br \/>\n# negar acesso de root vindo da rede interna<br \/>\n#- : root: 192.168.<br \/>\n# placebo pode acessar da m\u00e1quina london<br \/>\n#+ : placebo : london<br \/>\n# membros do grupo musicians podem acessar de qualquer local<br \/>\n#+ : musicians : ALL<br \/>\n# ningu\u00e9m mais pode acessar<br \/>\n#- : ALL : ALL<br \/>\n# fim arquivo access.conf<\/span><\/div>\n<h6><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">IMPORTANTE: Observe que, com esta configura\u00e7\u00e3o, estamos impedindo do usu\u00e1rio root acessar a partir da rede interna. Logo, caso voc\u00ea esteja realizando as configura\u00e7\u00f5es da rede interna, N\u00c3O FECHE A CONEX\u00c3O, pois ela n\u00e3o poder\u00e1 ser restabelecida pelo root. Para evitar poss\u00edveis problemas com o PAM, sempre mantenha uma conex\u00e3o de root reservada. Dessa forma ser\u00e1 poss\u00edvel alterar as configura\u00e7\u00f5es caso haja algum erro impossibilitando realizar autentica\u00e7\u00e3o.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O m\u00f3dulo pam_limits, do tipo session, \u00e9 usado para limitar o uso de recursos da m\u00e1quina. O m\u00f3dulo PAM configura um limite aos recursos do sistema que podem ser obtidos em uma se\u00e7\u00e3o de usu\u00e1rio. Por padr\u00e3o, as informa\u00e7\u00f5es necess\u00e1rias ao m\u00f3dulo s\u00e3o carregadas a partir do arquivo \/etc\/security\/limits.conf.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">No arquivo de configura\u00e7\u00e3o limits.conf, o campo domain pode ser um usu\u00e1rio, nomes de grupos (indicados por @) ou coringas (*, %). O campo type \u00e9 usado como grau de flexibilidade de limite de recursos. O item especifica qual recurso est\u00e1 sendo limitado, abrangendo n\u00famero m\u00e1ximo de arquivos abertos (nofile), tempo m\u00e1ximo de uso da CPU (cpu), n\u00famero m\u00e1ximo de processos (nproc), n\u00famero m\u00e1ximo de logins (maxlogins), prioridade com a qual s\u00e3o executadas as aplica\u00e7\u00f5es (priority), dentre outros.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">Um exemplo do arquivo de configura\u00e7\u00e3o\u00a0<\/span><em style=\"color: #000000;\">\/etc\/security\/limits.conf<\/em><span style=\"color: #000000;\">\u00a0\u00e9 listado abaixo:\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><\/h6>\n<div class=\"codigo\" style=\"color: #000000;\"><span class=\"comentario\" style=\"color: #004080;\"># in\u00edcio arquivo limits.conf<br \/>\n# sintaxe \u00e9 dada por: &#8220;domain type item value&#8221;<br \/>\n#<br \/>\n# limita uso da mem\u00f3ria em 10Mb<br \/>\n#* hard rss 10000<br \/>\n# limita n\u00famero de processos do usu\u00e1rio root<br \/>\n#placebo hard nproc 0<br \/>\n# limita o n\u00famero de logins do grupo musicians<br \/>\n#@musicians soft maxlogins 4<br \/>\n# limita o tempo de uso da cpu para qualquer<br \/>\n# usu\u00e1rio em 8 horas (480 minutos)<br \/>\n#* hard cpu 480<br \/>\n# fim arquivo limits.conf<\/span><\/div>\n<h6><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">Outro m\u00f3dulo bem interessante \u00e9 o\u00a0<\/span><em style=\"color: #000000;\">pam_tally<\/em><span style=\"color: #000000;\">, do tipo auth e account. Ele mant\u00e9m um contador de tentativas de acesso ao sistema. Pode ser reiniciado ao se obter sucesso na opera\u00e7\u00e3o ou negar acesso se muitas tentativas falharem.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O argumento\u00a0<\/span><em style=\"color: #000000;\">deny=5<\/em><span style=\"color: #000000;\">\u00a0bloqueia o acesso se o contador de tentativas atingir 5.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O\u00a0<\/span><em style=\"color: #000000;\">unlock_time=21600<\/em><span style=\"color: #000000;\">\u00a0especifica que o acesso s\u00f3 ser\u00e1 permitido novamente ap\u00f3s 6 horas (21600 segundos). Por padr\u00e3o, as informa\u00e7\u00f5es de contadores de login ficam registradas no arquivo \/var\/log\/faillog.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">Outro m\u00f3dulo importante, que tamb\u00e9m deve ser adicionado ao \/etc\/pam.d\/system-auth \u00e9 o\u00a0<\/span><em style=\"color: #000000;\">pam_deny<\/em><span style=\"color: #000000;\">. Este m\u00f3dulo nega o acesso ao usu\u00e1rio, sendo utilizado para garantir que o usu\u00e1rio n\u00e3o consiga autenticar-se em caso de falha nos m\u00f3dulos anteriores. Dessa maneira, ele imprime uma seguran\u00e7a extra no esquema de autentica\u00e7\u00e3o.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">Al\u00e9m dos anteriores, o m\u00f3dulo pam_unix tamb\u00e9m deve ser adicionado ao system-auth. \u00c9 o m\u00f3dulo padr\u00e3o de autentica\u00e7\u00e3o Unix. Usualmente ir\u00e1 obter as informa\u00e7\u00f5es dos arquivos \/etc\/passwd e \/etc\/shadow.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O par\u00e2metro nullok \u00e9 usado para sobrescrever o comportamento padr\u00e3o de bloquear usu\u00e1rios com password em branco. O par\u00e2metro try_firs_pass faz com que o m\u00f3dulo tente usar a senha usada anteriormente em algum outro m\u00f3dulo. use_authtok indica ao pam_unix para utilizar o password configurado pelos m\u00f3dulos do tipo password da pilha de m\u00f3dulos. O par\u00e2metro md5 \u00e9 o algoritmo usado para criptografia do password.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">Para configurar adequadamente as vari\u00e1veis de ambiente do usu\u00e1rio, deve ser adicionado o m\u00f3dulo pam_env.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">As vari\u00e1veis de ambiente devem ser configuradas no arquivo<\/span><em style=\"color: #000000;\">\/etc\/security\/pam_env.conf<\/em><span style=\"color: #000000;\">.\u00a0<\/span><br style=\"color: #000000;\" \/><br style=\"color: #000000;\" \/><span style=\"color: #000000;\">O arquivo\u00a0<\/span><em style=\"color: #000000;\">\/etc\/security\/access.conf<\/em><span style=\"color: #000000;\">\u00a0foi alterado conforme descrito anteriormente. Assim como os arquivos\u00a0<\/span><em style=\"color: #000000;\">\/etc\/security\/time.conf<\/em><span style=\"color: #000000;\">\u00a0e\u00a0<\/span><em style=\"color: #000000;\">\/etc\/security\/limits.conf<\/em><span style=\"color: #000000;\">. Altere-os em sua m\u00e1quina para que os testes funcionem perfeitamente.<\/span><\/h6>\n<h6><\/h6>\n<h6><em><strong>Fonte :\u00a0http:\/\/www.vivaolinux.com.br\/artigo\/Uma-introducao-ao-LinuxPAM?pagina=2<\/strong><\/em><\/h6>\n<h6><em><strong>Acesso 28\/06\/2014<\/strong><\/em><\/h6>\n<h6><\/h6>\n","protected":false},"excerpt":{"rendered":"<p>Arquivos de configura\u00e7\u00e3o O prop\u00f3sito do do projeto PAM \u00e9 separar a concess\u00e3o de privil\u00e9gios nos aplicativos do desenvolvimento de esquemas de autentica\u00e7\u00e3o apropriados e seguros. Isto \u00e9 realizado fornecendo-se uma biblioteca de fun\u00e7\u00f5es utilizada pelas aplica\u00e7\u00f5es para solicitar a&hellip; <br \/><a class=\"read-more-button\" href=\"https:\/\/arripio.com.br\/?p=97\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[2],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pazGcY-1z","jetpack-related-posts":[{"id":73,"url":"https:\/\/arripio.com.br\/?p=73","url_meta":{"origin":97,"position":0},"title":"Administra\u00e7\u00e3o de Rede 210","date":"9 Junho, 2014","format":false,"excerpt":"DHCP host ArripioLinux{ hardware ethernet 00:00:00:00:00:00; fix-address 10.1.0.3; } option domain-name-servers option domain-name \"Arripio.net\"; Tipo de de autentica\u00e7\u00e3o PAM account auth password session Controle do PAM requisite -> autentica\u00e7\u00e3o \u00e9 imediata negada, no caso de negativa do m\u00f3dulo required ->autentica\u00e7\u00e3o recusada no caso de negativa do m\u00f3dulo , mas consultar\u00e1\u2026","rel":"","context":"In &quot;Automa\u00e7\u00e3o&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":42,"url":"https:\/\/arripio.com.br\/?p=42","url_meta":{"origin":97,"position":1},"title":"LPIC-2 Compartilhamento de arquivo 209","date":"24 Maio, 2014","format":false,"excerpt":"Configura\u00e7\u00e3o do Servidor SAMBA: [global] netbios name = servidor workgroup =\u00a0ArripioLinux security = user obey pam restrictions = yes encrypt passwords = no os level = 10 guest account = nobody server string = servidor da rede local master = true domain master = false [homes] comment = Diret\u00f3rios de\u2026","rel":"","context":"In &quot;Cerifica\u00e7\u00e3o LPIC-2 202&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":31,"url":"https:\/\/arripio.com.br\/?p=31","url_meta":{"origin":97,"position":2},"title":"LPIC-2 Web Service 208","date":"24 Maio, 2014","format":false,"excerpt":"Arquivo de configura\u00e7ao: \u00a0\/etc\/apache2\/apache2.conf \u00a0 ServerRoot \"\/etc\/apache2\" caminho de configura\u00e7\u00e3o dos arquivos do apache Timeout 300 Tempo m\u00e1ximo em segundos que o apache aguarda por resposta do cliente KeepAlive On Uso de diversas requisi\u00e7\u00f5es dentro da mesma conex\u00e3o MaxKeepAliveRequests 100 Numero m\u00e1ximo que o usu\u00e1rio poder\u00e1 fazer dentro da mesma\u2026","rel":"","context":"In &quot;Cerifica\u00e7\u00e3o LPIC-2 202&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":84,"url":"https:\/\/arripio.com.br\/?p=84","url_meta":{"origin":97,"position":3},"title":"Servi\u00e7o de E-mail 211","date":"9 Junho, 2014","format":false,"excerpt":"SMTP- MTA -\u00a0Postfix, Sedmail, qmail, Exim POP e IMAP - MDA Currier Dovecot MUA - Thunderbird Evolution SendMail aquivos de configura\u00e7\u00e3o \/etc\/mail Servidor Exim arquivos de configura\u00e7\u00e3o \/etc\/default\/exim4 Alias no postfix e sendmail \u00a0 \u00a0\/etc\/aliases \u00a0 usu\u00e1rio: usu\u00e1rios_a_ser_encaminhados \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u2026","rel":"","context":"In &quot;Automa\u00e7\u00e3o&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":28,"url":"https:\/\/arripio.com.br\/?p=28","url_meta":{"origin":97,"position":4},"title":"LPIC-2 DNS -Domain Name Server 207","date":"24 Maio, 2014","format":false,"excerpt":"Principal arquivo de configura\u00e7\u00e3o \/etc\/named.conf ou \/etc\/bind\/named.conf Comando para for\u00e7a leitura de novas configura\u00e7oes rndc type hint $TTL 1D@\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SOA \u00a0 \u00a0 linux.dominio.com. \u00a0 \u00a0 \u00a0admin.linux.dominio.com. (\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a02008260401 ;Serial\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a024h \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 ;Refresh ->\u2026","rel":"","context":"In &quot;Cerifica\u00e7\u00e3o LPIC-2 202&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":789,"url":"https:\/\/arripio.com.br\/?p=789","url_meta":{"origin":97,"position":5},"title":"Rsync n\u00e3o faz an\u00e1lise de checksum dos arquivos por padr\u00e3o","date":"20 Dezembro, 2023","format":false,"excerpt":"Rsync n\u00e3o faz an\u00e1lise de checksum dos arquivos por padr\u00e3o Do man rsync \u00a0 \u00a0 \u00a0 \u00a0Rsync \u00a0finds \u00a0files \u00a0that \u00a0need to be transferred using a \"quick check\" algorithm (by default) that looks for files \u00a0 \u00a0 \u00a0 \u00a0that have changed in size or in last-modified time. \u00a0Any changes in\u2026","rel":"","context":"In &quot;Sem categoria&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/arripio.com.br\/index.php?rest_route=\/wp\/v2\/posts\/97"}],"collection":[{"href":"https:\/\/arripio.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arripio.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arripio.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arripio.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=97"}],"version-history":[{"count":0,"href":"https:\/\/arripio.com.br\/index.php?rest_route=\/wp\/v2\/posts\/97\/revisions"}],"wp:attachment":[{"href":"https:\/\/arripio.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arripio.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arripio.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}