Protegendo servidores memcached

Memcached. Um software fabuloso que oferece cache de memória distribuída, muitas vezes, para reduzir o estresse em sites baseados em banco de dados. Milhares e milhares de sites usam memcached, incluindo Facebook – o maior usuário do software -, Youtube, Twitter, Github e muitos mais.

Este tutorial é específico para uma configuração em que o memcached está em uma configuração de servidor único. Para vários servidores, você deseja configurar seu firewall para que apenas seus servidores possam se conectar ao servidor memcached.

Embora ofereça armazenamento rápido em cache e tenha alto desempenho, ele tem um fator importante na maioria dos outros softwares – a autenticação. Sim, você ouviu direito. Sem nomes de usuário, sem senhas. Apenas um host e uma porta, e você pode se conectar. Além disso, por padrão ele escuta em todos os endereços. Um grande não não para servidores de produção e desenvolvimento.

Se o servidor pode ouvir em todos os endereços, isso significa que qualquer pessoa com um cérebro pode bisbilhotar dentro do cache em busca de várias informações – incluindo senhas e outros dados confidenciais. O servidor também pode nos informar sua versão, o que pode levar a outros ataques se o memcached estiver desatualizado e contiver uma falha de segurança.

Como um usuário CentOS, as seguintes edições são para um servidor CentOS. Consulte seu manual para comandos e caminhos específicos do sistema operacional.

O arquivo que queremos editar é / etc / sysconfig / memcached, que contém algumas configurações que podemos alterar. A linha na qual estamos interessados ​​é OPTIONS, que define os argumentos quando o servidor é iniciado.

O argumento -l é o que precisamos para garantir que o memcached escute apenas no localhost.

-l <addr>     interface to listen on (default: INADDR_ANY, all addresses)
<addr> may be specified as host:port. If you don't specify
a port number, the value you specified with -p or -U is

used. You may specify multiple addresses separated by comma

or by using -l multiple times

Portanto, se você ainda não adivinhou, devemos adicionar -l 127.0.0.1 às nossas OPÇÕES .

Seu arquivo / etc / sysconfig / memcached agora deve ser mais ou menos assim:

PORT="11211"
USER
="memcached"
MAXCONN
="1024"
CACHESIZE
="64"
OPTIONS
="-l 127.0.0.1"

Em seguida, você deseja salvar o arquivo e reiniciar o servidor memcached com o serviço memcached restart

Para testar se está funcionando conforme o esperado, tente se conectar ao IP externo do servidor na porta 11211. Se você ainda puder se conectar, verifique e certifique-se de ter feito as alterações corretas específicas para seu sistema operacional e ambiente.

Você pode ir mais longe com a proteção do memcached mudando o usuário padrão, ouvindo em uma porta não padrão e até mesmo bloqueando conexões em todas as portas que não requerem acesso externo, mas geralmente o método acima será suficiente.

Feliz hacking.