pam

Tutorial do Linux Pam para segurança

Tutorial do Linux Pam para segurança
PAM significa Pluggable Authentication Modules que fornece suporte de autenticação dinâmica para aplicativos e serviços em um sistema operacional Linux. É um mecanismo de segurança que permite a proteção através do PAM em vez de solicitar nome de usuário e senha. PAM é responsável pela autenticação dos arquivos que estão sendo executados. Cada aplicativo consiste em vários arquivos configuráveis, e cada um consiste em uma pilha de vários módulos. Esses módulos são executados de cima para baixo e, em seguida, o PAM gera a resposta se é aprovado ou reprovado com base no resultado.

O PAM torna muito mais fácil para administradores e desenvolvedores, pois faz alterações no arquivo de código-fonte por conta própria e requer interação mínima. Portanto, o PAM também pode ser definido como uma interface de programação de aplicativo generalizada para serviços relacionados à autenticação. Em vez de reescrever o código, ele é modificado por conta própria.

Interface do Módulo Pam

Auth: É o módulo responsável pela autenticação; verifica a senha.
Conta: Depois que o usuário se autentica com as credenciais corretas, a seção da conta verifica a validade da conta, como expiração ou restrições de tempo de login, etc.
Senha: É usado apenas para alterar a senha.
Sessão: Gerencia as sessões, contém o relato da atividade do usuário, criação de caixas de correio, cria o diretório pessoal do usuário, etc.

Tutorial

  1. Para verificar se seu aplicativo usa LINUX-PAM ou não use o seguinte comando em seu terminal:

    $ ldd / bin / su

    Como podemos ver na linha 2 da saída, existe um lipbpam.então o arquivo que confirma a consulta.

  2. A configuração do LINUX-PAM está no diretório / etc / pam.d /. Abra o terminal do seu sistema operacional Linux e vá para o diretório pam digitando o comando: $ cd / etc / pam.d /

    Este é o diretório que contém outros serviços que suportam PAM. Um pode


    verifique o conteúdo executando o comando $ ls dentro do diretório de pam como mostrado na imagem acima.

    se você não encontrar o sshd como um serviço que suporta PAM, você deve instalar o servidor sshd.

    SSH (ou shell seguro) é uma ferramenta de rede criptografada projetada para permitir que diferentes tipos de computadores / usuários façam login com segurança em vários computadores remotamente em uma rede. Você precisa instalar o pacote openssh-server, o que você pode fazer executando o seguinte comando em seu terminal.

    $ sudo apt-get install servidor openssh

    Irá instalar todos os arquivos e então você pode entrar novamente no diretório pam e verificar os serviços e ver que o sshd foi adicionado.

  3. Em seguida, digite o seguinte comando. VIM é um editor de texto que abre documentos de texto simples para o usuário ver e editar. $ vim sshd

    Se quiser sair do editor vim e não conseguir fazê-lo carregue na tecla Esc e dois pontos (:) ao mesmo tempo que o coloca no modo de inserção. Após os dois pontos, digite q e pressione enter. Aqui, q significa desistir.

    Você pode rolar para baixo e ver todos os módulos que foram descritos anteriormente com termos como obrigatório, incluir, requisito, etc. O que são aqueles?

    Eles são chamados de Bandeiras de Controle PAM. Vamos entrar em seus detalhes antes de mergulhar em muito mais conceitos de serviços PAM.

Sinalizadores de controle PAM

  1. Obrigatório: Deve passar para o sucesso do resultado. É a necessidade da qual não se pode prescindir.
  2. Requisito: Deve passar, caso contrário, nenhum módulo adicional será executado.
  3. Suficiente: É ignorado se falhar. Se este módulo for aprovado, nenhum sinalizador adicional será verificado.
  4. Opcional: Muitas vezes é ignorado. Só é usado quando há apenas um módulo na interface.
  5. Incluir: Ele busca todas as linhas de outros arquivos.

Agora, a regra geral para escrever a configuração principal é a seguinte: tipo de serviço, sinalizador de controle, módulo, argumentos do módulo

  1. SERVIÇO: Este é o nome do aplicativo. Suponha que o nome do seu aplicativo seja NUCUTA.
  2. MODELO: Este é o tipo de módulo usado. Suponha que aqui o módulo usado seja o módulo de autenticação.
  3. CONTROL-FLAG: Este é o tipo de sinalizador de controle usado, um entre os cinco tipos descritos antes.
  4. MÓDULO: O nome do arquivo absoluto ou o caminho relativo do PAM.
  5. ARGUMENTOS DE MÓDULO: É a lista separada de tokens para controlar o comportamento do módulo.

Suponha que você queira desabilitar o acesso do usuário root a qualquer tipo de sistema via SSH, você precisa restringir o acesso ao serviço sshd. Além disso, os serviços de login devem ter acesso controlado.

Existem vários módulos que restringem o acesso e dão privilégios mas podemos usar o módulo / lib / security / pam_listfile.tão que é extremamente flexível e tem muitas funcionalidades e privilégios.

  1. Abra e edite o arquivo / aplicativo no editor vim para o serviço de destino inserindo no / etc / pam.d / diretório primeiro.

A seguinte regra deve ser adicionada em ambos os arquivos:

auth required pam_listfile.então \ onerr = item bem-sucedido = sentido do usuário = arquivo negado = / etc / ssh / deniedusers

Onde auth é o módulo de autenticação, obrigatório é o sinalizador de controle, o pam_listfile.então o módulo dá os privilégios de negação aos arquivos, onerr = sucesso é o argumento do módulo, item = usuário é outro argumento do módulo que especifica listagens de arquivos e o conteúdo que deve ser verificado, sense = deny é outro argumento do módulo que irá se o item for encontrado em um arquivo e arquivo = / etc / ssh / deniedusers que especifica um tipo de arquivo que contém apenas um item por linha.

  1. Em seguida, crie outro arquivo / etc / ssh / deniedusers e adicione root como o nome nele. Isso pode ser feito seguindo o comando: $ sudo vim / etc / ssh / deniedusers
  1. Em seguida, salve as alterações após adicionar o nome raiz a ele e feche o arquivo.
  2. Use o comando chmod para mudar o modo de acesso do arquivo. A sintaxe do comando chmod é
 arquivo chmod [referência] [operador] [modo]

Aqui, as referências são usadas para especificar uma lista de letras que indica a quem dar permissão.

Por exemplo, aqui você pode escrever o comando:

$ sudo chmod 600 / etc / ssh / deniedusers

Isso funciona de maneira simples. Você especifica os usuários que têm acesso negado ao seu arquivo no arquivo / etc / ssh / deniedusers e define o modo de acesso para o arquivo usando o comando chmod. De agora em diante, ao tentar acessar o arquivo devido a esta regra, o PAM negará a todos os usuários listados no arquivo / etc / ssh / deniedusers qualquer acesso ao arquivo.

Conclusão

O PAM fornece suporte de autenticação dinâmica para aplicativos e serviços em um sistema operacional Linux. Este guia indica uma série de sinalizadores que podem ser usados ​​para determinar o resultado do resultado de um módulo. É conveniente e confiável. para usuários do que a senha tradicional e o mecanismo de autenticação de nome de usuário e, portanto, o PAM é frequentemente usado em muitos sistemas seguros.

Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...
Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...
Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...