Como restringir os usuários acessar em uma máquina Linux
- 1291
- 234
- Ms. Travis Schumm
Objetivo
Aprenda a restringir os usuários Acesso em uma máquina Linux
Sistema operacional e versões de software
- Sistema operacional: - Todas as distribuições Linux
Requisitos
- Permissões de raiz
Dificuldade
FÁCIL
Convenções
- # - requer que os comandos Linux sejam executados com privilégios de raiz também
diretamente como usuário root ou por uso desudo
comando - $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular
Introdução
Neste tutorial, vamos aprender a restringir o acesso a uma máquina Linux, interagindo com dois arquivos: /etc/securetty
, que vamos especificar de que console é possível fazer login diretamente como root e /etc/segurança/acesso.conf
, em que podemos definir algumas regras para restringir o acesso a usuários ou grupos especificados de certas origens.
Restringir o login da raiz
A primeira coisa que vamos fazer, é para aprender a editar o /etc/securetty
arquivo para permitir o acesso direto de raiz apenas em alguns consoles específicos. Vamos dar uma olhada no arquivo: é assim que se parece em uma máquina do CentOS7:
Console VC/1 VC/2 VC/3 VC/4 VC/5 VC/6 VC/7 VC/8 VC/9 VC/10 VC/11 TTY1 TTY2 TTY3 TTY4 TTY5 TTY6 TTY7 TTY8 TTY9 TTY10 TTY1 tty1 hvc0 hvc1 hvc2 hvc3 hvc4 hvc5 hvc6 hvc7 hvsi0 hvsi1 hvsi2 xvc0
O que vemos lá é apenas uma lista de todos os terminais dos quais o acesso direto como o usuário root é permitido. Vamos nos concentrar no tty
dispositivos por enquanto. Abra o arquivo com um editor de texto e comente o tty1
entrada:
[…] #Tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9 tty10 tty11 […]
Salvar e sair do editor de texto. Agora, se mudarmos para o primeiro tty
pressionando Ctrl + alt + 1
ou correndo CHVT 1
, E tente fazer login como root, teremos o seguinte resultado:
Como esperado, o sistema nos negou acesso como raiz do TTY especificado. Para obter privilégios root e realizar tarefas administrativas, devemos fazer login como um usuário normal e depois usar sudo
ou su
(ou login de outro tty, se permitido).
Esteja ciente de que isso não afetará a capacidade de fazer login como root ao usar o SSH. Para evitar esse comportamento específico, você deve configurar o servidor SSH, modificando o /etc/ssh/sshd_config
arquivar e definir o Permitrootlogina
diretiva para não
Regras de acesso à configuração em/etc/segurança/acesso.conf
Se o /etc/securetty
O arquivo nos permite especificar de qual terminal é possível fazer login diretamente como root, configurando regras de acesso no /etc/segurança/acesso.conf
Arquivo, podemos permitir ou negar o acesso a usuários ou grupos específicos de origens específicas.
Insira o pam_access.então módulo
Antes de configurar nossas regras, precisamos modificar /etc/pam.d/login
, para adicionar o pam_access.então
módulo que permitirá Pam
Para escanear o acesso.conf
arquivar as regras que definiremos. Use seu editor de texto favorito para modificar o arquivo para que ele pareça desta maneira:
#%PAM-1.0 auth [user_unknown = ignorar sucesso = ok ignorar = ignorar default = bad] pam_securetty.Então, auth substack system-auth auth inclui uma conta pós-login necessária pam_nologin.Portanto, a conta necessária Pam_access.Portanto, a conta inclui senha do sistema-auth incluem System-Auth # pam_selinux.Tão perto deve ser a primeira sessão de regra de sessão exigida Pam_selinux.Sessão tão próxima necessária Pam_loginuid.Então sessão opcional pam_console.Então # pam_selinux.Portanto, o aberto deve ser seguido apenas por sessões a serem executadas na sessão de contexto do usuário exigida Pam_selinux.Sessão tão aberta exigiu pam_namespace.Então sessão opcional pam_keyinit.Portanto, a Sessão de Revogação da Força inclui sessão de System -Auth inclui pós -login -Session opcional Pam_CK_Connector.então
O que fizemos é adicionar o conta necessária pam_access.então
linha no final do conta
seção. Agora que configuramos Pam
Podemos começar a falar sobre regras de acesso.
A sintaxe das regras
Para definir uma regra no acesso.conf
arquivo, devemos respeitar uma sintaxe muito simples e clara. Uma regra é composta por três seções, separadas por um cólon:
Permissão: Usuários: Origens
A primeira parte da regra especifica as permissões e consiste em um -
ou +
Sinal: o primeiro cria o que podemos chamar de regra de 'negar', enquanto este especifica uma regra em que as permissões de acesso são concedidas.
Na segunda parte, fornecemos os assuntos da regra. A seção consiste em uma lista de grupos ou nomes de login. Para evitar conflitos entre usuários e grupos que podem ser nomeados da mesma maneira, as entradas do grupo podem ser especificadas entre colchetes, mas apenas se o nodefgroup
a opção está definida no /etc/pam.d/login
arquivo que modificamos acima, no final da linha, adicionamos.
A terceira parte da regra especifica a fonte da qual o acesso é permitido ou negado, sendo: um ou mais ttys
, nomes de host, endereços de host ou domínios.
Palavras-chave
A sintaxe da regra vamos usar algumas palavras -chave poderosas. Primeiro de tudo, temos TODOS
. Essa palavra -chave sempre corresponderá: por exemplo, quando usada na segunda seção, corresponderá a todos os usuários ou grupos possíveis ou quando usado no terceiro, todas as fontes possíveis.
O NENHUM
palavra -chave tem o efeito exatamente oposto de TODOS
, e LOCAL
, que tem sentido apenas no origens
Seção da regra, corresponderá a todas as strings que não contêm um '.'. Finalmente uma palavra -chave muito poderosa é EXCETO
que nos permite especificar exceções a uma regra definida.
Alguns exemplos
O arquivo fornece alguns exemplos úteis, vejamos alguns deles. Primeiro de tudo, temos o seguinte:
- : Todos, exceto raiz: tty1
Essa linha, permitia obter o resultado oposto que obtivemos antes, modificando o /etc/securetty
Arquivo: Primeiro de tudo, temos o -
sinal, o que significa que é um negar
regra. Na próxima seção, separada por um cólon, temos Todos, exceto raiz
,que especifica que a regra deve ser aplicada a todos os usuários, exceto raiz
, E na terceira seção, vemos que a regra especificada é válida apenas quando alguém tenta acessar tty1
.
Outro exemplo, desta vez com vários nomes de usuário:
-: wsbscaro wsbsecr wsbspac wsbsym wscosor wstaiwde: all
A regra proíbe o acesso aos usuários WSBScaro, WSBSECR, WSBSPAC, WSBSYM, WSCOSOR e WSTAIWDE de todas as fontes (veja o TODOS
palavra -chave em ação)
Algo mais complexo. Desta vez, a regra nega o acesso a todos os usuários que não são membros do grupo de rodas em local
Logins:
-: Todos exceto (roda): local
Finalmente, um exemplo que especifica uma regra para um login remoto:
+ : raiz: 192.168.200.1 192.168.200.4 192.168.200.9
Como devemos agora entender, esta regra permite raiz
Para acessar o sistema apenas a partir dos endereços IP especificados.
Um caso de teste
Podemos verificar o que dissemos acima com um caso de teste: vamos construir uma regra para negar o acesso a egdoc
(minha conta neste sistema) de tty1
e anexá -lo no final do /etc/segurança/acesso.conf
arquivo:
-: egdoc: tty1
Agora, se mudarmos para tty1
E tente fazer login, obtemos essa resposta rude do sistema:
Observe que a ordem das regras especificadas no /etc/segurança/acesso.conf
O arquivo é realmente importante, pois as regras são avaliadas em ordem de aparência.
Tutoriais do Linux relacionados:
- Coisas para instalar no Ubuntu 20.04
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Arquivos de configuração do Linux: os 30 primeiros mais importantes
- Download do Linux
- Linux pode obter vírus? Explorando a vulnerabilidade do Linux…
- Melhor distro Linux para desenvolvedores
- Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
- Comandos Linux: os 20 comandos mais importantes que você precisa para…
- Instale Arch Linux na estação de trabalho VMware
- Comandos básicos do Linux
- « Ssh em linux seu computador do Android com o Termux
- Como usar o GETOPTS para analisar uma opção de script »