tcp_wrapper 总结
2024-08-24 02:38:43
一. 简介
tcp_wrapper:tcp包装器, 工作于库中的.
- 访问控制 工具/组件 : 传输层 和 接近于应用层;
- 仅对使用tcp协议且在开发时调用了libwrap相关的服务程序有效.
二. 判断服务是否能够由tcp_wrapper进行访问控制:
动态编译:ldd命 令查看其链接至的库文件即可;
$ ldd `which sshd` | grep libwrap
静态编译:strings 命令查看其结果中是否包含
hosts.allow hosts.deny
三. 配置文件
tcp_wrapper通过读取配置文件中的访问控制规则来判断某服务是否可被访问
hosts.allow : 先检查, 匹配放行, 则放行; 没有匹配规则, 则使用 hosts.deny
hosts.deny : 后检测. 有匹配则拒绝, 没有匹配则, 放行.
注意
- 默认规则 是放行.
- 发生修改后立即生效.
白名单:
hosts.allow 放行 白名单. hosts.deny 拒绝所有.
四. 配置文件语法:
daemon_list: client_list [:options]
daemon_list :
应用程序的文件名称,而非服务名;
应用程序的文件列表,使用逗号分隔;
例如:vsftpd, in.telnetd: 172.16.0.0/255.255.0.0
ALL: 所有受tcp_wrapper控制的应用程序;
client_list:
IP地址 ;
主机名 ;
网络地址 :必须使用完整格式掩码,不能使用长度格式的掩码;所以172.16.0.0/16是不合法的;
简短格式的网络地址 :172.16. 表示172.16.0.0/255.255.0.0
ALL : 所有客户端地址;
KNOWN : 所有已知的主机, 即主机名可以被解析的.
UNKNOWN :主机名不能被解析的
PARANOID : 正向解析和反向解析不一致的主机.
特殊的变量 :EXCEPT
in.telnetd: 172.16. EXCEPT 172.16.100.3
[:options]
deny: 用于在hosts.allow文件中实现拒绝访问的规则
allow:用于在hosts.deny文件中实现允许访问的规则
spawn: 启动一个额外程序;
in.telnetd: ALL: spawn /bin/echo `date` login attempt from %c to %s, %d >> /var/log/telnet.log # man hosts.allow
示例
控制vsftpd仅允许172.16.0.0/255.255.0.0网络中的主机访问,但172.16.100.3除外;对所被被拒绝的访问尝试都记录在/var/log/tcp_wrapper.log日志文件中;
$ cat hosts.allow:
vsftpd: 172.16. EXCEPT 172.16.100.3
$ cat hosts.deny:
vsftpd: ALL : spawn /bin/echo # 并非所有都会记录. 如 172.16.100.3
最新文章
- phpcms v9常用方法
- Web API - Video File Streaming
- Linux 吃掉我的内存
- UVA 6199 不定根最小树形图
- thinkphp解决表单令牌问题
- Flash上传组件之SWFUpload文件上传
- IntelliJIdea快捷键
- Calling a Web API From a .NET Client (C#)
- linux命令——scp
- nopcommerce数据库字典
- TV TimeShift和PVR的区别
- wangEditor编辑器 Vue基本配置项
- 谷歌浏览器添加JSON-handle插件
- 我的长大app开发教程第二弹:完成ContentFragment底部按钮
- js生成指定范围的随机数
- Linux - 利用systemctl命令管理服务
- nginx的server块如何支持php
- Tomcat端口被占用解决办法
- leetcode1012
- python 面试题2