我几乎没有关于防火墙的一般性问题,我认为这里的社区可以帮助我.
1)所以我最近安装了ubuntu服务器准系统.我检查了开放端口,没有一个是开放的,这很棒.是因为安装了防火墙还是因为没有安装应用程序?
2)我安装了一些应用程序,(Apache,postgres,ssh,Java app和一些应用程序).在这些之间,我最终开了几个端口(~10).现在我有一个我需要打开的所有端口的列表.那么,我该如何保护它们呢? [这是正确的问题吗?这个过程是这样的,安装防火墙 – >允许所需的端口 – >使用IPtables规则拒绝休息]
这将是对互联网开放.托管低流量电子商务网站.
3)您认为对我来说准确保护服务器的最简单方法是什么,[低维护开销/简单性.任何可以让我的生活更轻松的开源“软件”?]
4)最后,在所述开放端口[2]中,我需要关闭2个端口,因为它们是telnet端口.我可以关闭这些端口而无需安装“防火墙”
谢谢大家的帮助和圣诞快乐!!!!!!!
解决方法
>您没有侦听端口,因为您没有侦听进程. Ubuntu在默认安装方面做得很好.那些需要监听端口的进程通常默认使用localhost(127.0.0.1).这可以防止从远程系统直接访问.
>预计Apache和SSH服务器等应用程序将侦听来自远程服务器的连接. Apache有自己的ACL列表来保护访问.除了配置之外,还可以使用hosts.allow和hosts.deny文件来保护SSH服务器.应用程序我的 MySQL和Postresssql默认情况下应该在localhost上监听.如果需要从其他系统访问,则需要更改其侦听器配置.它们通常具有一个或多个用于保护访问的机制.
>将hosts.allow / hosts.deny用于支持此机制的应用程序.使用像 Shorewall这样的防火墙构建器来构建安全防火墙会有所帮助.了解每个应用程序自身的安全机制有助于在您的机制中构建深度.像logcheck这样的工具可以监控您的日志并通知您可能需要检查的一些事件.我使用Munin监控我的系统,并在某些情况下提醒我问题.这取代了之前使用的Nagion和MRTG,用于监控和绘制系统使用情况.
>如果您运行telnet,则可以通过停止服务来关闭端口.除非您确实需要它,否则请删除telnet软件包并将其替换为ssh-server.大多数telnet服务器都支持使用hosts.allow / hosts.deny来限制访问.这也适用于在inetd或xinetd下运行的应用程序. MysqL和Postgresql只能在127.0.0.1上监听,这对于从服务器外部直接访问是安全的.
>预计Apache和SSH服务器等应用程序将侦听来自远程服务器的连接. Apache有自己的ACL列表来保护访问.除了配置之外,还可以使用hosts.allow和hosts.deny文件来保护SSH服务器.应用程序我的 MySQL和Postresssql默认情况下应该在localhost上监听.如果需要从其他系统访问,则需要更改其侦听器配置.它们通常具有一个或多个用于保护访问的机制.
>将hosts.allow / hosts.deny用于支持此机制的应用程序.使用像 Shorewall这样的防火墙构建器来构建安全防火墙会有所帮助.了解每个应用程序自身的安全机制有助于在您的机制中构建深度.像logcheck这样的工具可以监控您的日志并通知您可能需要检查的一些事件.我使用Munin监控我的系统,并在某些情况下提醒我问题.这取代了之前使用的Nagion和MRTG,用于监控和绘制系统使用情况.
>如果您运行telnet,则可以通过停止服务来关闭端口.除非您确实需要它,否则请删除telnet软件包并将其替换为ssh-server.大多数telnet服务器都支持使用hosts.allow / hosts.deny来限制访问.这也适用于在inetd或xinetd下运行的应用程序. MysqL和Postgresql只能在127.0.0.1上监听,这对于从服务器外部直接访问是安全的.
我通常的Shorewall防火墙配置从服务器(或访问区域:NET,LAN,DMZ)上的接口数量的示例配置开始.请注意,如果区域共享接口和/或路由器,则可能不如它们那么安全.然后我根据需要调整规则.
我经常禁用任何默认的出站访问策略.这些被替换为允许在所需端口(DNS,NTP,SMTP等)上进行出站访问的规则.