Linux学习-iptables之TCPWrapper

Posted 丢爸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习-iptables之TCPWrapper相关的知识,希望对你有一定的参考价值。

tcp_wrapper:tcp包装器

对基于tcp协议开发并提供服务的应用程序,提供一层访问控制工具
基于库调用实现其功能,libwrap
#判断服务是否能够由tcp_wrapper进行访问控制
1)动态编译:ldd命令
2)静态编译:strings /path/to/program查看应用程序,其结果中出现hosts.allow,hosts.deny
#查看sshd服务是否受tcp_wrapper控制
[root@nginx01 netfilter]# ldd `which sshd`
	linux-vdso.so.1 =>  (0x00007fff7d50b000)
	libfipscheck.so.1 => /lib64/libfipscheck.so.1 (0x00007f12943ff000)
	****---libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f12941f4000)---****
#查看xinetd服务是否受tcp_wrapper控制
[root@nginx01 netfilter]# ldd `which xinetd`
	linux-vdso.so.1 =>  (0x00007ffe65e8a000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f697f573000)
	libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f697f368000)
#在配置文件中为各服务分别定义访问控制规则实现访问控制
#/etc/hosts.allow,/etc/hosts.deny
#配置文件语法:
	daemon_list : client_list [:options]
	daemon_list:
		应用程序的文件名称,而非服务名
		应用程序文件名称列表,彼此间使用逗号分隔,如:sshd,vsftpd,ALL表示所有服务
	client_list:
		IP地址
		主机名
		网络地址:必须使用完整格式的掩码,不使用前缀格式掩码,如172.16.0.0/16不合格
		简短网络地址:如172.16. 表示172.16.0.0/255.255.0.0
		ALL:表示所有主机
		KNOW:所有已知主机
		UNKNOW:所有未知主机
		PARANOID
#通过tcp_wrapper实现允许指定主机访问本地vftpd服务
[root@nginx01 ~]# cat /etc/hosts.allow
#在hosts.allow文件中,如果有就放行
#允许192.168.88.103主机访问本机的vsftpd服务
vsftpd: 192.168.88.103
#如做以下设置,则整个192.168.88网段的主机都放行
vsftpd: 192.168.88.

[root@nginx01 ~]# cat /etc/hosts.deny
#在hosts.deny文件中如何有就拒绝,没有就放行
#拒绝其他主机访问
vsftpd: ALL
EXCEPT:除了
事例:
# /etc/hosts.allow
#允许192.168网段主机访问除了192.168.88网段
vsftpd:192.168. EXCEPT 192.168.88.0/255.255.255.0
[:options]
  • [:deny]:拒绝,主要用于hosts.allow文件中实现deny功能

  • [:allow]:允许,用于hosts.deny文件中实现allow功能

  • [:spawn]:启动额外应用程序

# /etc/hosts.allow
#允许非172.16网段的主机访问
vsftpd:172.16. :deny
#在被拒绝后通过[:spawn]记录日志信息, %c客户端主机IP,%s服务器主机IP,%d服务名称
vsftpd: ALL :spawn /bin/echo `date` login attemp from %c to %s,%d >>/var/log/vsftpd.deny.log

以上是关于Linux学习-iptables之TCPWrapper的主要内容,如果未能解决你的问题,请参考以下文章

Linux之iptables原理详解

Linux学习-iptables之TCPWrapper

Linux学习总结(二十六)防火墙规则之firewalld

Linux基础优化之SElinux和iptables项

Linux之iptables

linux之iptables总结