Como corrigir a vulnerabilidade Sambacry (CVE-2017-7494) em sistemas Linux

Como corrigir a vulnerabilidade Sambacry (CVE-2017-7494) em sistemas Linux

O Samba tem sido o padrão para fornecer serviços de impressão compartilhados e de impressão aos clientes do Windows em *Nix Systems. Usado por usuários domésticos, empresas de médio porte e grandes empresas, se destaca como a solução preferida em ambientes onde diferentes sistemas operacionais coexistem.

Como isso acontece infelizmente com ferramentas amplamente usadas, a maioria das instalações do samba corre o risco de um ataque que possa explorar uma vulnerabilidade conhecida, que não foi considerada grave até que o Quero chorar O ataque de ransomware acertou as notícias há pouco tempo.

Neste artigo, explicaremos o que é essa vulnerabilidade de samba e como proteger os sistemas pelos quais você é responsável. Dependendo do seu tipo de instalação (de repositórios ou da fonte), você precisará adotar uma abordagem diferente para fazê -lo.

Se você está usando o samba em qualquer ambiente ou conhece alguém que o faça, continue lendo!

A vulnerabilidade

Sistemas desatualizados e não patches são vulneráveis ​​a uma vulnerabilidade de execução de código remoto. Em termos simples, isso significa que uma pessoa com acesso a um compartilhamento escritor pode fazer upload de um pedaço de código arbitrário e executá -lo com permissões raiz no servidor.

A questão é descrita no site da Samba como CVE-2017-7494 e é conhecido por afetar as versões Samba 3.5 (lançado no início de março de 2010) e em diante. Não oficialmente, foi nomeado Sambacry Devido às suas semelhanças com Quero chorar: Ambos têm como alvo o protocolo SMB e são potencialmente wormable - o que pode causar se espalhar do sistema para o sistema.

Debian, Ubuntu, Centos e Red Hat tomaram medidas rápidas para proteger seus usuários e lançaram patches para suas versões suportadas. Além disso, as soluções de segurança também foram fornecidas para as não suportadas.

Atualizando o samba

Como mencionado anteriormente, há duas abordagens a seguir, dependendo do método de instalação anterior:

Se você instalou o samba a partir dos repositórios da sua distribuição.

Vamos dar uma olhada no que você precisa fazer neste caso:

Fix Sambacry em Debian

Verifique se o APT está definido para obter as atualizações de segurança mais recentes adicionando as seguintes linhas à sua lista de fontes (/etc/apt/fontes.lista):

Deb http: // segurança.Debian.org stable/atualiza o principal deb-src http: // segurança.Debian.org/ estável/ atualizações principais 

Em seguida, atualize a lista de pacotes disponíveis:

# atualização de aptidão 

Por fim, verifique se a versão do pacote Samba corresponde à versão em que a vulnerabilidade foi corrigida (consulte CVE-2017-7494):

# Aptitude Show Samba 
Fix Sambacry em Debian

Fix Sambacry no Ubuntu

Para começar, verifique se há novos pacotes disponíveis e atualize o pacote Samba da seguinte forma:

$ sudo apt-get update $ sudo apt-get install samba 

As versões do samba onde a correção para CVE-2017-7494 já foi aplicado são os seguintes:

  • 17.04: Samba 2: 4.5.8+dfsg-0ubuntu0.17.04.2
  • 16.10: Samba 2: 4.4.5+dfsg-2ubuntu5.6
  • 16.04 LTS: Samba 2: 4.3.11+dfsg-0ubuntu0.16.04.7
  • 14.04 LTS: Samba 2: 4.3.11+dfsg-0ubuntu0.14.04.8

Por fim, execute o seguinte comando para verificar se sua caixa Ubuntu agora tem a versão certa do samba instalada.

$ sudo apt-cache show samba 

Fix Sambacry no CentOS/Rhel 7

A versão de samba remendada em El 7 é samba-4.4.4-14.EL7_3. Para instalá -lo, faça

# yum makecache rápido # yum update samba 

Como antes, certifique -se de agora ter a versão do Samba Patched:

