君不见长松卧壑困风霜,时来屹立扶明堂。这篇文章主要讲述Linux自学笔记——tcp wrapper相关的知识,希望能为你提供帮助。
tcp_wrapper:tcp包装器,是一个由wieste venema开发,旨在为unix/linux服务器提供防火墙服务的免费软件,它能够让系统管理员记录和控制wrappers支持基于tcp的服务或守护进程的访问。
tcp_wrappers是用来辅助而非替代netfilter的,因为tcp_wrappers工作在应用层,而netfilter工作在网络层;
库文件:libwrap.so
/etc/hosts.allow
, /etc/hosts.deny
判断某服务是否能够由tcp_wrapper进行访问控制的方法:
1)
动态编译:ldd命令;
ldd $(which COMMAND) | libwrap
2)
静态编译:strings命令查看应用程序文件,其结果中是否出现了hosts.allow和hosts.deny文件;
文章图片
服务基于libwrap完成访问控制的流程:
首先检查/etc/hosts.allow文件中有没有显式授权当前请求者访问;
是:直接授权客户端访问;
否:接着去检查/etc/hosts.deny文件中有没有显式拒绝当前请求者访问;
是:直接拒绝当前请求者的访问;
否:允许请求者访问;
配置文件语法:
daemon_list:client_list [:options]
daemon_list:
1) 单个应用程序的文件名称,而非服务名;
2) 以逗号分隔的应用程序文件名列表;
例如:sshd,vsftpd
3) ALL:所有接受tcp_wrapper控制的程序;
Client_list:
Ip地址;
主机名;
网络地址:必须使用完成格式的掩码,不能使用前缀格式掩码;
简短格式网络地址:例如172.16. 表示172.16.0.0/255.255.0.0
ALL:所有主机;
KNOWN:能被解析的主机名
UNKNOWN:无法解析的主机名
PARANOID:主机名和ip地址的各自的正反解析结果不匹配
EXCEPT:除了
:options
deny:拒绝,主要用于hosts.allow文件
allow:允许,主要用于hosts.deny文件;
spawn:启动指定的应用程序;
vsftpd:ALL:spawn /bin/echo $(date) login attempt from %c to %s,%d > > /var/log/vsftpd.deny.log
%c:client ip
%s:[email protected] ip
%d:daemon name
示例:vsftpd 仅开放给192.168.19.0/255.255.255.0中的主机访问;
sshd仅开放给192.168.19.0/255.255.255.0中的主机访问,但是不包括192.168.19.130
对所有被拒绝的访问尝试都记录在/var/log/service.deny.log文件中;
1) /etc/hosts.allow文件中内容:
文章图片
2) tc/hosts.deny文件中内容:
文章图片
3) 测试;
首先用IP地址为192.168.19.134的主机测试;
文章图片
再用192.168.19.130的主机测试;
【Linux自学笔记——tcp wrapper】
文章图片
4) 查看日志;
文章图片
推荐阅读
- android开发学习 ------- EventBus的学习理解
- What would be the closest equivalent in Java to a Micro ORM such as Dapper, PetaPoco, Massive or Cod
- Android JNI编程—JNI基础
- 安卓虚拟机与Hyper-V冲突
- Visual simultaneous localization and mapping: a survey 论文解析(全)
- (转)html5唤起app的方法
- Android ListView动态刷新某项Item
- 博客园app for xamarin android
- Android 手势识别—缩放