2014-10-08 103 views
0

因此,基本上所有需要連接到memcached服務器的都是主機名和端口。鑑於這意味着任何人都可以連接到我的服務器並獲取我的信息,這是一件壞事。我讀到我可以實現SASL需要某種證書,但我找不到如何使用SASL爲初學者安裝Memcached文章,我想知道是否可以只配置它以便只有某個IP可以連接?Memcached安全性:僅允許來自特定IP的連接

我在服務器上的訪問非常少,因爲我正在使用最便宜的計劃共享主機。

+0

如果您的訪問非常少,您希望能夠安裝/配置sasl? – 2014-10-08 18:25:34

+0

@MarcB我希望有一個SASL的替代品。這對我來說似乎太複雜了,即使我設法讓它工作,我也永遠無法確定這些東西,我不太明白.. – 2014-10-08 18:26:54

+0

最快/最髒是爲了放入防火牆規則來阻止對memcached的訪問端口除了你的一個IP地址之外的任何東西,但是由於你無法訪問該級別的機器,你可能是SOL。 – 2014-10-08 18:33:02

回答

1

如果您的應用程序,其中是memcached你可以使用套接字連接,而不是TCP的同一臺服務器上運行:

memcached -s /tmp/memcached.socket -m 256 -u nobody 

然後你就可以訪問你的應用的memcached(PHP版本):

$memcache = new Memcached; 
$memcache->addServer('unix:///tmp/memcached.socket',0); 

順便說一句,memcache將運行更快一點的插座,而非標準的tcp連接。

如果您已經在單獨的服務器上安裝了memcache,那麼您可以使用iptables過濾到memcached進程的傳入連接。或者任何其他防火牆。

0

Memcached僅支持通過SASL進行身份驗證,並且只有在使用SASL支持進行編譯時才支持。這意味着您可能無法在該機器上自行安裝它。

但這並不重要:即使您的memached支持SASL,它仍然會授予已驗證的用戶訪問所有數據。 Memcached不會對用戶的數據進行「分區」。 (這至少是我讀the documentation。如果有人發現相反證據,請糾正我。)

因此,您應該擔心的是在同一臺服務器上可以訪問Memcached的其他用戶。他們可以讀取和修改您存儲在本地Memcache實例中的任何內容 - SASL與否。

順便說一句,正確配置的Memcached只會監聽本地接口。因此,您不必擔心可以從外部訪問它。

相關問題