如何保护本地服务器?

我有一个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.morizo​​t.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。