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.