TCP_Wrappers访问控制
一、TCP_Wrappers简介
对有状态连接的特定服务进行安全检测并实现访问控制,它以库文件形式实现,某进程是否接受libwrap的控制取决于发起此进程的程序在编译时是否针对libwrap进行编译的,判断服务程序是否能够由tcp_wrapper进行访问控制的方法:
ldd /PATH/TO/PROGRAM|grep libwrap.so
strings PATH/TO/PROGRAM|grep libwrap.so
例sshd:
- [root@newhostname 1372]# which sshd
- /usr/sbin/sshd
- [root@newhostname 1372]# ldd /usr/sbin/sshd | grep libwrap
- libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f5659d39000)
- [root@newhostname 1372]# strings /usr/sbin/sshd | grep libwrap
- libwrap.so.0
- libwrap refuse returns
它通过/etc/hosts.allow, /etc/hosts.deny这两个配置文件来对来访支持tcp_warppers模块的服务的ip进行访问限制。
这两个配置文件的读取顺序优先allow,如果allow文件加载,将不再读取deny。
二、配置文件内的基本语法:
1、语法:服务组:host
2、客户端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
例:
- 编辑/etc/host.allow下编辑
- in.telnetd,sshd:172.18.10.10 表示in.telnet和sshd两个服务允许172.18.10.10
- 编辑/etc/host.deny下编辑
- in.telentd:ALL 表示拒绝所有主机对in.telnetd的连接
- 如果上述文件同时存在,则表达的是只允许172.18.10.10访问intelnetd,其它主机不可访问,所有网段都可以访问sshd(如果没有在白名单的,默认为允许;白名单和黑名单同时有的,权限取白名单的)
3、特殊用法 spawn、EXCEPT、twist
expect 除非的意思:
例:
- vsftpd: 172.16. EXCEPT 172.16.100.0/24 EXCEPT 172.16.100.1
- 如果这个配置在allow内,则表示允许所有主机访问,但抛出172.16.100.1在内的172.16.100.0网段的主机除外
- 如果这个配置在deny内, 则表示拒允许172.16.100.0网段内除了172.16.100.1 这个地址以外的地址访问,其他地址都拒绝访问
spawn 启动一个外部程序完成执行的操作:
例:
- sshd: ALL :spawn echo "$(date +%%F) login attempt from %c to %s,%d" >>/var/log/sshd.log
- 每当有主机来访就会有一条记录输出到/var/log/sshd.log文件内,注意spawn前面的:经常丢了
- %c 客户端信息
- %s 服务器端信息
- %d 服务名
- %p 守护进程的PID
- %% 表示%
twist实际动作是拒绝访问,使用指定的操作替换当前服务,标准I/O和ERROR发送到客户端,默认至/dev/null
例:
- 在host.allow内添加如下:
- vsftpd: 172.16. :twist /bin/echo "connectionprohibited" 该项目会将成功访问的动作替换成 /bin/echo "connectionprohibited" ,twist 就是替换的意思。
测试工具:
tcpdmatch [-d] daemon[@host] client
-d 测试当前目录下的hosts.allow和hosts.deny
例:
- tcpdmatch -d (测试当前目录下的配置文件,不一定是etc) sshd 192.168.27.5
0000000000000000000
TCP_Wrappers访问控制的更多相关文章
- vsftpd配置参数详细整理
vsftpd配置参数详细整理 -|白王斧三又干一 vsftpd配置参数详细整理 -|白王斧三又干一 发表于 2005-10-23 20:30:00 1.vsftpd配置参数详细整理#接受 ...
- FTP配置参数
格式 vsftpd.conf 的格式非常简单,每行要么是一个注释,要么是一个指令.注释行以#开始并被忽略掉.指令行格式如下: 配置项=参数值 很重要的一点是,这个格式里不存在任何空格. 默认的,每一个 ...
- Liunx 环境下vsftpd的三种实现方法(超详细参数)
以下文章介绍Liunx 环境下vsftpd的三种实现方法 ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3.tar.gz,目前已经到2.0.3版本.假 ...
- ftp文件共享服务详解
ftp 文件共享服务,文件的上传下载 跨平台,tcp协议 21号(命令端口) 20号(数据端口,主动模式) 默认情况 ftp服务运行被动模式 vsftpd:软件 非常安全的rpm -qi vsftp ...
- 如何在CentOS 7上使用vsftpd(FTP)的配置文件介绍
vsftpd.conf - vsftpd的配置文件. 描述 vsftpd.conf可用于控制vsftpd行为的各个方面. 默认情况下,vsftpd在/etc/vsftpd.conf位置查找此文件. 但 ...
- Linux系统配置VSFTP软件详解
Linux系统配置VSFTP软件详解 出处 http://www.sudu.cn/service/detail.php?id=11656 vsftpd.conf 是vsftpd的配置文件,用来控制vs ...
- 【转】vsftpd用户登入不进去问题
实在是登陆不上... 我已经加了一个新的用户UID和GID都设置到1000以后 /etc/vsftpd.conf也加了local_enable=yes 以standalone模式运行. 重启服务器后, ...
- TCP_Wrappers 简介
TCP_Wrappers 简介 TCP_Wrappers是一个工作在第四层(传输层)的的安全工具,对有状态连接的特定服务进行安全检测并实现访问控制,凡是包含有libwrap.so库文件的的程序 ...
- AIDE,sudo,TCP_Wrappers,PAM认证等系统安全访问机制
AIDE 高级入侵检测环境:是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过了. AIDE能够构造一个指定文件的数据库,它使用aide.conf作为其配置文件.AIDE数 ...
随机推荐
- 【DSP开发】串行 RapidIO: 高性能嵌入式互连技术
串行 RapidIO: 高性能嵌入式互连技术 作者: 德州仪器技术应用工程师 冯华亮/ Brighton Feng/ bf@ti.com 摘要 串行RapidIO针对高性能嵌入式系统芯片间和板间互连而 ...
- PHP学习(8)——面向对象(下)
8.编写代码类 每个分离的函数可以执行一个明确的任务.任务越简单,编写与测试这个函数就越简单,当然也不要将这个函数分得太小——若将程序分成太多的小个体,读起来就会很困难. 使用继承可以重载操作.我们可 ...
- freeRTOS学习二
临界段,用一句话概括就是一段在执行时不能被中断的代码段. 临界段被打断的情况,一个是系统调度,还有一个就是外部中断. 对临界段的保护就是对中断的开和关. 空闲任务与阻塞延时 xTicksToDelay ...
- Subarray Product Less Than K
Your are given an array of positive integers nums. Count and print the number of (contiguous) subarr ...
- (5.14)mysql高可用系列——级联复制与多主一从
目录: [0]实验需求 级联复制,201为主库,202为从库/同时为203的主库,203为202的从库[1]实验环境 级联:A->B->C 实践思路: (1)直接拿A的xtrabackup ...
- Oracle——学习之路(视图——虚拟表)
语法: create [or replace] view 视图名 as 查询相关语句 ps: or replace 表示新视图可以覆 ...
- MyBatis学习存档(1)——入门
一.简介 MyBatis的前身是iBatis,本是Apache的一个开源的项目 MyBatis是一个数据持久层(ORM)框架,把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现 MyB ...
- C# 使用Emit实现动态AOP框架 进阶篇之异常处理
目 录 C# 使用Emit实现动态AOP框架 (一) C# 使用Emit实现动态AOP框架 (二) C# 使用Emit实现动态AOP框架 (三) C# 使用Emit实现动态AOP框架 进阶篇之异常处 ...
- 用winform实现一个B/S代码更新打包工具
一个.net程序员必须拥有的能力就是可以随时随地写出一个自己需要的小工具,于是记录一下我的个人工具吧. 新建一个窗体应用项目,代码如下: namespace 打包工具 { partial class ...
- 豆瓣网post 爬取带验证码
# -*- coding: utf- -*- import scrapy import requests from ..bao.jiema import get_number fromdata = { ...