Restringir login via grupo de usuários em access.conf

2

Eu tenho trabalhado para que o /etc/security/access.conf funcione como esperado e, até o momento, todos os usuários ainda podem fazer o login. Detalhes abaixo.

Eu adicionei a seguinte linha ao /etc/pam.d/login

account required pam_access.so

Eu também adicionei as seguintes linhas em /etc/security/access.conf

+ : root : ALL
+ : group_name : ALL
- : ALL : ALL

group_name é um grupo dentro do nosso servidor LDAP (FreeIPA). Qualquer usuário ainda pode fazer login, independentemente de fazer parte de $ {group_name}. Eu posso SSH no servidor sem quaisquer problemas de qualquer usuário. Alguém pode me ajudar a indicar onde estou incorreto? Estou executando o RHEL 6.5. Obrigado

    
por bluerojo 15.03.2016 / 21:58

4 respostas

3

De man access.conf :

Each line of the login access control table has three fields separated by a ":" character (colon): permission:users/groups:origins

The first field, the permission field, can be either a "+" character (plus) for access granted or a "-" character (minus) for access denied.

The second field, the users/group field, should be a list of one or more login names, group names, or ALL (which always matches). To differentiate user entries from group entries, group entries should be written with brackets, e.g. (group).

Então, o seu /etc/security/access.conf deve ficar assim:

+ : root : ALL
+ : (group_name) : ALL
- : ALL : ALL
    
por 07.09.2017 / 08:41
2

mrc02_kr está certo, eu acho.

+ : root : ALL
+ : (group_name) : ALL
- : ALL : ALL

Mas isso deixa um passo importante: você tem que dizer ao authconfig que você quer impor o controle de acesso do PAM. Antes de fazer isso, o arquivo access.conf não faz nada.

* UMA PALAVRA DE CUIDADO: * O que eu estou prestes a descrever funciona nos meus sistemas, mas é muito perigoso, e pode deixá-lo trancado fora do seu sistema se você fizer isso incorretamente ou se sua configuração for diferente. Tome a precaução de ter uma sessão de console aberta para reparar problemas. Se esta for uma VM, tire um instantâneo. Faça backups. Use uma caixa de teste antes de fazer algo que lhe interessa. Não reinicialize enquanto estiver tendo problemas. Como não tenho experiência com o FreeIPA, isso pode atrapalhar sua configuração. Você foi avisado. OK, de volta para a resposta:

Primeiro, fiz um backup do meu authconfig:

authconfig --savebackup authconfig_working_outofbox01

Em seguida, adicionei um grupo local para contas autorizadas para ssh (mas tenho quase certeza de que isso funcionará para grupos no FreeIPA ... mas não tenho 100% de certeza. Usei uma configuração usando um grupo LDAP ... acabou de passar um tempo.)

Em seguida, atualizei o arquivo acces.conf, adicionando:

+ : (ssh_auth) : ALL
- : ALL        : ALL EXCEPT LOCAL

Em seguida, edito o arquivo: / etc / sysconfig / authconfig, alterando

USEPAMACCESS=no

para

USEPAMACCESS=yes

Por último, diga ao authconfig para atualizar:

authconfig --updateall

Agora teste cada tipo de usuário para ter certeza de obter os resultados desejados. Isso parece muito pouco documentado na internet, fazendo-me pensar que poucas lojas usam isso. Eu gosto disso como um passo sólido em sistemas de endurecimento.

    
por 09.02.2018 / 22:27
1

Se você estiver executando o openSSH e não houver problema em utilizar restrições ssh em seus usuários, poderá editar o arquivo /etc/ssh/sshd_config e adicionar uma ou mais dessas linhas a seguir

DenyUsers
AllowUsers
DenyGroups
AllowGroups

mas tenha muito cuidado ao usá-los. Se você usar a diretiva AllowUsers , quem não estiver nessa linha, será automaticamente negado e com erros de digitação durante a edição, também poderá bloquear seu próprio acesso. Portanto, sempre tenha uma porta dos fundos, como um console e uma senha root, antes de modificar essas configurações.

Tenho certeza de que está claro o que essas palavras-chave / diretivas no arquivo de configuração sshd fazem. Em caso de dúvida, verifique a página man do sshd ou procure por estas palavras usando o google. Uma miríade de documentos existe.

Por último, mas não menos importante, não se esqueça de reiniciar o sshd depois de concluir a edição do arquivo de configuração

    
por 15.03.2016 / 22:16
1

O RHEL 6.5 suporta SSSD. Você pode definir um filtro de acesso em seu domínio / definição LDAP de /etc/sssd/sssd.conf.

domains = LDAP
...
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
...   
ldap_access_filter = memberOf=cn=MyGroupOfUsers,ou=MyOU,o=MyOrg
...

Em seguida, não se esqueça de reiniciar o sssd

service sssd restart
    
por 30.06.2017 / 16:52