#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt
DEFINE="100"
for i in `cat /root/black.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ];
then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];
then
echo "sshd:$IP" >> /etc/hosts.deny
echo "vsftpd:$IP" >> /etc/hosts.deny
fi
fi
done
脚本思路如下:
由于/var/log/secure是以星期为轮询的,所以我们每次可以查看这个文件,利用SHELL脚本统计出其中访问失败比较频繁的IP,并定义一个阀值为100,如果大于100的话就将其放进/etc/hosts.deny文件,阻止其继续访问vsftpd和ssh;然后将其写进 crontab计划列表里,每隔一段时间进行一次排查,如果下次排查的某IP次数又大于100,首先检查它在不在我们的黑名单,如果在的话就无视过去;如果不在,就继续添加进/etc/hosts.deny文件。
我的/etc/crontab文件最后一行为
* */1 * * * root sh /root/hosts_deny.sh
即每隔1小时就重复执行一次这个脚本,这里也有一个情况要说明下,/var/log/secure是每隔一个星期轮询一次的,所以我们这里可以根据服务器的具体情况来配置多少时间执行一次此脚本,暴力破解频繁的机器可适当缩小这个周期。
我的公网机器运行脚本一段时间后,/etc/hosts.deny文件如下:
结果:
sshd:119.145.254.77
vsftpd:119.145.254.77
sshd:222.221.2.210
vsftpd:222.221.2.210
sshd:118.218.136.25
vsftpd:118.218.136.25
sshd:118.33.110.52
vsftpd:118.33.110.52
sshd:123.196.113.11
vsftpd:123.196.113.11
sshd:14.140.172.74
vsftpd:14.140.172.74
sshd:200.29.110.104
vsftpd:200.29.110.104
sshd:202.102.89.81
vsftpd:202.102.89.81
sshd:202.78.173.199
vsftpd:202.78.173.199
参考出去:
http://www.opsers.org/linux-home/security/scripts-to-prevent-brute-force-ssh-and-vsftpd.html
分享到:
相关推荐
### vsftp启动失败解决办法 在使用vsftp服务器过程中,可能会遇到vsftp服务无法正常启动的问题。这种情况往往会给用户带来不少困扰,特别是对于那些依赖FTP服务进行文件传输的业务场景。本文将详细介绍vsftp启动...
在 Linux 系统中,VSFTP 是一种非常流行的 FTP 服务器解决方案。下面将详细介绍 VSFTP 的安装和配置过程。 一、VSFTP 的安装 在 Linux 系统中,可以使用 RPM 包来安装 VSFTP。首先,需要下载 VSFTP 的 RPM 包,...
1. 将`vsftp-ipk.tgz`通过FTP或SSH上传到你的OpenWrt/LEDE设备。 2. 在终端中,使用tar命令解压tgz文件:`tar -xzf vsftp-ipk.tgz` 3. 进入解压后的目录:`cd vsftp-ipk` 4. 使用opkg命令安装IPK包:`opkg install ...
在这个资源中,我们将学习如何在 Ubuntu-18.04 系统中修改 root 用户密码、安装 SSH 服务、允许 root 用户远程登录和安装 vsftp 服务器。 修改 root 用户密码 在 Ubuntu-18.04 系统中,默认情况下 root 用户的密码...
vsftp 虚拟用户详细介绍 在这篇文章中,我们将详细介绍 vsftp 虚拟用户的实现和配置过程。vsftp 是一个基于虚拟用户的 FTP 服务器软件,支持多种认证方式,包括基于 DB 库存储用户名及密码的认证方式。 编译安装 ...
在IT行业中,FileZilla、vsftp和PuTTY是三个重要的工具,它们分别在Linux环境下的文件传输、服务器管理和远程连接方面发挥着关键作用。让我们深入探讨这些工具及其使用场景。 首先,FileZilla是一款开源的FTP(文件...
### VSFTP简单安装文档知识点详解 #### 一、VSFTP简介及作用 - **FTP (File Transfer Protocol)**:文件传输协议是一种用于在网络上进行文件传输的标准协议。它的主要目的是让用户能够从远程计算机系统获取所需的...
#### 五、Vsftp常见问题与解决方法 1. **无法通过远程连接访问Vsftp** - 检查防火墙设置,确保FTP端口(默认为21)已开放。 - 确认Vsftp配置文件中`listen=YES`。 2. **用户登录后被限制在主目录** - 确认配置...
【Redhat VSFTP 配置手册】 VSFTP (Very Secure FTP Daemon) 是一款在Linux系统中广泛使用的FTP服务器,尤其以其强大的安全特性而受到青睐。本文档将详细讲解如何在Redhat系统上安装和配置VSFTP,以确保您的FTP服务...
总的来说,`vsftp`是一款强大且安全的FTP服务器解决方案,通过细心的配置可以满足各种场景的需求。`vsftp.tat.gz`文件及其相关的配置文档将帮助你搭建和管理自己的FTP服务器,确保数据传输的安全和高效。在实际操作...
vsFTP的日志默认位于 `/var/log/vsftpd.log`,定期检查日志有助于发现和解决潜在问题。 ### 8. 进阶配置 - `pasv_enable=YES`:启用被动模式,用于通过NAT和防火墙。 - `anonymous_root=/var/ftp`:设置匿名用户的...
Vsftp(Visual Secure File Transfer ...总之,Vsftp v2.0.6为Linux系统提供了一个强大且安全的FTP服务器解决方案。它具有丰富的配置选项和安全特性,使得管理员可以根据具体需求定制FTP服务,满足各种场景的应用。
vsftp安装包
VSFTP配置手册,号称最安全的FTP。
VSFTP (Virtual Server FTP Daemon) 是一款非常流行的开源FTP服务器软件,特别适合配置虚拟用户和权限控制。在Linux系统中,VSFTP提供了多种安全特性,包括PAM(Pluggable Authentication Modules)支持,使得我们...
它的设计目标是提供一个安全、高效且易管理的FTP服务解决方案。Vsftp v2.0.6是该软件的一个特定版本,它可能包含了对早期版本的改进和修复,以增强其稳定性和安全性。 **FTP简介** FTP(File Transfer Protocol)是...
### Linux下vsftp的搭建及quota的使用 #### 一、vsftp的搭建与配置 在Linux环境下构建vsftp服务器并实现quota限制是一项常见的网络管理任务。以下是对给定文件内容的深入解析与扩展。 ##### 1. 安装vsftp工具 在...