tcp_wrappers linux的另一种访问控制机制
并不是服务,而是一个库,但是他工作在linux的内核中,所以用户访问一个服务,需要先通过tcp_wrappers

tcp_wrappers小记_tcp_wrappers


①凡是连接到libwrp.so库上的程序才接受tcp_wrapper的控制
可以用ldd查看
②静态编译的方式包含了libwrap.so库的程序也接受tcp_wrapper的控制(但并非所有)
strings $(which program) | grep hosts(如果有hosts.allow,deny则可以)
配置文件在/etc/hosts.allow
          /etc/hosts.deny
格式service:client_list

高级格式SERVICE@HOST:CLIENT_LIST [:OPTIONS]
SERVICE ,daemon name 要求:某进程对应的可执行程序的名字
例如telnet服务的是in.telnetd
CLIENT LIST的格式
1.ip
2.网络地址:172.16.0.0/255.255.0.0它只接受完成格式的掩码
3.all所有主机
4.LOCAL本地网络中的主机

EXCEPT除了……(linux主机ip172.16.134.1)
例如在/etc/hosts.allow中添加
in.telnetd: 172.16.0.0/255.255.0.0 EXCEPT 172.16.132.1
然后通过主机telnet访问172.16.134.1
也可以这样来使用
in.telnetd: 172.16.0.0/255.255.0.0 EXCEPT 172.16.132.0/255.255.255.0 EXCEPT 172.16.132.1

tcp_wrappers小记_tcp_wrappers_02


也可以使用
:ALLOW(在hosts.deny中使用)
例如 in.telnetd:  172.16.132.1 :ALLOW在拒绝中允许
:DENY(在hosts.allow中使用)
:spawn
      %c:USER@CLIENT_HOST
   %s:SERVER@SERVER_HOST
例如in.telnetd: 172.16.132.1 :spawn echo "login attempt from %c to %s" >> /var/log/tcpwrapper.log