Corrija o SambaCry nos sistemas Linux.
O Samba é, e tem sido, o padrão para fornecer serviços de arquivos e impressoras compartilhadas para clientes Windows em sistemas *nix. Usado por usuários domésticos, empesas de médio porte e grandes empresas, ele se destaca como a solução go-to em ambientes onde diferentes sistemas operacionais coexistem.
Como infelizmente acontece com as ferramentas amplamente utilizadas, a maioria das instalações do Samba estão sob risco de um ataque que pode explorar uma vulnerabilidade conhecida, que não foi considerada grave até que o ataque do ransomware WannaCry veio à tona há alguns dias.
Vamos explicar o que é esta vulnerabilidade do Samba e como proteger os sistemas que são responsáveis por ele. Dependendo do tipo de instalação (de repositórios ou de origem), você precisará ter uma abordagem diferente para fazê-lo.
Se você está usando o Samba atualmente em qualquer ambiente ou conhece alguém que usa, continue lendo!
A vulnerabilidade
Sistemas desatualizados e não corrigidos são vulneráveis a um problema de execução remota de código. Em termos simples, isso significa que uma pessoa com acesso a um compartilhamento gravável pode carregar um pedaço de código arbitrário e executá-lo com permissões de raiz no servidor.
O problema é descrito no site do Samba como CVE-2017-7494 e é conhecido por afetar as versões 3.5 do Samba (lançado no início de março de 2010) e superiores. Extraoficialmente, foi nomeado de SambaCry devido as suas similaridades com o WannaCry: possui o protocolo SMB como alvo – e pode se espalhar rapidamente pela rede.
Debian, Ubuntu, CentOS e Red Hat tomaram medidas rápidas para proteger seus usuários e liberaram patches para suas versões suportadas. Além disso, soluções de segurança também foram fornecidas para as não suportadas.
Atualizando o Samba
Conforme mencionado no início, existem duas abordagens a seguir dependendo do método de instalação:
1. Se você instalou o Samba dos repositórios da sua distribuição:
Fix SambaCry no Debian
Certifique-se de que o apt esteja configurado para obter as atualizações de segurança mais recentes adicionando as seguintes linhas à sua lista de fontes (/etc/apt/sources.list):
deb http://security.debian.org stable/updates main
deb-src http://security.debian.org/ stable/updates main
Em seguida, atualize a lista de pacotes disponíveis:
sudo apt update
Finalmente, certifique-se de que a versão do pacote samba corresponde à versão em que a vulnerabilidade foi corrigida (consulte a CVE-2017-7494 no Debian.org para ver se há atualização),
Corrija o SambaCry no Ubuntu
Para começar, verifique se há novos pacotes disponíveis e atualize o pacote samba da seguinte maneira:
sudo apt update
sudo apt install samba
As versões do Samba onde a correção para a CVE-2017-7494 já foram aplicadas são as 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
Finalmente, execute o seguinte comando para verificar se sua caixa do Ubuntu agora tem a versão correta instalada.
sudo apt-cache show samba
Corrijao SambaCry no CentOS/RHEL 7
A versão do Samba com patch do EL 7 é samba-4.4.4-14.el7_3. Para instalá-lo, faça:
yum makecache fast
yum update samba
Como feito nas outras distros, certifique-se de ter a versão do Samba corrigida:
yum info samba
As versões mais antigas e ainda suportadas do CentOS e do RHEL têm também correções disponíveis. Verifique a RHSA-2017-1270 para mais informações.
2. Se você instalou o Samba pelo código-fonte
Atenção: o procedimento a seguir pressupõe que você compilou o Samba na sua máquina. É altamente recomendável que você experimente massivamente em um ambiente de teste ANTES de implantá-lo em um servidor de produção.
Além disso, certifique-se de fazer backup do arquivo smb.conf antes de começar.
Neste caso, vamos compilar e atualizar o Samba da fonte também. Antes de começar no entanto, devemos garantir que todas as dependências sejam instaladas anteriormente. Isso pode levar alguns minutos.
No Debian/Ubuntu
apt install acl attr autoconf bison build-essential \
debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user \
libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
libpopt-dev libreadline-dev perl perl-modules pkg-config \
python-all-dev python-dev python-dnspython python-crypto xsltproc \
zlib1g-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 libaio-devel libblkid-devel libxml2-devel openldap-devel \
pam-devel popt-devel python-devel readline-devel zlib-devel
Pare o serviço:
Baixe e extraia os arquivos fonte (sendo a versão 4.6.4 no momento desta escrita):
wget https://www.samba.org/samba/ftp/samba-latest.tar.gz
tar xzf samba-latest.tar.gz
cd samba-4.6.4
Você pode verificar todas as opções de configuração disponíveis para a versão atual com:
./configure --help
Seguiremos com o padrão, mais você pode utilizar algumas das opções listadas no comando anterior:
./configure
make
make install
Finalmente, reinicie o serviço.
systemctl restart smbd
E verifique se você está executando a versão atualizada:
smbstatus --version
Que deve retornar 4.6.4.
Concluindo
No mais, se você estiver executando uma versão não suportada de uma distribuição e não puder atualizar para uma mais recente por algum motivo, você pode querer levar em consideração as seguintes sugestões:
Se o SELinux estiver ativado, você estará protegido!
Verifique se os compartilhamentos do Samba estão montados com a opção noexec. Isso impedirá a execução de binários que residem no sistema de arquivos montado.
Adicionar a linha abaixo no seu arquivo smb.conf e reinicie o serviço. Você pode querer ter em mente que isso “pode desativar algumas funcionalidades em clientes Windows”, conforme o projeto Samba.
nt pipe support = no
A opção “nt pipe support = no” desativaria a listagem de ações dos clientes do Windows. Por exemplo: ao digitar \\192.168.1.1\ do Windows Explorer em um servidor samba, você receberia uma permissão negada. Os clientes do Windows teriam que especificar manualmente a pasta como \\192.168.1.1\nome_da_pasta para acessar o compartilhamento.
Fonte
Até a próxima!!
Nenhum comentário:
Postar um comentário