tcp_wrapper
TCP_Wrappers介绍
作者:Wieste Venema,IBM,Google
工作在第四层(传输层)的TCP协议
对有状态连接的特定服务进行安全检测并实现访问控制
以库文件形式实现
某进程是否接受libwrap的控制取决于发起此进程的程序在编译时是否针对libwrap进行编译的
判断服务程序是否能够由tcp_wrapper进行访问控制的方法:
ldd /PATH/TO/PROGRAM|grep libwrap.so
strings PATH/TO/PROGRAM|grep libwrap.so
配置文件:
/etc/hosts.allow, /etc/hosts.deny
帮助参考:
man 5 hosts_access,man 5 hosts_options
检查顺序:
hosts.allow,hosts.deny(默认允许)
生效规则:
先检查/etc/hosts.allow,如果匹配则允许。如果不匹配在检查/etc/hosts.deny,如果匹配则拒绝。二者都不匹配则默认允许。
基本语法:
daemon_list@host: client_list [ :options :option… ]
Daemon_list@host格式
单个应用程序的二进制文件名,而非服务名,例如vsftpd
以逗号或空格分隔的应用程序文件名列表,如:sshd,vsftpd
ALL表示所有接受tcp_wrapper控制的服务程序例如包含sshd,vsftpd.......
主机有多个IP,可用@hostIP来实现控制
如:sshd@192.168.0.254,表示控制sshd连接本机192.168.0.254这一个IP
客户端Client_list格式
以逗号或空格分隔的客户端列表
基于IP地址:192.168.10.1 192.168.1.
基于主机名:www.magedu.com .magedu.com 较少用
基于网络/掩码:192.168.0.0/255.255.255.0
基于net/prefixlen: 192.168.1.0/24(CentOS7)
基于网络组(NIS 域):@mynetwork
内置ACL:ALL,LOCAL,KNOWN,UNKNOWN,PARANOID
EXCEPT用法:
/etc/host.deny
vsftpd: 172.16. EXCEPT 172.16.100.0/24 EXCEPT 172.16.100.1
除了172.16.100.0/24,不允许172.16.0.0/16网段访问ftp,也不允许172.16.100.1主机访问。
示例
示例:只允许192.168.1.0/24的主机访问sshd /etc/hosts.allow sshd: 192.168.1. /etc/hosts.deny sshd :ALL 示例:只允许192.168.1.0/24的主机访问telnet和vsftpd服务 /etc/hosts.allow vsftpd,in.telnetd: 192.168.1. /etc/host.deny vsftpd,in.telnetd: ALL
[:options]选项:
帮助:man 5 hosts_options
deny 主要用在/etc/hosts.allow定义“拒绝”规则
如:vsftpd: 172.16. :deny
allow 主要用在/etc/hosts.deny定义“允许”规则
如:vsftpd:172.16. :allow
spawn 启动一个外部程序完成执行的操作
twist 无论在/etc/hosts.deny还是/etc/hosts.allow,实际动作是拒绝访问,使用指定操作替换当前服务,标准输出和ERROR
发送到客户端,默认至/dev/null
sshd: ALL :spawn echo "$(date +%%F) login attempt from %c to %s,%d" >>/var/log/sshd.log 说明: 在/etc/hosts.allow中添加,允许登录,并记录日志 在/etc/hosts.deny中添加,拒绝登录,并记录日志 %c 客户端信息 %s 服务器端信息 %d 服务名 %p 守护进程的PID %% 表示%
实验一:指定策略值允许192.168.206.11,ssh192.168.206.10。其他全部拒绝,并在/var/log/sshd.log中记录信息
实验二:twist示例。拒绝192.168网段主机ssh到本机
posted on 2020-08-16 12:25 HowOldAreYou 阅读(186) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· 终于决定:把自己家的能源管理系统开源了!
· 外部H5唤起常用小程序链接规则整理
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· 了解 ASP.NET Core 中的中间件
· 详解:订单履约系统规划