Aceite qualquer conexão SSH independentemente da chave do cliente

2

Imagine que estou configurando um honeypot, qual seria a maneira mais rápida de configurar o SSHD para aceitar apenas uma conexão? e sim, isso é realmente inseguro, então por favor não copie: -)

Pode ser útil (coloque pam_permit na pilha auth ) ... Eu não tenho muita experiência com o PAM e atualmente estou lendo os documentos.

link

Para alguns contextos do problema real, eu tenho um computador cliente que está atrás de um firewall e ele tenta configurar um túnel SSH reverso conectando primeiro a saída (para que eu possa me conectar de volta a ele) ... continue tentando se conectar, é como se a chave que está usando não fosse mais válida (o que é estranho) ou que alguma outra coisa esteja falhando.

Os logs dos servidores mostram que o cliente fecha a conexão, outros clientes podem se conectar bem ...

debug1: Forked child 29472.
Set /proc/self/oom_score_adj to 0
debug1: rexec start in 5 out 5 newsock 5 pipe 7 sock 8
debug1: inetd sockets after dupping: 3, 3

Connection from CLIENT_IP port 46186
debug1: Client protocol version 2.0; client software version OpenSSH_6.0p1 Debian-4+deb7u2
debug1: match: OpenSSH_6.0p1 Debian-4+deb7u2 pat OpenSSH*

debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2
debug1: permanently_set_uid: 105/65534 [preauth]
debug1: list_hostkey_types: ssh-rsa,ssh-dss [preauth]
debug1: SSH2_MSG_KEXINIT sent [preauth]
debug1: SSH2_MSG_KEXINIT received [preauth]
debug1: kex: client->server aes128-ctr hmac-md5 none [preauth]
debug1: kex: server->client aes128-ctr hmac-md5 none [preauth]

debug1: expecting SSH2_MSG_KEX_ECDH_INIT [preauth]

debug1: SSH2_MSG_NEWKEYS sent [preauth]
debug1: expecting SSH2_MSG_NEWKEYS [preauth]
debug1: SSH2_MSG_NEWKEYS received [preauth]
debug1: KEX done [preauth]
debug1: userauth-request for user tunnel service ssh-connection method none [preauth]
debug1: attempt 0 failures 0 [preauth]
debug1: PAM: initializing for "tunnel"
debug1: PAM: setting PAM_RHOST to "server"
debug1: PAM: setting PAM_TTY to "ssh"
debug1: userauth-request for user tunnel service ssh-connection method publickey [preauth]
debug1: attempt 1 failures 0 [preauth]
debug1: test whether pkalg/pkblob are acceptable [preauth]
debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: temporarily_use_uid: 1001/1001 (e=0/0)
debug1: trying public key file /home/tunnel/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK

debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 1001/1001 (e=0/0)
debug1: trying public key file /home/tunnel/.ssh/authorized_keys2
debug1: Could not open authorized keys '/home/tunnel/.ssh/authorized_keys2': No such file or directory
debug1: restore_uid: 0/0
Failed publickey for tunnel from CLIENT_IP port 46186 ssh2
Connection closed by CLIENT_IP [preauth]
debug1: do_cleanup [preauth]
debug1: monitor_read_log: child log fd closed
debug1: do_cleanup
debug1: PAM: cleanup
debug1: Killing privsep child 29473
    
por Craig Francis 08.08.2014 / 12:28

1 resposta

2

Isso funcionou ... mas como isso basicamente remove todas as formas de autenticação, NÃO FAÇA ISSO ...

/etc/pam.d/sshd
    auth    required    pam_permit.so

Onde outras linhas que começam com auth (também conhecido como o módulo) foram comentadas ... você também deve verificar qualquer @include linhas, pois elas podem incluir arquivos que definem auth módulos, por exemplo

#@include common-auth

Depois tive que me certificar de que a configuração do SSHD NÃO definiu nenhum desses:

/etc/ssh/sshd_config

  # PasswordAuthentication no
  # ChallengeResponseAuthentication no
  # GSSAPIAuthentication no
  # UsePAM no

E, por uma boa medida, uma senha foi definida na conta (de outra forma, tratada como desativada).

    
por 08.08.2014 / 13:08