在Debian中,我已经安装了memcached(使用本指南 ),以降低mysql数据库上难以pipe理的负载。 数据库位于单独的服务器上,memcached和Varnish位于前端服务器上。 是不是一个潜在的安全漏洞让memcached不受防火墙的保护? 如果是这样,我应该如何保护它? 情况尤其令人担忧,因为我收到(未经证实的)关于服务器上的cookie窃取的报告。 谢谢
只需阻止防火墙中的memcached端口,并只允许从数据库服务器访问。 这应该给你一些保护。 你也可以在mysql和memcached服务器之间build立一个SSL通道,并使memcached-mysql数据只通过它。
对于SSL隧道,您可以使用IPSEC进行设置,您可以按照教程http://wiki.debian.org/IPsec或http://lartc.org/howto/lartc.ipsec.tunnel.html
要阻塞所有ip的端口,除了一个以外,你可以发出一个iptables命令,例如:
iptables -A INPUT -s 2.2.2.2/32 -p tcp --destination-port 11211 -j ALLOW iptables -A INPUT -s 0.0.0.0/0 -p tcp --destination-port 11211 -j DROP
要么:
iptables -A INPUT -s !2.2.2.2/32 -p tcp --destination-port 11211 -j DROP
还据我的理解,你的web服务器和memcached服务器在同一台机器上? 如果是这样,那么你的web服务器将与memcached而不是mysql服务器通信。 它只会从caching中获取数据,或者如果它不存在于caching中,将从mysql服务器获取。 在这种情况下,将memcached绑定到localhost就足够了,所以只有你的web服务器可以使用php,ruby,python或任何其他语言代码访问memcached,这应该是安全的。