zoukankan      html  css  js  c++  java
  • TCP_Wrappers

    TCP_Wrappers 介绍

    	作者:Wieste Venema ,IBM ,Google
    	
    	工作在第四层(传输层)的TCP 协议
    	
    	对有状态连接的特定服务进行安全检测并实现访问控制
    	
    	以库文件形式实现
    	
    	某进程是否接受libwrap的控制取决于发起此进程的程序在编译时是否针对libwrap 进行编译的
    	
    	判断服务程序是否能够由tcp_wrapper进行访问控制的方法:
    		ldd /PATH/TO/PROGRAM|grep libwrap.so
    		strings PATH/TO/PROGRAM|grep libwrap.so
    

    TCP_Wrappers 的配置

    	配置文件:/etc/hosts.allow, /etc/hosts.deny
    	
    	帮助参考:man 5 hosts_access ,man 5 hosts_options
    	
    	检查顺序:hosts.allow ,hosts.deny,( 默认 允许)
    		注意:一旦前面规则匹配,直接生效,将不再继续
    	
    	基本语法:
    		daemon_list@host: client_list [ :options :option… ]
    	
    	daemon_list@host 格式
    		单个应用程序的二进制文件名,而非服务名 , 例如vsftpd
    		以逗号或空格分隔的应用程序文件名列表 ,如:sshd,vsftpd
    		ALL 表示所有接受tcp_wrapper 控制的服务程序
    		主机有多个IP ,可用@hostIP 来实现控制
    		如:in.telnetd@192.168.0.254
    	
    	客户端Client_list 格式
    		以逗号或空格分隔的客户端列表
    		基于IP地址:192.168.10.1  192.168.1.
    		基于主机名:www.magedu.com .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
    	
    	EXCEPT(除了)用法 :
    		示例: vsftpd: 172.16. EXCEPT 172.16.100.0/24 EXCEPT  172.16.100.1
    		
    	示例
    		只允许192.168.1.0/24 的主机访问sshd
    			/etc/hosts.allow
    				sshd: 192.168.1.
    			/etc/hosts.deny
    				sshd :ALL
    		只允许192.168.1.0/24 的主机访问telnet 和vsftpd服务
    			/etc/hosts.allow
    				vsftpd,in.telnetd: 192.168.1.
    			/etc/host.deny
    				vsftpd,in.telnetd: ALL
    

    TCP_Wrappers 的使用

    	[:options] 选项:
    	帮助:man 5 hosts_options
    		deny:主要用在/etc/hosts.allow 定义“拒绝”规则
    			如:vsftpd: 172.16. :deny
    		allow:主要用在/etc/hosts.deny 定义 “允许” 规则
    			如:vsftpd:172.16. :allow
    		spawn:启动一个外部程序完成执行的操作
    		twist:实际动作是拒绝访问, 使用指定的操作替换当前服务, 标准I/O 和ERROR 发送到客户端, 默认至/dev/null
    	
    	测试工具:
    		tcpdmatch [-d] daemon[@host] client
    		 -d  测试当前目录下的hosts.allow 和hosts.deny
    
  • 相关阅读:
    【pygame游戏编程】第二篇-----移动图像
    【pygame游戏编程】第五篇-----动画显示
    【pygame游戏编程】第四篇-----打字测速游戏
    【pygame游戏编程】第一篇-----创建一个窗口
    pygame编程之font模块
    pygame编组(精灵组)Group中的常用方法介绍
    javascript遍历对象的属性
    Spring中的@ImportResource
    SpringBoot中的@ConfigurationProperties
    开源协议是什么?有哪些?如何选择?
  • 原文地址:https://www.cnblogs.com/shenxm/p/8451513.html
Copyright © 2011-2022 走看看