# yum info samba 
Fix Sambacry em Centos

Versões mais antigas e ainda suportadas de Centos e Rhel também têm correções disponíveis. Verifique RHSA-2017-1270 para saber mais.

Se você instalou o samba da fonte

Observação: O procedimento a seguir assume que você construiu o samba anteriormente da fonte. Você é altamente encorajado a experimentá -lo extensivamente em um ambiente de teste antes de implantá -lo em um servidor de produção.

Além disso, certifique -se de fazer backup do SMB.conf arquivo antes de começar.

Nesse caso, compilaremos e atualizaremos o samba da fonte também. Antes de começarmos, no entanto, devemos garantir que todas as dependências sejam instaladas anteriormente. Observe que isso pode levar alguns minutos.

Em Debian e Ubuntu:

# Aptidão Instale o APT ATT ATROCONF BUNN EBRIÇÃO-NEBHELPER DNSUTILS DocBook-Xml DocBook-Xsl Flex GDB Krb5-User \ Libacl1-dev Libaio-dev Libatr1-Dev Libblkid-dev-dev \ LibcAp-D-D-D-D-Dent2 libjson-perl \ libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \ libpopt-dev bibliblibreadline-dev perl-modeles pkg-config \ pyth-all-dev pytyv pythll-dnspytyspton pythncon-pythncrycryv pytyv Pytyv Pytystptptptptptptptption-pytyspton-cymllcry-call-al-Pytyv Pytyv PythnScton Pythncon-cyty-cyvOncro. -Dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto 

No CentOS 7 ou similar:

# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \ libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \ perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \ python-crypto gnutls-devel Libattr-devel KeyUtils-Libs-devel \ libacl-devel liboio-devel libblkid-devel libxml2-devel openldap-devel \ pam-devel Popt-devel python-devel readline-devel zlib-de-devel 

Pare o serviço:

# SystemCtl Stop sMbd 

Baixe e Umar a fonte (com 4.6.4 sendo a versão mais recente no momento da redação deste artigo):

# wget https: // www.samba.org/samba/ftp/samba-latest.alcatrão.gz # tar xzf samba-latest.alcatrão.gz # cd samba-4.6.4 

Somente para fins informativos, verifique as opções de configuração disponíveis para a versão atual com.

# ./Configurar - -Help 

Você pode incluir algumas das opções retornadas pelo comando acima se elas forem usadas na construção anterior, ou poderá optar por ir com o padrão:

# ./Configurar # Make # Make Install 

Finalmente, reinicie o serviço.

# SystemCtl Reiniciar SMBD 

e verifique se você está executando a versão atualizada:

# SMBSTATUS --VERSION 

que deve retornar 4.6.4.

considerações gerais

Se você estiver executando uma versão não suportada de uma determinada distribuição e não conseguir atualizar para um mais recente por algum motivo, convém levar em consideração as seguintes sugestões:

  • Se o Selinux estiver ativado, você estará protegido!
  • Verifique se as ações da Samba estão montadas com a opção NoEXEC. Isso impedirá a execução de binários residentes no sistema de arquivos montado.

Adicionar,

Suporte ao tubo nt = não 

para a seção [global] do seu SMB.conf Arquive e reinicie o serviço. Você pode ter em mente que isso "pode ​​desativar alguma funcionalidade nos clientes do Windows", conforme o projeto Samba.

Importante: Esteja ciente de que a opção “Suporte ao tubo nt = não”Desativaria as ações da listagem de clientes do Windows. Por exemplo: quando você digita \\ 10.100.10.2 \ Do Windows Explorer em um servidor samba, você receberia uma permissão negado. Os clientes do Windows teriam que especificar manualmente o compartilhamento como \\ 10.100.10.2 \ share_name Para acessar o compartilhamento.

Resumo

Neste artigo, descrevemos a vulnerabilidade conhecida como sambacry e como mitigá -lo. Esperamos que você possa usar essas informações para proteger os sistemas que você é responsável.

Se você tiver alguma dúvida ou comentário sobre este artigo, sinta -se à vontade para usar o formulário abaixo para nos informar.