您当前的位置:首页 > 电脑百科 > 安全防护 > 软件工具

Linux 安全工具TCP_Wrappers、DenyHosts

时间:2020-08-14 10:35:19  来源:  作者:
Linux 安全工具TCP_Wrappers、DenyHosts

 

一、TCP_WrAppers

1. 简介

全称是Transmission Control Protocol (TCP) Wrappers ,它是一个基于主机的网络访问控制列表系统。最初代码由Wietse Venema在1990年编写(比linux的出现要早一点),2001年以类BSD的许可发布。TCP Wrappers工作在TCP/IP模型的第4层(传输层),对有状态连接的特定服务进行安全检测并实现访问控制。

核心配置文件是:

  • /etc/hosts.allow
  • /etc/hosts.deny

TCP Wrappers有一个TCP守护进程:tcpd。可以在 wrappers 下进行访问控制的通常有 :

  • telnet
  • ssh
  • sendmail
  • ftp
  • pop3
  • vsftpd

2. 查看系统是否支持

TCP Wrappers核心是libwrap库,可以通过命令查看系统是否支持:

sudo ldd /usr/sbin/sshd | grep libwrap
Linux 安全工具TCP_Wrappers、DenyHosts

 

这里sshd使用了libwrap。

3. 工作流程:

  1. 远程IP请求连接
  2. TCP Wrapper先看/etc/hosts.allow中是否允许,有允许就放行;
  3. 没有允许,看/etc/hosts.deny是否禁止,如果存在就禁止连接;
  4. 两个文件都没有默认放行。

另外tcp_wrappers可以设置调用外部程序,如记录日志等。

4. tcp_wrappers配置文件语法

服务列表@host:主机列表:选项服务列表@host:主机列表:选项服务列表@host:主机列表:选项

(1) 服务列表

要支持的服务名,如:telnet,vsftpd等@host 是指定本机网卡,如果不写就代表全部。

(2) 主机列表

受控制的机器,可以是机器名、IP,支持通配符* ? ALL EXECPT

  • 基于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

  • ALL:所有主机
  • LOCAL:本地主机
  • KNOWN:主机名可解析成ip的
  • UNKNOWN:主机名无法解析成IP的
  • PARANOID:正向解析与反向解析不对应的主机

(3) 选项,要控制的动作

  • ALLOW 接受
  • DENY 禁止

5. 示例

(1) telnet禁止192.168.0.0/16,但允许192.168.0.2,其它段不限制

vim /etc/hosts.allow
in.telnetd: 192.168.0.2
vim /etc/hosts.deny
in.telnetd: 192.168.

(2) 禁止192.168.1.4通过ssh连接

vim /etc/hosts.deny
# 自己的IP是192.168.1.2
sshd@192.168.1.2:192.168.1.4

(3) 禁止192.168.1.*网段ssh连接

vim /etc/hosts.deny
# 自己ip192.168.1.2
sshd@192.168.1.2:192.168.1.

(4) 允许本地网段,除了192.168.1.4连ssh

vim /etc/hosts.allow
# 可以用EXCEPT排除某个IP
sshd@192.168.1.2:192.168.1. EXCEPT 192.168.1.4
vim /etc/deny
sshd: ALL

(5) 在allow里使用deny

vim /etc/hosts.allow
sshd:192.168.1.4:deny
# 也可以在deny中使用allow
vim /etc/hosts.deny
sshd:192.168.1.4:allow

6. 使用tcpmatch查看连接情况

tcpdmatch  [-d]  daemon[@host]  client
-d 测试当前目录下的 hosts.allow和hosts.deny

二、DenyHosts

由Phil Schwartz编写,使用Python开发。它是通过监控系统安全日志来分析是否有对OpenSSH的暴力破解行为。如果发现有暴力破解,就分析IP并加到etc/hosts.deny来禁止连接。

1. 安装

官网地址: http://denyhosts.sourceforge.net/

  • yum安装
yum install -y denyhosts
  • 下载安装:
wget http://jaist.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz
tar zxvf DenyHosts-2.6.tar.gz -C /usr/local/bin
cd DenyHosts-2.6
python setup.py install
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control
chown root daemon-control
chmod 700 daemon-control

设置开机启动:

cd /etc/rc.d/init.d/
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
chkconfig daemon-control on
chkconfig --list denyhosts
# 启动
/etc/init.d/daemon-control start  

vim /etc/rc.local
# 添加
/usr/share/denyhosts/daemon-control start

2. 配置文件设置

