笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述TCP-Wrappers访问控制相关的知识,希望能为你提供帮助。
【TCP-Wrappers访问控制】
TCP Wrappers将其他的TCP服务程序包裹起来,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,才能访问真正的服务程序。
对于大多数Linux发行版,TCP Wrappers是默认提供的功能。TCP Wrappers机制的保护对象为各种网络服务程序,针对访问服务的客户机地址进行访问控制,对应的两个策略文件为/etc/hosts.allow和/etc/hosts.deny,分别用来设置允许和拒绝的策略。
两个文件的格式相同:<
服务程序列表>
:<
客户机地址列表>
1>
服务程序列表
服务程序列表分为以下几类:(1)ALL:代表所有的服务;(2)单个服务程序:如"
vsftpd"
;(3)多个服务程序组成的列表:如"
vsftpd,sshd"
。
2>
客户机地址列表
客户机地址列表分为以下几类:(1)ALL:代表所有客户机地址;(2)LOCAL:代表本机地址;(3)单个IP地址:如"
192.168.1.1"
;(4)网络段地址:如"
192.168.1.0/255.255.255.0"
;(5)以"
."
开始的域名:如"
.baidu.com"
匹配baidu.com域中的所有主机;(6)以"
."
结束的网络地址:如"
192.168.1."
匹配整个192.168.1.0/24网段;(7)嵌入通配符*、?:前者代表任意长度的字符,后者仅代表一个字符,如"
10.0.8.2*"
匹配以10.0.8.2开头的所有IP地址。不可以与"
."
开始或结束的模式混用;(8)多个客户机地址组成的列表:如"
192.168.1.,172.17.17.,.baidu.com"
。
关于TCP Wrappers机制的访问策略,应用时遵循以下顺序和原则:首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问,否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;如果两个文件都找不到匹配的策略,则允许访问。
实际使用TCP Wrappers机制时,较宽松的策略可以是"
允许所有,拒绝个别"
,较严格的策略是"
允许个别,拒绝所有"
。前者只需要hosts.deny文件中添加相应的拒绝策略即可;后者则除了在hosts.allow中添加允许策略之外,还需要在hosts.deny文件中设置"
ALL:ALL"
的拒绝策略。
例如,若只希望从IP为192.168.0.0/24网段的主机访问sshd服务,其他地址被拒绝,应该执行以下操作:
[[email
protected] ~]# cat /etc/hosts.allow
sshd:192.168.0.
[[email
protected] ~]# cat /etc/hosts.deny
sshd:ALL
因为我的主机是192.168.200.0/24网段的,现在断开Xshell重新连接就连接不上了。
推荐阅读
- Android项目实战(四十一)(游戏和视频类型应用 状态栏沉浸式效果)
- 43.mapping的理解
- Android内存优化1 了解java GC 垃圾回收机制2 GC执行finalize的过程
- MATLAB 函数fill()
- MATLAB 2D极坐标绘图Plots()
- MATLAB 函数Semilogy()
- MATLAB 函数loglog()
- MATLAB 2D函数Semilogx()
- 彻底解决Android GPS没法定位这一顽固问题