tcpwrapper及xinetd配置

tcpwapper:    
       工作在传输层、对于进出本机访问某特定服务的连接基于规则进行检查的一个访问控制工具,
       以库文件的形式,某进程是否接受 libwrap 的控制取决于发起此进程的程序时是否针对 libwarp 进行编译的
      
       命令:
              ldd  查看是否有 libwrap.iso 文件
              strings which portmap | grep hosts
                     显示有 hosts.allow hosts.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.telnetd 192.168.0. spawn /bin/echo `date` %c %d >>/var/log/tcpwrap.log
                            %c : 来自于客户端信息
                            %d 守护进程的名字
                            %s 主机上的服务
                            %h :仅匹配客户端的主机名
                            %p :客户端的 pid
                     twist :登陆服务将该进程时转换成发起的命令 起到禁止使用服务的功能
                            /etc/hosts.allow
                            in.telnetd 192.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.telnetd ALL: 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 服务
      
                           
 
                    
             
 
                    
 
                           
      

你可能感兴趣的:(职场,telnet,xinetd,休闲,tcpwrapper)