vim denyhosts.cfg
SECURE_LOG = /var/log/secure   #ssh日志文件
# format is: i[dhwmy]
# Where i is an integer (eg. 7)
# m = minutes
# h = hours
# d = days
# w = weeks
# y = years
#
# never purge:
PURGE_DENY = 50m               #过多久后清除已阻止IP
HOSTS_DENY = /etc/hosts.deny   #将阻止IP写入到hosts.deny
BLOCK_SERVICE = sshd           #阻止服务名
PURGE_THRESHOLD =              #定义了某一IP最多被解封多少次。某IP暴力破解SSH密码被阻止/解封达到了PURGE_THRESHOLD次,则会被永久禁止;
DENY_THRESHOLD_INVALID = 1     #允许无效用户登录失败的次数
DENY_THRESHOLD_VALID = 10      #允许普通用户登录失败的次数
DENY_THRESHOLD_ROOT = 5        #允许root登录失败的次数
WORK_DIR = /usr/local/share/denyhosts/data #将deny的host或ip纪录到Work_dir中
DENY_THRESHOLD_RESTRICTED = 1 #设定 deny host 写入到该资料夹
LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。
HOSTNAME_LOOKUP=NO            #是否做域名反解
ADMIN_EMAIL =                 #设置管理员邮件地址
DAEMON_LOG = /var/log/denyhosts #DenyHosts日志位置

如果有ssh的攻击记录,可以在文件 /etc/hosts.deny查看。



Tags:TCP_Wrappers   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、TCP_Wrappers1. 简介全称是Transmission Control Protocol (TCP) Wrappers ,它是一个基于主机的网络访问控制列表系统。最初代码由Wietse Venema在1990年编写(比Linux的...【详细内容】
2020-08-14  Tags: TCP_Wrappers  点击:(132)  评论:(0)  加入收藏
▌简易百科推荐
已经观察到一种新的基于JavaScript的远程访问木马(RAT)利用社会工程学传播,采用隐蔽的"无文件"技术作为其逃避检测和分析的方法。该恶意软件由Prevalyion的对抗性反情报团队(PA...【详细内容】
2021-12-17  网安老葫    Tags:恶意软件   点击:(13)  评论:(0)  加入收藏
关于windows Defender防病毒的问题升级win10后,我们会经常遇到打开或下载文件时弹出提示框提示你下载的文件是病毒之类,直接给你删除。你好不容易找了个激活工具,你刚打开发现...【详细内容】
2021-11-08  IT小哥吧    Tags:defender   点击:(46)  评论:(0)  加入收藏
喽!大家好,我是小易,欢迎来到我的知识分享站!今天给大家分享5个杀毒神器,让你的电脑干干净净,建议收藏起来哟! 1、Windows Defender随着Win10系统的更新已经日趋完善,它可以很好的解...【详细内容】
2021-11-08  知识与技能    Tags:流氓软件   点击:(74)  评论:(0)  加入收藏
介绍其实Iptables服务不是真正的防火墙,只是用来定义防火墙规则功能的"防火墙管理工具",将定义好的规则交由内核中的netfilter即网络过滤器来读取,从而真正实现防火墙功能。fil...【详细内容】
2021-10-18  互联网IT技术全栈    Tags:   点击:(52)  评论:(0)  加入收藏
什么是Nessus?Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件。总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件步骤如下:查看当前kali系统内核版本...【详细内容】
2021-09-09  TestGO    Tags:Nessus   点击:(112)  评论:(0)  加入收藏
http 头部信息http头部信息经常包含着主机服务的一些版本信息,经常使用的字段信息有:Server, X-Powered-By, X-AspNet-Version工具可采用curl进行curl --location --head $URL...【详细内容】
2021-08-19  80后IT老民工    Tags:渗透   点击:(225)  评论:(0)  加入收藏
一、杀软常见的三种方式二、免杀的三种常用方式三、利用工具实现免杀1、veil工具基础实现免杀+进阶2、venom免杀3、利用kali自带的shellter进行免杀4、利用avet实现免杀四、...【详细内容】
2021-08-18  白帽hacker淬炼    Tags:免杀   点击:(81)  评论:(0)  加入收藏
关于工具现有工具现在,现成的污点分析工具已经有很多了。其中,我最感兴趣的是Triton和bincat,因为两者已经相当成熟。然而,我们却无法使用这两种工具,因为它们不支持目标设备所...【详细内容】
2021-08-12  Hbo涵    Tags:安全漏洞   点击:(93)  评论:(0)  加入收藏
从实现原理上分,防火墙的技术包括四大类:网络级防火墙、应用级网关、电路级网关和规则检查防火墙。1、网络级防火墙一般是基于源地址和目的地址、应用、协议以及每个IP包的端...【详细内容】
2021-07-20  趣谈文化  搜狐号  Tags:防火墙   点击:(225)  评论:(0)  加入收藏
一、VMware部分1、Vmware简介虚拟机就是一个用来模拟真实的物理机环境的一个软件,可以在虚拟机中安装不同版本的操作系统。就是一个把下载好的ISO安装在物理机操作系统的一个...【详细内容】
2021-07-12  Kali与编程  公众号  Tags:Kali Linux   点击:(112)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条