tcp_wrapper

时间:2023-03-09 18:58:40
tcp_wrapper

介绍

  对基于tcp协议开发并提供服务的应用程序,所提供的一层访问控制工具

基于库调用实现其功能

  * 库名:libwrap

判断服务是否能够由tcp_wrapper进行访问控制

1. 动态编译

    ldd命令

        ldd `which sshd`

2. 静态编译

    strings命令查看应用程序文件,其结果中出现

        hosts.allow

        host.deny 

在配置文件中为各服务分别定义访问控制规则实现访问控制

配置文件:/etc/host.allow  /etc/host.deny

检查顺序

先检查host.allow文件,有匹配项则放行

后检查host.deny文件,有匹配项则拒绝

如果两者都没有匹配项则默认放行

配置文件语法

 daemon_list: client_list [options]

daemon_list:应用程序的文件名,而非服务名

应用服务程序文件名列表,彼此间使用逗号分隔

    sshd,vsftpd

client_list:

网络地址:必须使用完整格式的掩码,不使用前缀格式掩码,所以类似于192.168.1.0/24不合法

简短格式的网络地址:192.168.1.

ALL:所有主机

KNOWN

UNKNOWN

PARANOID

EXCEPT

 vsftpd: 192.168. EXCEPT 192.168.1.0/255.255.255.0 EXCEPT 192.168.1.1

[:options]

deny:拒绝,主要用于hosts.allow文件中

    vsftpd: 192.168. : deny 

allow:允许,主要用于hosts.deny文件中

spawn:启动额外应用程序,实现其它的管理控制功能

    %c client ip 

    %s server ip 

    %d daemon name 

    vsftpd: ALL :spawn /bin/echo `date` login attempt from %c to %s, %d >> /var/log/vsftpd.deny.log