Sem categoria

Práticas recomendadas de segurança do Memcached

Memcached A segurança é um tópico importante desde que os caras da sensepost lançaram o go-derper na blackhat.

A apresentação foi muito boa e informativa, mas parece que o entusiasmo em torno dela deixou muitas pessoas confusas. Embora grande parte do assunto tenha sido abordado na apresentação, ele precisa ser reafirmado o máximo possível.

Primeiro e sempre, o firewall

Isso realmente faz parte do teste de colocação de administrador de sistemas e não tem nada a ver com memcached em particular, mas vou mencioná-lo mesmo assim.

Você sempre começa com um firewall tudo e, em seguida, permitir que apenas as coisas que você precisa passem para os locais onde você precisa que elas passem.

Não vou ensiná-lo a usar seu firewall, mas comece com a configuração que desativa toda a conectividade com sua caixa.

Se estiver executando um servidor da Web, permita conexões à porta 443. Se você também quiser conexões não SSL, permita a porta 80. Se esse é o único serviço que você está fornecendo, então seu firewall está completo!

Gostaria de observar que Amazon EC2 faz isso por padrãoNo entanto, há um número suficiente de firewalls mal configurados que eles sentiram a necessidade de enviar um formulário de e-mail a muitos de seus usuários para informá-los de que eles "têm pelo menos um grupo de segurança que permite que toda a Internet tenha acesso à porta mais comumente usada por memcached (11211)".

Verifique suas fixações

Se o seu aplicativo for executado em apenas um servidor (com o aplicativo e o memcached na mesma caixa), você pode vinculá-lo ao localhost adicionando

-l 127.0.0.1

para o memcached bandeiras. Agora, mesmo que você tenha bloqueado o acesso a memcached, você precisa ser em a máquina até mesmo para entrar em contato com o cache quando alguém violar as configurações do firewall.

Se você precisar, use SASL

As versões mais recentes do memcached suporte à criptografia SASL autenticação.

Embora você já tenha instalado um firewall em seu memcached desativados, você pode exigir que os clientes executem uma autenticação forte antes de usar o serviço.

Por favor, Por favor Não executar como raiz

Em nenhuma circunstância você deve tentar executar memcached como raiz; ele não deseja executar como root. Ele se esforça muito para evitar isso. No entanto, muitas pessoas têm uma "solução alternativa" que permite memcached para iniciar como root (que não vou repetir) apenas para tornar sua infraestrutura menos segura.

Se alguém, de alguma forma, contornar o firewall que você configurou para impedir o acesso a memcached e, de alguma forma, consegue encontrar uma falha de segurança no memcached permitindo a execução de código, você realmente quer simplesmente entregar o acesso root?

Não há problemas conhecidos, mas não auditamos o código para garantir que seja seguro executá-lo como root. Mas tudo bem, porque nenhum administrador de sistemas responsável jamais executaria um serviço como root sem uma justificativa muito forte e, provavelmente, com muito trabalho para criar um ambiente de jailed.

Verifique suas configurações de firewall

Não estou duvidando que você saiba como configurar seu firewall, mas tenha paciência comigo.

Knowing

Agarrar nmap ou similar. Execute uma varredura de porta completa em sua caixa - uma de um sistema confiável, uma de um sistema semiconfiável e uma de um sistema completamente não confiável.

Se houver alguma resposta para algum serviço que não possa justificar a execução, agora você sabe disso e pode corrigi-lo.

Isso é não apenas o memcached - Isso é gearman, beanstalkd, snmpd, um servidor de correio eletrônico, um servidor DNS, um servidor LDAP, etc.

Para qualquer serviço que você fazer estejam em execução e disponíveis publicamente, certifique-se de que você completamente compreender as implicações de segurança da execução desse serviço.

Não tenha vergonha de perguntar se não estiver entendendo tudo. É muito melhor do que ser um exemplo em uma apresentação no próximo black hat porque você está executando um serviço que não pretendia e vazou informações importantes.

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Dustin Sallings

Dustin Sallings é arquiteto-chefe da Couchbase. Dustin é autor do spymemcached e um dos principais colaboradores do Couchbase e do <a href="https://developer.couchbase.com/documentation/server/3.x/developer/dev-guide-3.0/memcached.html#projects">Projetos do Memcached.</a>

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.