Chave pública SSH. desabilite o login para um usuário específico. pam? [duplicado]

0

Hoje, meu servidor foi invadido. Mas apenas um usuário não sudoer.

Nov 26 10:44:18 Ubuntu-1604-xenial-64-minimal sshd[27188]: Accepted publickey for ... from hackerIP port 26394 ssh2: RSA SHA256:...

Ele começou uma tela e digitalizou redes nada mais. A história está vazia. Ele se conectou com alguma chave pública, mas eu nunca adicionei nenhuma chave. Eu sei que devo usar ssh-keys em vez de senha. Mas minha raiz nunca foi comprometida. O que eu notei no auth.log é isso

Nov 26 19:01:01 Ubuntu-1604-xenial-64-minimal CRON[12360]: pam_unix(cron:session): session opened for user ... by (uid=0)
Nov 26 19:01:01 Ubuntu-1604-xenial-64-minimal CRON[12360]: pam_unix(cron:session): session closed for user ...
Nov 26 19:02:01 Ubuntu-1604-xenial-64-minimal CRON[12368]: pam_unix(cron:session): session opened for user ... by (uid=0)
Nov 26 19:02:01 Ubuntu-1604-xenial-64-minimal CRON[12368]: pam_unix(cron:session): session closed for user ...

Eu não sei se estou postando na seção errada para ser honesto. Eu basicamente só quero saber onde encontrar as chaves ssh porque minha pasta está vazia. Como desabilitar o login remoto para esse usuário específico (para que eu possa apenas conectar via root e usar o comando 'su' para efetuar login). E o que fazer com o pam_unix.

Edit: Firtsly obrigado pela enorme ajuda. Eu poderia desfeitar tudo o que o atacante fez. E eu desativei o login ssh-key na configuração sshd para que apenas as senhas sejam válidas. Failed2Ban está sendo executado também e estou gerenciando auth.log todos os dias manualmente.

    
por Tom-Oliver Heidel 26.11.2016 / 18:09

3 respostas

3

Se você quiser impedir que um usuário consiga remotamente em SSH, você tem algumas opções de configuração diretamente de /etc/ssh/sshd_config .

Pessoalmente, prefiro usar listas de permissões em vez de listas negras para contas de usuários. Por isso, usar uma lista de permissões só permite que os usuários explícitos façam login, onde uma lista negra impede apenas esses usuários. A lista de permissões está mais completa na minha opinião.

Se você quiser que admin, joe e sally se conectem remotamente usando o SSH, a seguinte diretiva adicionada ao /etc/ssh/sshd_config funcionaria.

AllowUsers admin joe sally

Se você simplesmente quisesse bloquear baduser da conexão, use o seguinte.

DenyUsers baduser

Em qualquer uma das opções, você precisa sudo service ssh restart para que as alterações tenham efeito.

    
por bc2946088 26.11.2016 / 18:38
2

As chaves autorizadas estão quase sempre em ~ / .ssh / authorized_keys para o usuário em particular. Você pode encontrar seu diretório home fazendo o comando cd ~username O local do arquivo de chaves autorizadas pode ser alterado no arquivo / etc / ssh / sshd_config com uma linha como AuthorizedKeysFile /some/path/to/authorized_keys_file , então eu verifico ambos os locais.

Você pode desabilitar o login para aquele usuário adicionando algo como o seguinte em seu / etc / ssh / sshd_config:

AllowUsers root user

para permitir apenas usuários específicos ou

DenyUsers user1 user2

para negar usuários específicos. Há muitas outras coisas legais como essa, apenas leia a man page do sshd_config.

Normalmente, root não é a conta na qual você quer que o ssh, porque se ele for comprometido, eles podem fazer qualquer coisa.

Por último, sobre a coisa pam_unix, é um cronjob. Você pode encontrar cronjobs em:

/var/spool/cron/crontabs
/etc/crontab
/etc/cron.d
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
    
por Bryce Larson 26.11.2016 / 18:55
0

Para proteger sua configuração do sshd,

Desabilite o login de login / senha: em / etc / ssh / sshd_config

ChallengeResponseAuthentication no
UsePAM no

E você deve desabilitar o login root (use sudo)

PermitRootLogin no

Ans como dito por Bryce, use AllowUsers (mas não root ;-)

Existem algumas configurações que você pode fazer.

    
por f35 26.11.2016 / 19:05