2016-10-18 70 views
0

我在我的网络服务器(Debian/Nginx/Gunicorn)上运行Redis进行会话存储,并有理由相信我的Redis服务器被黑客入侵。这绝对是可能的,因为如果我在另一台机器上运行命令“redis-cli -h(HOST IP)”,我可以进入控制台并运行命令。我有两个问题。首先,如果我添加一个新的部分到我的iptables文件中,如下所示,我是否会正确阻止除了Web服务器本身之外的所有机器访问我的Redis服务器? Redis的是默认端口上运行6379.只允许来自本地主机的Redis连接?

*filter 

-A INPUT -i lo -j ACCEPT 
-A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT 

# Allow pings, SSH, and web access 
-A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT 
-A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT 
-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT 
-A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT 

# NEW SECTION... 
# IS THIS CORRECT? 
-A INPUT -p tcp --dport 6379 -j DROP 
-A INPUT -p tcp -s 127.0.0.1 --dport 6379 -m state --state NEW -j ACCEPT 
# END NEW SECTION 

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
-A INPUT -j REJECT 
-A FORWARD -j REJECT 

COMMIT 

第二,如果上面的是正确的,我仍然可以使用127.0.0.1在我的iptables的IPv6版本或者我需要使用“:: 1”?

谢谢。

回答

2

你应该能够做到这一点通过Redis configuration file

# By default Redis listens for connections from all the network interfaces 
# available on the server. It is possible to listen to just one or multiple 
# interfaces using the "bind" configuration directive, followed by one or 
# more IP addresses. 
# 
# Examples: 
# 
# bind 192.168.1.100 10.0.0.1 
# bind 127.0.0.1 
+0

我坚持解决另一个问题,但只要我已经解决了它,我将实现你的答案,测试它的效果,并给你信用。谢谢你的帮助! – William

相关问题