Linux有不同类型的边界来限制和控制网络访问。 hosts.allow
和 hosts.deny
文件就是其中之一。TCP包装器、ssh、ftp应用程序通常使用此配置文件中提供的规则。我们将查看不同的使用类型和示例以了解 hosts.allow
和 hosts.deny
本教程中的文件
这些规则描述了基于简单访问控制语言的客户端主机名、地址、用户名和服务器进程名、主机名和地址模式。
语法
我们知道规则是插入信息文件的。下面是规则语法
daemon:client[option1:option2:...]
救命
$ man hosts.allow

工作优先级
在文件中使用规则时 host.allow
和 hosts.deny
有一些优先权。执行以下流程。
- 看
hosts.allow
- 如果匹配 允许并退出
- 看
hosts.deny
- 如果匹配 拒绝如果不允许
允许
要允许应用程序、主机使用服务器服务 Allow
使用规则。这些允许规则放置在 hosts.allow
文件。在本例中,我们允许 192.168.0.0/16
使用服务器的所有端口和服务。
ALL: 192.168.
否认
拒绝我们将使用的主机和应用程序 Deny
规则。拒绝规则是进入 hosts.deny
. 在本例中,我们将拒绝所有主机连接和使用服务器服务。但请记住,在前面的示例中,我们允许某些网络和这些网络以外的其他网络不能使用服务器服务。
ALL: ALL
评论
到时候,主机文件中会有很多规则。如果我们不对规则做一些注释或评论,它们可能会变得难以管理。评论可以放在 #
签字。在这个例子中,我们写了一些关于规则的注释
# Home usersALL: 192.168.#Delete this 30.03.2017ALL: poftut.com
日志
在使用关于允许和拒绝的规则时,可能需要记录这些操作。日志将使用生成机制生成。Spawn用于在指定的规则匹配时创建新进程。在本例中,如果172.16.0.0/24中的主机尝试访问vsftpd服务,我们将生成一个包含当前日期的日志。
vsftpd:172.16. :spawn /bin/echo '/bin/date' access denied >> /var/log/vsftpd:deny
定义多个 主机
还支持多个主机。我们可以通过用逗号分隔多个主机来定义它们。在本例中,我们将定义2个主机名、1个IP地址和1个网络。
ALL: dns.poftut.com, mail.poftut.com, 212.23.4.12, 10.5.
-
dns.poftut.com
,mail.poftut.com
是主机名 -
212.23.4.12
是单个IP地址 -
10.5.
在CIDR表示中指定网络10.5.0.0/16
相关文章: 安全职能与战略、目标和任务的协调
定义除外
我们可以定义 NOT
规则中的逻辑。通常IP地址或网络范围与此逻辑一起使用。我们把 ALL EXCEPT
作为要排除的相关IP地址或网络范围的前缀。在本例中,我们将定义除 10.0.0.0/24
ALL: ALL EXCEPT 10.