tcpwapper:    
       工作在传输层、对于进出本机访问某特定服务的连接基于规则进行检查的一个访问控制工具,
       以库文件的形式,某进程是否接受libwrap的控制取决于发起此进程的程序时是否针对libwarp进行编译的
      
       命令:
              ldd  查看是否有libwrap.iso文件
              strings which portmap | grep hosts
                     显示有hosts.allowhosts.deny就表示接受tcpwapper的控制
       配置文件:
              /etc/hosts.allow |hosts.deny
       格式:
              进程列表daemon-list:client-list [:options] <--可选 多个选项有:隔开
                     sshd:192.168.1.0
       规则:
              系统先检查allow文件再是deny文件,默认为allow
              写服务要是可执行的二进制程序,不是服务本身 多个服务有,隔开
                     sshd,in.telnetd: 192.168.1.0| 192.168.1.
              client-list    可以使用ip 具体主机  网段
                            网络:长格式的 192.168.1.0/255.255.255.0
                            主机名称:www.a.com a.com(前一个字符通配)
                            基于NIS域: @netexample
tcpwarpper上的telnet
              telnet  tcp  23 非独立守护进程 依赖于xinetd超级守护进程
              区别:独立 :一旦启动将永驻内存直到关闭
                    非独立:启动慢 节省资源
              接受xinetd管理的非独立进程:
                     /etc/xinetd.d/
              配置:
                     yum install xinetd  telnet-server
                     service xinetd start
                     chkconfig xinetd on
                     chkconfig telnet on
                     chkconfig --list
                     service telnet restart 启动之前xinetd必须启动
                     测试: 关闭selinux
                            vim /etc/hosts
                            192.168.0.124  station124.example.com  station124
                            物理机上telnet 192.168.0.124    
                            登陆时默认root不能直接登陆 要用普通用户
              telnet访问控制:
                            /etc/hosts.deny
                            in.telnetd: 192.168.0. 拒绝192.168.0.0网段访问该服务
                            in.telnetd: 192.168.0. EXCEPT 192.168.0.124  只允许192.168.0.0网段的124访问
                            会立即生效
                            /etc/hosts.allow
                            in.telnetd: 192.168.0.124 只允许192.168.0.0网段的124访问
                     例子:
                            /etc/hosts.deny
                                   in.telnetd: ALL EXPECT 192.168.0.0 EXCEPT 192.168.0.3
                                          拒绝192.168.0.0网段的3访问其他允许
              规则参数:
                     /etc/hosts.allow
                            in.telnetd: 192.168.1. :DENY 直接拒绝192.168.1.0访问
                     仅允许192.168.1.0访问:hosts.allow中定义
                            in.telnetd: 192.168.1.
                            in.telnetd: ALL:DENY
                     spawn: 子进程运行的 匹配到时不按照默认规则执行 而是安额外的命令执行 shell命令
                            in.telnetd192.168.0.spawn /bin/echo `date` %c %d >>/var/log/tcpwrap.log
                            %c : 来自于客户端信息
                            %d 守护进程的名字
                            %s 主机上的服务
                            %h :仅匹配客户端的主机名
                            %p :客户端的pid
                     twist:登陆服务将该进程时转换成发起的命令 起到禁止使用服务的功能
                            /etc/hosts.allow
                            in.telnetd192.168.0.: twist /bin/echo "421 not connection "
                     severity 记录级别修改allow
                            默认日志记录在/var/log/sucure
                            in.telnet: ALL: severity local7.info
                             查看在etc/syslog.conf/var/log/boot.log
                     banner 欢迎信息
                            in.telnetdALL: banners /var/tcpwapper/in.telnetd
                            文件要与服务二进制文件对应
 
xinetd :超级守护进程 不太繁忙的服务才会用到该进程,帮助其他非独立进程监听 本身并不会相应用户的请求
              配置文件:            
                     /etc/xinetd.conf
                     defaults 定义的默认服务选项
                     /etc/xinetd.d 也作为器配置文件的一部分
             
              在非独立进程定义的默认用自身的选项 没定义的继承/etc/xinetd.conf默认值
              开启非独立服务 chkconfig 服务名 on
                            service 服务名 restart
              非独立进程定义格式:
                            service 服务名  {
                                          }
              非独立守护进程配置参数:
                            += 在继承默认值的基础上再多加属性
                            -+ 在继承默认值的基础上去掉该属性
                            =  精确匹配
                            disable = yes 服务关闭  no 开启服务
                            socket_type 套接字类型
                                   stream:基于tcp连接的  dgram:基于udp连接的
                            protocol  服务开启使用的协议
                            wait =  yes 单线程的服务(tcp)  no 多线程服务(tcp udp)
                            user = 启动该服务以哪个用户运行
                            server = 服务对应的二进制文件
                            server_args 启动服务传递的额外选项作为启动选项
                            only_from = 只允许哪些客户端来访问该服务 白名单 不做默认全部
                            no_access = 不允许哪些client访问该服务 黑名单
                                   不允许192.168.0.1访问该服务
                                   onle_form = 192.168.0.0/24
                                   no_access = 192.168.0.1
                                   两个参数为最佳匹配batter match:最接近的先被匹配 与次序无关
                            access_times = 时间控制
                                   格式:小时:分钟-小时:分钟 13:00-23:00
                            log_type 日志类型 SYSLOG   FILE /var/log/telnet.log
                            log_on_success 记录成功登陆和退出的信息
                            log_on_failure  记录不能登陆的信息
                            bind 绑定
                                   bind 192.168.0.23 只监听23这个ip 也可以时网卡接口
                            banner 欢迎信息  
                                   banner = /tmp/telnet
                            per_source = 做资源限制的
                                   per_source = 2 同一个ip能发起并发连接为2
                            cps = 某个时刻只允许发起的并发连接
                                   cps = 50 10 响应50个并发连接多余50个则等待10s
                     测试时:清空/etc/hosts.allow hosts.deny
                            重启xinetd服务