保护一个使用主机的Linux机器有什么区别? vs iptables?

正如标题所述,我有一个Linux的盒子。 据我可以告诉我可以使用hosts.allow / hosts.deny或iptables来保护。 有什么不同? 有没有可以使用的另一种机制?

IPTables在内核级别工作。 一般来说,这意味着它不了解应用程序或stream程。 它只能根据从大部分的各种数据包头中得到的内容进行过滤。

然而,host.allow / deny在应用程序/进程级别运行。 您可以为在系统上运行的各种进程或守护进程创build规则。

因此,例如IPTables可以在端口22上进行筛选。可以将SSHconfiguration为使用此端口,通常情况下,它也可以configuration为位于不同的端口上。 IPTables不知道它在哪个端口上,它只知道TCP报头中的端口。 但是,hosts.allow文件可以configuration为某些守护进程,如openssh守护进程。

如果你必须select,我通常会select至lessIPTables。 我认为hosts.allow是一个很好的奖励。 即使认为守护程序似乎更简单,IPTables在封包之前就会阻止它。 随着安全越早,你可以阻止一些更好的东西。 不过,我相信有些情况会改变这个select。

iptables在到达应用程序之前阻止访问,而hosts.allow / hosts.deny是PAM的一部分,需要应用程序执行PAM检查并正确处理文件。 两者都是有用的,并且两者都更好。