2016-10-18 12 views
0

Я запускаю Redis на своем веб-сервере (Debian/Nginx/Gunicorn) для хранения сеансов и имею основания полагать, что мой сервер Redis взломан. Это определенно возможно, потому что, если я запустил команду «redis-cli -h (HOST IP)» на другой машине против веб-сервера, я могу войти в консоль и запустить команды. У меня есть два вопроса. Во-первых, если я добавлю новый раздел в мои файлы iptables, как показано ниже, правильно ли я заблокирую доступ к моему серверу Redis со всех компьютеров, кроме самого веб-сервера? Redis работает на порту по умолчанию 6379.Разрешить соединения Redis только из localhost?

*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 в версии IPv6 моих IPTables или мне нужно использовать «:: 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