我有一个solr(用于search的httpnetworking服务器)在端口8334上运行,rabbitmq消息服务器在端口6633上运行。
在同一台机器上,我有从外面访问的networking服务器。
现在我怎样才能保护solr和rabbit-mq服务器,使外部networking中的任何人都无法访问tcp服务器端口? 这意味着solr和rabbit-mq服务器只能在本地机器中调用。
我在同一个系统中运行Web服务器,数据库服务器,solr和rabbitmq。 我使用Ubuntu 9.10服务器。
有人可以帮助我吗?
另一个很好的(也是简单的)只允许本地访问服务的做法是将你的服务绑定到127.0.0.1 …
一个基本的IPtables防火墙应该能够阻止任何人访问你不希望人们访问的任何端口。
只要允许tcp 80&443(或者其他用于你的web服务器的端口),并且拒绝其他所有的东西。
http://easyfwgen.morizot.net/gen/
应该是一个很好的起点。
修改iptables,您可以将特定的端口限制在一个 IP范围内:(更改您的LAN的IP范围)
用于search的http web服务器:
-A INPUT -p tcp --destination-port 8334 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
rabbitmq消息服务器:
-A INPUT -p tcp --destination-port 6633 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
在互联网和你的服务器之间,你没有某种防火墙或者至less有一个NAT路由器吗? 在此,您应该为公共Web服务器正在侦听的端口configuration端口转发。
你应该考虑把服务器放到DMZ中。 这将消除需要让整个互联网进入你的本地networking。