我有两个在4.7的FreeBSD服务器。 这些是两个较旧的服务器,当我到达这里时已经configuration和设置。 既然原来的pipe理员已经不在了,我已经开始在这些服务器上多找点东西了,我发现没有安装防火墙。 他们运行的服务(如ssh和sendmail)在其各自的configuration中configuration得足够好,可以按照我们的需求过滤stream量。 但是我可以做一个端口扫描和一个20个开放端口列表的事实popup是关于。
所以我准备了ipfw的一些防火墙规则,并去服务器上安装它们,发现服务器对IPFW一无所知(/ sbin / ipfw中的二进制文件不存在)。 此外,我用来加载内核模块(kldload)的命令也不存在。 我已经查看了端口,没有端口来安装它。 在FreeBSD的pipe理员指南里说IPFW是在4.x版本中join的。
任何人都知道为什么我没有它或我怎么能得到它? PF是在ipfw之前存在的防火墙程序吗?
按照优先顺序:
我的第一个build议是将这些机器升级到支持的FreeBSD版本 。
4.x在这一点上是非常古老的,远远超过了支持生命的结束,而且你会更好地取代它,而不是试图保持它的活着。 您还可以根据当前的最佳做法保护新机器。
请注意,从4.x到最近的任何不需要重新安装的升级path都不受支持,所以我们正在有效地讨论机器/软件的全面更换。
如果你绝对不能升级这些机器,我的第二个build议是禁用你不需要的服务 ,如果你仍然觉得需要防火墙来使用它们前面的专用防火墙作为防火墙 。
这具有减less开放端口和释放RAM的净效果,而不必重build你的内核/操作系统。 使用专门的防火墙允许你设置任何你想要的防火墙规则,而不用干涉系统本身(我认为是稳定的和工作的)的风险。
我的第三个build议,如果你仍然有心直接与这些机器搞混了,将得到一个4.7源树的副本(通过cvsup),并重build世界和内核(用ipfwconfiguration后者) – 这将让你补丁到最新和最好的4.7可用,并给你ipfw二进制和内核组件你需要build立一个防火墙。
这是一个巨大的风险 – 在触摸这些机器的过程中,你可能会导致多米诺骨牌级联的事件,然后你需要修复。
如果ipfw被编译为一个模块,你应该在/modules/ipfw.ko中看到它
如果存在,以root身份加载它:“kldload ipfw && ipfw add 32000 allow ip from any to any”from“man ipfw”。