游乐游手机版
首页/网络安全/文章详情

SSH与vsftpd安全防护脚本代码分享

时间:2026-08-03 06:41
随意翻阅 var log secure 日志文件,即可发现如下一组记录(其中 IP 地址后的数字代表失败尝试次数): 118 33 110 52=2834 119 145 254 77=37 121 254 179 199=226 121 88 250 243=35 200 29 110 104=

随意翻阅 /var/log/secure 日志文件,即可发现如下一组记录(其中 IP 地址后的数字代表失败尝试次数):

118.33.110.52=2834
119.145.254.77=37
121.254.179.199=226
121.88.250.243=35
200.29.110.104=168
202.78.173.199=250
222.221.2.210=373

在这些 IP 中,仅有 119.145.254.77 和 121.88.250.243 属于正常访问,其余均为恶意 IP。由于服务器部署在 LVS 集群后端,最初计划利用 iptables 的 recent 模块进行封禁,但该方案行不通——系统运行 CentOS 5.5 x86_64,其 iptables 并不支持该模块,报错如下:

iptables: Unknown error 18446744073709551615

服务器承载着关键业务,为避免升级内核影响线上稳定性,因此暂时放弃了 iptables 方案。随后考虑使用 hosts.deny 进行封禁,但手动操作繁琐,于是决定编写自动化脚本处理。脚本内容如下:

#! /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——若某 IP 的失败次数超过 100,则将其追加至 /etc/hosts.deny,从而阻止其对 sshd 和 vsftpd 的访问。随后将脚本放入 crontab 定时执行,实现周期性排查。当再次检测到同一 IP 时,脚本会先检查其是否已在黑名单中,若已存在则跳过,否则继续添加。

在 /etc/crontab 里加上这样一行:

* */1 * * * root sh /root/hosts_deny.sh

该脚本每隔一小时执行一次。需要说明的是,/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

效果立竿见影,这些恶意 IP 再也无法通过 SSH 和 vsftpd 进行攻击。这种基于日志分析的自动封禁方法,虽然实现简单,但在实际运维中非常实用有效。

来源:https://www.jb51.net/hack/41544.html
上一篇服务器上建立超级隐藏账号的完整操作流程 下一篇网站是否使用CDN加速的快速检测与判断方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
DDoS攻击的三大主要形式:原理、特征与防御重点
网络安全 · 2026-08-31

DDoS攻击的三大主要形式:原理、特征与防御重点

DDoS攻击主要分为基于流量(Volume)、基于应用层(Application)和基于协议(Protocol)三种形式。流量型攻击通过海量数据淹没带宽;应用层攻击利用Web漏洞耗尽服务器资源;协议层攻击则利用TCP握手缺陷导致系统挂起。了解这些原理是制定针对性防御策略的基础。

如何有效预防和缓解DDoS攻击:5大核心策略详解
网络安全 · 2026-08-31

如何有效预防和缓解DDoS攻击:5大核心策略详解

面对DDoS攻击,单纯增加带宽已非长久之计。本文详解5大核心防护策略:优化网络硬件配置、建立DNS冗余机制、部署透明缓解技术、引入负载平衡器及专用Anti-DDoS模块。通过合理组合这些技术手段,可有效抵御SYN泛洪、Slowloris等常见攻击,保障业务连续性与网站可用性。

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析
网络安全 · 2026-08-31

DDoS防护四大误区:CDN、防火墙与黑名单的局限性解析

许多企业误以为CDN、防火墙或黑名单能完全抵御DDoS攻击。本文深入解析四大常见误区:CDN仅提供部分缓解、静态黑名单易失效、防火墙算力有限且可能成为目标、阈值警报仅具滞后性。了解这些局限性,有助于构建更立体的防御体系,避免在攻击发生时措手不及。

常见DDoS攻击类型详解:原理、特征与防御策略
网络安全 · 2026-08-31

常见DDoS攻击类型详解:原理、特征与防御策略

本文详细解析四种常见DDoS攻击类型:SYN Flood利用TCP三次握手缺陷耗尽资源;UDP Flood通过海量数据包造成带宽拥塞;ICMP Flood利用Ping请求消耗系统算力;应用层Flood针对Web脚本进行高频请求。了解其原理是制定有效防御策略的基础。

如何有效抵御DDOS攻击:4种核心防护方案解析
网络安全 · 2026-08-31

如何有效抵御DDOS攻击:4种核心防护方案解析

面对DDOS攻击,企业需构建多层防护体系。本文详解四大核心策略:利用反向路由器查询进行流量清洗,通过GCDN智能分配节点隐藏源站IP,部署负载均衡硬件分担压力,以及接入高防机房抵御数百G恶意流量。掌握这些技术,可最大程度保障业务连续性。