tcpwapper:     <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       工作在传输层、对于进出本机访问某特定服务的连接基于规则进行检查的一个访问控制工具,

       以库文件的形式,某进程是否接受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服务