关于libwrab

简介:

tcp_wrapper:tcp包装器

对基于tcp协议开发并提供服务的应用程序,提供的一层访问控制工具;

基于库调用实现其功能:

libwrap

    

判断服务是否能够由tcp_wrapper进行访问控制:

(1) 动态编译:ldd命令;

ldd `which vsftpd`查看是否有vsftpd的共享库命令。libwrap.so.0 => /lib/libwrap.so.0 

(2) 静态编译:strings命令查看应用程序文件,其结果中如果出现

hosts.allow

hosts.deny


在配置文件在为各服务分别定义访问控制规则实现访问控制:

/etc/hosts.allow

/etc/hosts.deny


            注意优先级 首先检查/etc/hosts.allow ,若这里允许则直接通过,

        若不允许,再看/etc/hosts.deny 这里若没定义则通过。若定义不允许则不通过

            wKioL1mgLffzSFp9AABpQpegnnA819.jpg-wh_50


配置文件语法:

daemon_list: client_list [:options]


daemon_list:

应用程序的文件名称,而非服务名;

                            这里可用 rpm -ql 服务名 

        例如 rpm -ql vsftpd 

                看到有个/usr/sbin/vsftpd,这个路径把vsftpd当作应用daemon_list

应用程序文件名称列表,彼此间使用逗号分隔;

例如:sshd, vsftpd:

ALL表示所有服务;


client_list:

IP地址;

主机名;

网络地址:必须使用完整格式的掩码,不使用前缀格式掩码;所以类似于172.16.0.0/16不合法;

简短格式的网络地址:例如172.16. 表示 172.16.0.0/255.255.0.0  完整格式的掩码

ALL:所有主机;

KNOWN: 

UNKNOWN

PARANOID


例如:vsftpd服务不允许172.16.100.1访问


EXCEPT: 除了

   hosts.allow

vsftpd: 172.16. EXCEPT 172.16.100.0/255.255.255.0 EXCEPT 172.16.100.1 //只允许172.168.100.0/24 中的172.16.100.1 和 在172.168.0.0/24这个且不包含172.16.100.0/24的网络。 


[:options] 注意前面有个:

deny: 拒绝,主要用于hosts.allow文件中

                                    实现了反作用,不允许前面所说的主机访问服务。

allow:允许,用于hosts.deny文件,实现allow的功能

                                    实现了反作用,允许前面所说的主机访问服务。

spawn: 启动额外应用程序:

vsftpd: ALL :spawn /bin/echo `date` login attempt from %c to %s, %d >> /var/log/vsftpd.deny.log //启动echo命令将登陆失败的用户记录在那个文件中。

%c: client ip

%s: server ip

%d: daemon name



练习:控制192.168.0.110主机上telnet服务仅允许192.168.0.0网络中的主机访问,但不包括192.168.1.0/255.255.255.0中的主机;对所有正常登录的主机都记录于/var/log/telnet.allow.log中;所有未授权访问尝试都记录于/var/log/telnet.deny.log中;


首先启动telnet服务。在centos 6中启动telnet

    若安装完成,vim /etc/xinetd.d/telnet   将disable         = no 

        然后重新启动xinetd

            service xinetd restart  这时候可以用ss -tnl查看23端口是否已经开启。

    这是在centos 7上启动telnet。

        1. CentOS7.0 telnet-server 启动的问题。
    ①、先检查CentOS7是否已经安装以下两个安装包:telnet-server、xinetd。命令如下:

[root@master ~]# yum install telnet-server

[root@master ~]# yum install telnet

[root@master ~]# yum install xinetd

安装完成后,将xinetd服务加入开机自启动:
    systemctl enable xinetd.service
将telnet服务加入开机自启动:
    systemctl enable telnet.socket
最后,启动以上两个服务即可:
    systemctl start telnet.socket
    systemctl start xinetd(或service xinetd start)

        在/etc/hosts.allow 中输入

            in.telnetd:192.168. EXCEPT 192.168.1.0/255.255.255.0 :spawn /bin/echo `date` login scuccess connect from %c to %s, %d >> /var/log/telnet.allow.log  //注意空格

        

        在/etc/hosts.deny 中输入

            in.telnetd:ALL:spawn /bin/echo `date` login fail connnect from %c to %s,%d >> /var/log/telnet.deny.log 

        如此便完成任务



本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1959469,如需转载请自行联系原作者

相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
8月前
|
NoSQL 程序员 Linux
Redis是单线程还是多线程,为什么效率这么高?
Redis是单线程还是多线程?这个问题,把一个5年开发经验的程序员给问懵了。可能很多小伙伴平时都听说过,Redis就是单线程的。但是我们学习Redis命令的时候,有经常有设置异步,比如bgsave命令,它的作用是在后台异步持久化数据到磁盘,那既然是异步,肯定需要由线程来完成。
183 0
|
8天前
|
人工智能 自然语言处理 API
深入浅出LangChain与智能Agent:构建下一代AI助手
LangChain为大型语言模型提供了一种全新的搭建和集成方式,通过这个强大的框架,我们可以将复杂的技术任务简化,让创意和创新更加易于实现。本文从LangChain是什么到LangChain的实际案例到智能体的快速发展做了全面的讲解。
279548 52
深入浅出LangChain与智能Agent:构建下一代AI助手
|
9天前
|
设计模式 人工智能 JSON
一文掌握大模型提示词技巧:从战略到战术
本文将用通俗易懂的语言,带你从战略(宏观)和战术(微观)两个层次掌握大模型提示词的常见技巧,真正做到理论和实践相结合,占领 AI 运用的先机。
237787 4
|
9天前
|
NoSQL Cloud Native Redis
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
阿里云瑶池数据库团队后续将持续参与Valkey社区,如过往在Redis社区一样耕耘,为开源社区作出持续贡献。
Redis核心开发者的新征程:阿里云与Valkey社区的技术融合与创新
|
9天前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
|
3天前
|
机器人 Linux API
基于Ollama+AnythingLLM轻松打造本地大模型知识库
Ollama是开源工具,简化了在本地运行大型语言模型(ile优化模型运行,支持GPU使用和热加载。它轻量、易用,可在Mac和Linux上通过Docker快速部署。AnythingLLM是Mintplex Labs的文档聊天机器人,支持多用户、多种文档格式,提供对话和查询模式,内置向量数据库,可高效管理大模型和文档。它也是开源的,能与Ollama结合使用,提供安全、低成本的LLM体验。这两款工具旨在促进本地高效利用和管理LLMs。
94763 19
|
10天前
|
消息中间件 Cloud Native Serverless
RocketMQ 事件驱动:云时代的事件驱动有啥不同?
本文深入探讨了云时代 EDA 的新内涵及它在云时代再次流行的主要驱动力,包括技术驱动力和商业驱动力,随后重点介绍了 RocketMQ 5.0 推出的子产品 EventBridge,并通过几个云时代事件驱动的典型案例,进一步叙述了云时代事件驱动的常见场景和最佳实践。
246780 2
|
8天前
|
物联网 PyTorch 测试技术
手把手教你捏一个自己的Agent
Modelscope AgentFabric是一个基于ModelScope-Agent的交互式智能体应用,用于方便地创建针对各种现实应用量身定制智能体,目前已经在生产级别落地。
|
11天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101886 3
|
10天前
|
自然语言处理 Cloud Native Serverless
通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
近日,通义灵码正式进驻函数计算 FC WebIDE,让使用函数计算产品的开发者在其熟悉的云端集成开发环境中,无需再次登录即可使用通义灵码的智能编程能力,实现开发效率与代码质量的双重提升。
95467 4