/ usr / bin / sshd não está ligado ao PAM em um dos meus sistemas. O que está errado e como posso consertar isso?

4

Estou usando o AD como meu servidor de conta de usuário com o ldap.

A maioria dos servidores é executada com o UsePam yes, exceto este,

tem falta de suporte a pam no sshd.

root@linserv9:~# ldd /usr/sbin/sshd 
    linux-vdso.so.1 =>  (0x00007fff621fe000)
    libutil.so.1 => /lib/libutil.so.1 (0x00007fd759d0b000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00007fd759af4000)
    libnsl.so.1 => /lib/libnsl.so.1 (0x00007fd7598db000)
    libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00007fd75955b000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007fd759323000)
    libc.so.6 => /lib/libc.so.6 (0x00007fd758fc1000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007fd758dbd000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fd759f0e000)

Eu tenho este pacote instalado

root@linserv9:~# dpkg -l|grep -E 'pam|ssh'
ii  denyhosts                             2.6-2.1                      an utility to help sys admins thwart ssh hac
ii  libpam-modules                        0.99.7.1-5ubuntu6.1          Pluggable Authentication Modules for PAM
ii  libpam-runtime                        0.99.7.1-5ubuntu6.1          Runtime support for the PAM library
ii  libpam-ssh                            1.91.0-9.2                   enable SSO behavior for ssh and pam
ii  libpam0g                              0.99.7.1-5ubuntu6.1          Pluggable Authentication Modules library
ii  libpam0g-dev                          0.99.7.1-5ubuntu6.1          Development files for PAM
ii  openssh-blacklist                     0.1-1ubuntu0.8.04.1          list of blacklisted OpenSSH RSA and DSA keys
ii  openssh-client                        1:4.7p1-8ubuntu1.2           secure shell client, an rlogin/rsh/rcp repla
ii  openssh-server                        1:4.7p1-8ubuntu1.2           secure shell server, an rshd replacement
ii  quest-openssh                         5.2p1_q13-1                  Secure shell
root@linserv9:~# 

O que estou fazendo de errado?

obrigado.

Editar:

root@linserv9:~# cat  /etc/pam.d/sshd 
# PAM configuration for the Secure Shell service

# Read environment variables from /etc/environment and
# /etc/security/pam_env.conf.
auth       required     pam_env.so # [1]
# In Debian 4.0 (etch), locale-related environment variables were moved to
# /etc/default/locale, so read that as well.
auth       required     pam_env.so envfile=/etc/default/locale

# Standard Un*x authentication.
@include common-auth

# Disallow non-root logins when /etc/nologin exists.
account    required     pam_nologin.so

# Uncomment and edit /etc/security/access.conf if you need to set complex
# access limits that are hard to express in sshd_config.
# account  required     pam_access.so

# Standard Un*x authorization.
@include common-account

# Standard Un*x session setup and teardown.
@include common-session

# Print the message of the day upon successful login.
session    optional     pam_motd.so # [1]

# Print the status of the user's mailbox upon successful login.
session    optional     pam_mail.so standard noenv # [1]

# Set up user limits from /etc/security/limits.conf.
session    required     pam_limits.so

# Set up SELinux capabilities (need modified pam)
# session  required     pam_selinux.so multiple

# Standard Un*x password updating.
@include common-password

Edit2: UsePAM sim falha

Com essa configuração, o ssh não inicia:

root@linserv9:/home/admmarc# cat /etc/ssh/sshd_config |grep -vE "^[ \t]*$|^#"
Port 22
Protocol 2
ListenAddress 0.0.0.0
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
ChallengeResponseAuthentication yes
UsePAM yes
Subsystem       sftp    /usr/lib/sftp-server
root@linserv9:/home/admmarc# 

O erro que dá é o seguinte

root@linserv9:/home/admmarc# /etc/init.d/ssh start
 * Starting OpenBSD Secure Shell server sshd
/etc/ssh/sshd_config: line 75: Bad configuration option: UsePAM
/etc/ssh/sshd_config: terminating, 1 bad configuration options
   ...fail!
root@linserv9:/home/admmarc#
    
por Marc Riera 11.01.2011 / 16:46

4 respostas

7

Parece que seu binário /usr/sbin/sshd foi sobrescrito.

Isso pode significar que você teve uma violação de segurança ou talvez alguém apenas compilou uma versão localmente e a versão do Ubuntu foi sobrescrito.

A versão 1:4.7p1-8ubuntu1.2 (x86) do servidor openssh definitivamente é definitivamente ligado à libpam. É concebível que o pam suporte foi deixado de fora da versão de 64 bits, mas isso parece improvável.

Eu tentaria reinstalar o openssh-server:

# First back up the current binary
$ sudo cp /usr/sbin/sshd /root/sshd.bak

# reinstall the Ubuntu version
$ sudo apt-get install --reinstall openssh-server

# compare the two versions
$ sudo sha1sum /usr/sbin/sshd /root/sshd.bak

# In my case, they match:
# 8a3ccd5242380674bc45b887286faa3abb51acdb  /usr/sbin/sshd
# 8a3ccd5242380674bc45b887286faa3abb51acdb  /root/sshd.bak

Se o seu não combina um com o outro (não com o meu), definitivamente algo suspeito acontecendo e você realmente precisa descobrir onde essa versão do sshd veio.

Se eles combinam, então eu provavelmente estou errado e isso é um erro essa versão do openssh-server para o Ubuntu de 64 bits.

    
por 11.01.2011 / 18:12
1

Com base nas informações fornecidas na pergunta, parece que sua sobrescrita do sshd pode não ser devido a um comprometimento do sistema, mas devido a algo mais benigno como um sysadmin tentando alterar o ssh padrão. A razão pela qual eu suspeito que isso seja alguma ação do admin, é que o sistema também tem este pacote ssh não-padrão instalado:

quest-openssh .

Você pode executar:

dpkg-query -L quest-openssh | grep sshd

e veja se este pacote contém um arquivo /usr/bin/sshd que sobrescreveu seu servidor openssh (de acordo com o Thedward, e também por minha verificação, a quest openssh instala sob / opt, mas há uma (baixa) chance de ser configurado diferentemente ). Em qualquer caso, você deve perguntar ao seu administrador de sistema se ele estava tentando substituir sshd , por que, como e por quê.

Para resumir meu raciocínio: sim, seu sshd foi definitivamente sobrescrito, mas acho que é um pouco precipitado concluir que seu sistema foi definitivamente comprometido.

Por fim: como corrigir isso? Remova o pacote quest-openssh , reinstale o openssh padrão e ldap-auth-client , que usa o suporte libpam-ldap para o openssh padrão. Geralmente, em um sistema baseado em Debian / Ubuntu, raramente há a necessidade de instalar pacotes comerciais não-padrão ou não-livres para obter funcionalidade aberta / padrão. Você pode encontrar mais informações sobre como configurar openssh PAM para LDAP aqui: link

    
por 23.08.2012 / 02:20
0

Existe /etc/pam.d/sshd ? Faz parte do servidor openssh.

    
por 11.01.2011 / 17:00
0

Se o seu sistema foi realmente comprometido, uma reinstalação do sistema pode estar em ordem!

    
por 13.01.2011 / 17:25

Tags