1、作用:针对服务或程序的访问控制

2、配置文件:

/etc/hosts.allow设置允许访问的服务

/etc/hosts.deny设置拒绝访问的服务

3、策略格式: 

服务名称:客户机地址列表   也可用ALL:ALL

如果设置某一个服务,那就直接写服务名称;

如果想设置允许所有服务,就写一个ALL。如果允许所有地址,就在地址写ALL

ALL:ALL 允许所有服务被所有地址访问(在hosts.allow文件中)

拒绝所有服务被所有地址访问(在deny.allow文件中)

如果不想设置单个的IP,也不想设置所有的IP可以用通配符?*来设置,也可以来声明一个网段或者声明一个域名都是可以的。

网段地址,如192.168.4. 或者192.168.1.0/255.255.255.0(不支持/8/16/24格式)

区域地址,如.benet.com

例如:

hosts.allow中添加

sshd:192.168.2??.252 (表示只要是2开头,后面有两位的网段都允许访问)

sshd:192.168.* 表示前边是192.168后面任意的网段 

192.168.1. 代表 192.168.1.0/255.255.255.0192.168.1.0网段)

sshd:www. 代表sshd服务,不能被www开头的主机访问

注意:.开头或者.结束的格式里不能使用通配符

4、规则:  

a、不做任何配置时,默认允许访问

b、定义网段时,不能使用/24的方式

c、可以使用.作为开始或结束

d.开头或者.结束的格式里不能使用通配符

e、应用顺序,先allow,后deny

f、允许个别,拒绝所有时,在allow文件中添加服务名称:允许的主机IP后,在deny文件中添加服务名称:ALL

g、允许所有,拒绝个别时,allow中为空即可

例:在主机A上编辑/etc/hosts.deny 

添加ssh:主机B的地址

不需要重启任何服务,它是即时生效的

此时,之前可以ssh连接到主机A的主机B,已经不能再通过ssh服务连接到主机A

把同样的内容写入/etc/hosts.allow就是代表允许主机B通过ssh访问主机A(一般设置允许的话,不需要这样做,因为默认就是允许的)

先看allow后看deny,如果同一条策略两个文件里都写了,那么allow里的文件生效