全称是Transmission Control Protocol (TCP) Wrappers ,它是一个基于主机的网络访问控制列表系统。最初代码由Wietse Venema在1990年编写(比Linux的出现要早一点),2001年以类BSD的许可发布。TCP Wrappers工作在TCP/IP模型的第4层(传输层),对有状态连接的特定服务进行安全检测并实现访问控制。
核心配置文件是:
/etc/hosts.allow/etc/hosts.deny
TCP Wrappers有一个TCP守护进程:tcpd。可以在 wrappers 下进行访问控制的通常有 :
telnetsshsendmailftppop3vsftpd
TCP Wrappers核心是libwrap库,可以通过命令查看系统是否支持:
这里sshd使用了libwrap。
远程IP请求连接TCP Wrapper先看/etc/hosts.allow中是否允许,有允许就放行;没有允许,看/etc/hosts.deny是否禁止,如果存在就禁止连接;两个文件都没有默认放行。
另外tcp_wrappers可以设置调用外部程序,如记录日志等。
服务列表@host:主机列表:选项服务列表@host:主机列表:选项服务列表@host:主机列表:选项
要支持的服务名,如:telnet,vsftpd等@host 是指定本机网卡,如果不写就代表全部。
受控制的机器,可以是机器名、IP,支持通配符* ? ALL EXECPT
基于IP地址: 192.168.10.1 192.168.1.基于主机名: .magedu.com 较少用基于网络/掩码: 192.168.0.0/255.255.255.0基于net/prefixlen: 192.168.1.0/24(CentOS7)基于网络组(NIS 域): @mynetwork
内置ACL: ALL, LOCAL, KNOWN, UNKNOWN,PARANOID
ALL:所有主机LOCAL:本地主机KNOWN:主机名可解析成ip的UNKNOWN:主机名无法解析成IP的PARANOID:正向解析与反向解析不对应的主机ALLOW 接受DENY 禁止
由Phil Schwartz编写,使用Python开发。它是通过监控系统安全日志来分析是否有对OpenSSH的暴力破解行为。如果发现有暴力破解,就分析IP并加到etc/hosts.deny来禁止连接。
官网地址:
yum安装
下载安装:
设置开机启动:
或
如果有ssh的攻击记录,可以在文件 /etc/hosts.deny查看。