Linux: Como eu desativo qualquer tipo de controle remoto para um determinado usuário?

2

Como faço para desativar qualquer tipo de controle remoto (SSH, X, NFS, SMB, ... o que mais? )
para um determinado usuário ?

Ou, perguntado ao contrário: Como desativo o controle remoto do para todos os usuários, exceto um certo ?

Existe uma maneira de fazer isso em um só lugar?
( Colocando o usuário em um determinado grupo, ou assim )

    
por ivan_ivanovich_ivanoff 29.08.2009 / 14:47

6 respostas

3

  • SSH usa nomes de usuários & senhas para autenticação / autorização.
  • O servidor NFS usa endereços IP para montar autenticação / autorização e o ID do usuário quando arquivos individuais são usados (as permissões normais do Unix são usadas). Também pode usar outros métodos, como o Kerberos. De qualquer forma, a ideia é que a autorização de montagem seja feita por máquina, não por usuário.
  • O Samba usa nomes de usuários & senhas para montagem na maior parte do tempo ( security = user ) e acho que o CIFS também suporta o uso de UIDs ao acessar arquivos individuais como o NFS. Os nomes de usuário & as senhas são normalmente armazenadas em um arquivo chamado passdb.tdb , não em /etc/shadow , portanto passwd não altera a senha de um usuário do Samba.
  • X usa endereços IP para autenticação / autorização ou cookies.

Como você pode ver, não há uma maneira fácil de ativar / desativar o acesso a esses serviços para um usuário específico.

LE: Alguns serviços de rede, incluindo RPC (usado pelo NFS) e SSH, usam o mecanismo hosts_access ( man hosts_access ) para autenticação / autorização baseada no host. Você precisará editar /etc/hosts.allow e /etc/hosts.deny para isso. Comparado ao iptables, a vantagem é que você não precisa conhecer as portas dos serviços, mas nem todos os serviços suportam esse mecanismo. Pessoas paranóicas usariam ambos: -)

LE2: hosts_access também suporta nomes de usuários, mas a AFAIK é insegura.

    
por 30.08.2009 / 02:53
2

Não tenho certeza sobre SMB e NFS, pois nunca os uso. Nos meus servidores, o SSH é o único serviço disponível para acesso remoto e eu posso limitar seu acesso com a diretiva AllowUser em sshd_config. Com as versões mais recentes do OpenSSH, existe um cliente sftp interno (sem dependências externas) que pode ser configurado. Isso torna relativamente fácil configurar um usuário com acesso sftp somente a um diretório chroot - como quando eles precisam atualizar o conteúdo da web, etc.

Subsystem sftp internal-sftp

MatchUser Joe
  ForceCommand internal-sftp
  ChrootDirectory /var/www

the chroot dir and all above it must be:
* owned by root
* not group or other writable 
    
por 29.08.2009 / 16:11
1

Você quer olhar para o PAM: link

Felicidades

    
por 29.08.2009 / 15:53
1

Você pode facilmente desabilitar uma conta de usuário com este comando:

passwod <username> -l

E reative-o com:

passwod <username> -u

Se isso é ou não completamente eficaz para bloquear o acesso do usuário, depende de quais serviços você está executando. Mas eles certamente serão impedidos de entrar.

    
por 29.08.2009 / 16:21
1

Um firewall IPTABLES restritivo com DROP padrão funcionaria de forma bastante eficaz (não se esqueça de manter um buraco para si e para o host local). ;-) Adicione manualmente o IP estático do (s) host (s) "permitido (s)" em uma base de porta por porta. Nenhum IP forneceu nenhum serviço. Nota: Isso não impedirá que os túneis sejam permitidos para um host permitido. Além disso, como Cristian Ciuputu mencionou (up vote ... ;-), o samba tem uma seção "allow hosts", o NFS tem um range que você exporta, o forwarding do X pode ser desabilitado e o ssh pode ser bloqueado ou negado.

    
por 30.08.2009 / 03:24
0

Não consigo adicionar um comentário, então ... o que o OP realmente está tentando fazer, impedir que um usuário acesse clientes com recursos remotos? Desativar todo o acesso à internet? Você está realmente querendo impedir o acesso de entrada às portas usadas para acesso remoto [ sudo ufw enable faz isso como o padrão é eliminar todas as solicitações recebidas] ??

Remover os bits de execução e / ou leitura nos binários do cliente, por exemplo, ssh impedirá que um usuário o acesse [ sudo chmod o-rwx /usr/bin/ssh impedirá que qualquer pessoa, exceto proprietário (root) e grupo (root), o assuma não tem permissão para usá-lo via sudo] - no entanto, eles poderiam apenas instalar um novo cliente se você deixá-los com direitos de instalação.

É uma máquina multiusuário? Se forem vários usuários seriais (em vez de paralelos), você poderá ter um script de firewall executado no login para usuários não privilegiados e desabilitar vários tráfegos. Mas, em seguida, seu usuário pode encapsular o tráfego em portas não tradicionais.

Você pode ignorar qualquer um deles carregando um sistema operacional separado de um pendrive ou DVD e, em seguida, permitindo o acesso ao computador. O que nos traz de volta para a questão final de "o que você está realmente tentando alcançar?".

    
por 12.03.2015 / 15:38