Como desativar o modo somente leitura no subsistema sftp-server do OpenSSH

1

Nosso sistema CentOS 7 compatível com PCI foi sinalizado pela Trustwave como FAILED recentemente devido a uma vulnerabilidade do OpenSSH marcada como CVE-2017-15906, e foi informado que "o servidor sftp OpenSSH permite a criação de arquivos de comprimento zero em modo somente leitura ". A Trustwave também disse que a atualização para pelo menos o OpenSSH 7.6 resolverá o problema.

Estamos usando o SFTP e a configuração era a padrão com o seguinte valor para o subsistema:

Subsystem sftp /usr/libexec/openssh/sftp-server

Como o CentOS 7 ainda não tem atualizações oficiais para atualizar o OpenSSH 7.4 para 7.6, eu tentei atualizar os pacotes por conta própria referenciando este guia:

The backline support team did answer me.

They were able to reproduce the issue by spinning up their own CentOS 7 machine [and upgrading OpenSSH]. They also couldn’t SSH into the instance after upgrading OpenSSH to version 7.6.

As per your previous message, you were right. They too believe that the problem is caused by a configuration change made to PAM. As a matter of fact, the PAM module was not correctly updated. The backline technician took a backup of /etc/pam.d/sshd before making the changes then he noticed that a lot of lines were missing after the upgrade. He compared the two files. The newer version of /etc/pam.d/sshd has only 6 lines, while the original file had at least 19 lines.

I would like to add that the OpenSSH version 7.6 is not a change RedHat/CentOS have put into mainstream stable yet. This means that even though openSSH 7.6p1 is released, it is not yet in a stable mode with Redhat (Centos). The Redhat team are still working on fixing some bugs.

Portanto, a atualização para o OpenSSH 7.6 não é uma opção no momento.

Também vejo que essa vulnerabilidade é vista apenas se o SFTP estiver no modo somente leitura. Mas eu não sei como desativar esse modo. Eu tentei encontrar recursos diferentes, mas parece não haver nenhuma menção específica a este modo, mas apenas "como eles poderiam ativar a leitura somente em um usuário específico". Como estou usando um arquivo de configuração SSH padrão, não sei se o modo somente leitura está habilitado por padrão ou não.

Eu tentei alterar a parte do subsistema de /etc/ssd/sshd_config novamente:

Subsystem sftp internal-sftp

E a varredura PCI ainda falhou.

Eu adicionei outra configuração abaixo dela:

Match Group psacln
        ChrootDirectory /var/www/vhosts
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp

O que eu acho que anula o propósito, porque agora eu estou chrooting para a pasta vhosts principal em vez de um usuário que é atribuído uma pasta em vhosts (parece que só posso atribuir ChrootDirectory a uma pasta que pertence ao usuário root). Solicitei uma verificação de conformidade com a PCI após essa alteração e aguardo o resultado até o momento desta publicação.

Se alguém puder me apontar como desabilitar efetivamente o modo somente leitura no servidor sftp do OpenSSH ou interno-sftp, eu agradeceria muito, já que acredito que essa é a única coisa que tenho que fazer para fechar essa vulnerabilidade.

Obrigado.

    
por averysphere 31.01.2018 / 21:45

1 resposta

2

Você não pode fazer nada para fazer com que a varredura não seja FAIL. Isso porque a Trustwave está simplesmente verificando seu número de versão do OpenSSH e relatando a vulnerabilidade, como se ela realmente existisse, independentemente da configuração real do sistema.

Para este, você precisará contestar a descoberta e explicar as atenuações que você tomou.

    
por 31.01.2018 / 21:58