关于Linux的安全性,相信大家都知道,但是对于其为什么安全,可能大家并不一定能够完全说清楚,我觉得,linux的安全主要体现在三个方面:
- 开源
- 严格的权限控制
- 内核支持的安全加固
当然,linux最重要的特性就是开源,这也促成其安全最重要的一个特点,其次权限相信用过linux的同学一定深有体会,而今天我们就来说说第三方面内核支持的安全加固。
我们知道linux下的防火墙是内核支持的,故每个linux都支持防火墙,主要分为两层,一层是对IP进行过滤的iptables,第二层就是tcp_wrappers,与iptables不同的是,tcp_wrappers可以对系统中某些服务的开放与关闭,允许与禁止,从而更加有效的保证系统的安全。
安装tcp_wrappers
[zhoupan@DesktopComputer 11:54:11 ~ ]$ rpm -qa | grep tcp
tcp_wrappers-libs-7.6-77.el7.x86_64
tcpdump-4.5.1-3.el7.x86_64
tcp_wrappers-7.6-77.el7.x86_64
可以看出系统已经安装了tcp_wrappers,如果没有安装,就赶快用yum安装吧!
[zhoupan@DesktopComputer 12:05:14 ~ ]$ sudo yum install tcp_wrappers
配置tcp_wrappers
tcp_wrappers主要是靠hosts.allow和hosts.deny来实现防火墙功能的!
其设定格式为:
service : host [:action]
主要参数:
service : 服务名,例如 sshd ,sendmail,vsftpd等
host : 主机IP或主机名,如192.168.30.2,www.baidu.com
action: 动作,需要采取的动作,可以忽略
常用的关键字:
ALL 所有的服务或者IP
ALL EXCEPT 从所有的服务或者IP中除去制定的服务或者IP
关于hosts.allow 与hosts.deny 次序问题
且看如下设置:
# hosts.allow
sshd : 192.168.30.8
# hosts.deny
sshd : 192.168.30.8
这下就出问题了,一个要阻止192.168.30.8,一个同意192.168.30.8,那么结果到底是怎样呢?规则是这样的,首先以hosts.allow为主要,如果hosts.allow同意,则hosts.deny禁止也是无效的,而当hosts.allow没有指定的话,则hosts.deny禁止才是有效的
实战
我想让一台主机只允许192.168.30.8这个IP访问,应该怎样设置呢?
按照上面的规则,那末必须在hosts.deny里面将所有非192.168.30.8的禁止,以下提供两种方案:
方法一:
# hosts.allow
ALL : 192.168.30.8
# hosts.deny
ALL : ALL
方法二:
# hosts.allow
置空
# hosts.deny
ALL : ALL EXCEPT 192.168.30.8
OK,关于关于tcp_wrappers防火墙就分享到这里