tcp_wrapper 总结
一. 简介
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
tcp_wrapper 总结的更多相关文章
- tcp_wrapper
介绍 对基于tcp协议开发并提供服务的应用程序,所提供的一层访问控制工具 基于库调用实现其功能 * 库名:libwrap 判断服务是否能够由tcp_wrapper进行访问控制 1. 动态编译 ldd命 ...
- 6、tcp_wrapper
iptables的链接跟踪表最大容量为/proc/sys/net/ipv4/ip_conntrack_max,链接碰到各种状态的超时后就会从表中删除. 所以解決方法一般有两个: (1) 加大 ip_c ...
- 对inetd、xinetd与TCP_Wrapper的基本了解
在Linux系统中有一个特殊的守护进程inetd(InterNET services Daemon),它用于Internet标准服务,通常在系统启动时启动.通过命令行可以给出inetd的配置文件,该配 ...
- iptables (二) nat & tcp_wrapper
一.nat 之前网络防火墙的示例中,如果内网是私网地址,那么内网主机如何与外网通信呢? 这时候,iptables要实现内网和外网通信,有两种方式: nat: Network Address Trans ...
- tcp_wrapper过滤
1.1 wrap简介 wrap工作在内核空间和应用程序中间的库层次中.在内核接受到数据包准备传送到用户空间时都会经过库层次,对于部分(只是部分)应用程序会在经过库层次时会被wrap库文件阻挡下来检查一 ...
- Linux服务器安全配置
众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...
- LINUX安全加固规范
1 概述 近几年来Internet变得更加不安全了.网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏.截取和修改的风险也在增加. 只要有值得偷窃的东西就会有想办法窃取它的人 ...
- linux命令行netstat总结
1.所谓的监听就是某个服务程序会一直常驻在内存中,所以该程序启动的Port就会一直存在. 2.在小于1023的端口,都是需要以root身份才能够启动的. 3.大于1024以上的Port主要是作为cli ...
- linux学习之-vsftp
一.简介 vsftp是一个基于GPL发布的类unix系统上使用的ftp服务器软件,它的全称是very secure FTP ,软件的编写初衷是为了代码的安全,另外高速与高稳定性也是vsftp的两个重要 ...
随机推荐
- 蓝桥杯-格子中输出-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- android webview和 javascript 进行交互
HTML5进行app开发具有开发快,跨平台等优点,但是当客户需要访问照相机或者调用摄像头等硬件的时候,H5就会有限制,必须要调用原生方法进行设备访问.下面简要介绍JS和原生方法互相调用的方法: 1 在 ...
- WebView加载页面的两种方式——网络页面和本地页面
WebView加载页面的两种方式 一.加载网络页面 加载网络页面,是最简单的一种方式,只需要传入http的URL就可以,实现WebView加载网络页面 代码如下图: 二.加载本地页面 1.加载asse ...
- 使用fontawesome图标
我每次找图标时都是在阿里的开源图标库中找的,但是使用起来不是很方便.而我发现了fontawesome之后,觉得实在不错,所以分享给大家. 这是一些参考的文档. fontawesome下载与使用介绍 ...
- 关于爬楼梯的lintcode代码
讲真的,这个我只会用递归去做,但是lintcode上面超时,所以只有在网上找了个动态规划的,虽然这个程序懂了,但是我觉得还是挺不容易的真正弄懂的话-- class Solution {public: ...
- 在R中整理数据
原始数据一般分散杂乱,并含有缺失和错误值,因此在进行数据分析前首先要对数据进行整理. 一.首先,了解原始数据的结构. 可使用如下函数(归属baseR)来查看数据结构: class(dataobject ...
- jdbc(2)
create table account ( id int primary key auto_increment, name varchar(20), money double);insert int ...
- Oracle 12C 新特性之表分区或子分区的在线迁移
Oracle 12c 中迁移表分区或子分区到不同的表空间不再需要复杂的过程.与之前版本中未分区表进行在线迁移类似,表分区或子分区可以在线或是离线迁移至一个不同的表空间.当指定了 ONLINE 语句,所 ...
- [刷题]算法竞赛入门经典(第2版) 4-5/UVa1590 - IP Networks
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,0 ms) //UVa1590 - IP Networks #include<iost ...
- 利用有限自动机(finite automata)进行模式匹配
一.有限自动机定义及基本术语: 一个有限自动机 M 是一个5元组(Q, ,A, Σ, δ),其中: Q 是所有状态的有限集合; ∈ Q (属于)是初始状态; A ⊆ Q (子集)是接受状态的集合; ...