Mantenha seus servidores enxutos

Foi divulgada ontem uma vulnerabilidade no servidor de compartilhamentos Samba, usado por máquinas Linux e FreeBSD para compartilhar arquivos e recursos em redes Windows. É uma falha grave, simples de explorar, e que afeta versões do Samba desde a 3.5.0, lançada há sete anos.

Então, se você usa Linux, confira se você tem o Samba instalado. Se tiver, confira a versão menor (aquele terceiro número no código da versão). Se você estiver usando uma das seguintes, você está seguro: 4.6.4, 4.5.10 ou 4.4.14.

Se não. Você pode fazer uma das seguintes coisas:

  1. verificar se há atualização do Samba para sua distribuição, e se a versão mais atualizada é uma dessas acima; ou
  2. baixar o código fonte e compilar o Samba você mesmo, de preferência da versão 4.6.4; ou
  3. desligar o serviço vulnerável, adicionando ao seu smb.conf a linha abaixo:
    nt pipe support = no

    E em seguida reiniciando o Samba; ou

  4. desinstalar o Samba

A última alternativa pode parecer a mais preguiçosa, e talvez você simplesmente não possa cogitá-la. Mas eu recomendo que você se pergunte, antes de qualquer outra atitude: eu preciso mesmo desse serviço? Dessa vez foi uma falha no Samba, mas praticamente todo dia saem atualizações de segurança para os diversos softwares e serviços que você pode instalar em seu sistema. Cada software não utilizado que você mantém instalado aumenta suas chances de ter problemas de segurança e suas preocupações com atualizações de versão.

Nesse caso, menos é mais. Reduza os pacotes que você tem instalados aos essenciais, removendo tudo o que você não usa. Principalmente em servidores. Isso vai tornar suas máquinas mais seguras e vai tornar mais fácil para você manter tudo atualizado.

Assine a companhe os boletins de segurança dos softwares que você usa. Você não quer correr o risco de não ficar sabendo de uma atualização crítica e ter seu sistema vulnerável simplesmente por não ter sido avisado, não é?

Por fim, é importante que você saiba que a essa falha de segurança no Samba é especialmente preocupante porque muitos dispositivos NAS e outras soluções de armazenamento de dados usam Samba. Então se você possui um equipamento de armazenamento de dados, é bom investigar se ele usa Samba e está vulnerável a essa falha.


PS: obrigado ao Rodrigo por me avisar.

Hacker instalou um Backdoor secreto em servidores do Facebook para capturar senhas

Você viu essa notícia?

Hacker Installed a Secret Backdoor On Facebook Server to Steal Passwords

Resumindo, um hacker descobriu um servidor do Facebook (files.fb.com) rodando uma versão desatualizada de um software de compartilhamento de arquivos e conseguiu, através disso, fazer upload de um PHP Web Shell. Ou seja, acesso shell ao servidor.

No post original do cara que descobriu a falha você pode achar uma porção de detalhes técnicos muito interessantes.

O que é esse backdoor secreto?

Backdoor (“porta dos fundos” em inglês) é um software oculto que permite a quem o instalou acesso ao servidor. Um webshell é um backdoor que pode ser acessado em uma interface web. Existem webshells em PHP, ASP, Python, Ruby, C#, Perl e é muito fácil construir um em sua linguagem predileta.

Veja um exemplo de tela de um web shell em PHP:

Webshell em PHP

Webshell em PHP (clique para ampliar)

E seu site, é seguro?

Lição importante que você tirar desse episódio: uma corrente é tão forte quanto seu elo mais fraco. Seu servidor de controle de versão, seu software de gestão de projetos, seu webmail, todas as aplicações web acessórias ao seu site, todos os seus servidores e os computadores da sua equipe precisam estar seguros.

Por exemplo: se seu servidor git tiver o Open SSH desatualizado, se um dos programadores que desenvolve seu site instalar um software malicioso por engano ou se a sua senha do registro de domínios não é forte o suficiente, seu site estará vulnerável, não importa quão bom seja seu código.

Escondendo processos dos outros usuários

Por padrão, todos os usuários de uma máquina podem ver todos os processos rodando. Tente, por exemplo:

ps aux|grep root

Quase tudo em Linux é representado como arquivos. As informações sobre os processos rodando estão em arquivos virtuais dentro de /proc. Você pode remontar /proc, passando uma opção para controlar a visibilidade dos processos, assim:

sudo mount -o remount,rw,hidepid=2 /proc

Em seguida, tente novamente:

ps aux|grep root

Você vai ver que os usuários, com hidepid=2, não poderão ver processos de outros usuários. Para desfazer, execute:

sudo mount -o remount,rw,hidepid=0 /proc

Assim, você pode configurar seu servidor para que um usuário não possa saber o que os outros estão fazendo.