swoole加密可以开心?以往万一马不停蹄写个脚本防开心

时间:2023年07月30日

/

来源:网络

/

编辑:佚名

一、前言:
swoole加密后,看日志发现许多系统登录失败的记录,就明白我可能是被黑客盯上了,本文就给大家分享一个防暴力开心的脚本,希望对大家有所帮助
注意:该教程,是基于swoole的毫秒定时器,因此必须有以下几个条件:
1、php > 7.1
2、安装了swoole 扩展。
二、具体步骤
1、编写脚本,将 ssh 登录失败次数超过 3 次的 ip 直接加入 hosts.deny 文件
/data/sciprt/denyHost.sh
#!/bin/bash 
#Denyhosts SHELL SCRIPT 
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"=" $1;}' >/root/denyHost.txt 
DEFINE="3"
for i in `cat /root/denyHost.txt` 
do
 IP=`echo $i|awk -F= '{print $1}'` 
 NUM=`echo $i|awk -F= '{print $2}'` 
 if [ $NUM -gt $DEFINE ] 
 then 
 ipExists=`grep $IP /etc/hosts.deny |grep -v grep |wc -l` 
 if [ $ipExists -lt 1 ] 
 then 
 echo "sshd:$IP" >> /etc/hosts.deny 
 fi 
 fi 
done
2、创建脚本执行文件 /data/script/denyHost.php
<?php 
declare(strict_types = 1); 
class DenyHost 

 public function index() 
 { 
 $shell = 'sh /data/script/denyHost.sh'; 
 shell_exec($shell); 
 } 

swoole_timer_tick(500, function ($timerId) { 
 (new DenyHost())->index(); 
}); 
3、添加记录文件
cd ~ 
touch denyHost.txt 
4、给予sh脚本权限
cd /data/script 
chmod 777 denyHost.sh
5、运行php脚本
cd /data/script 
php denyHost.php
目前是可以随时ctrl c 打断这个脚本执行的,我们可以在后台运行这个php脚本
nohup php /data/script/denyHost.php &
6、如果要结束这个php脚本在后台运行
# 找到这个php脚本的pid 
ps -a | grep php 
# 返回结果 
381 pts/0 00:00:00 php 
kill -9 381
说明:这里使用的是swoole的毫秒定时器,较之 linux 自带的 crontab 定时任务,好处在于,swoole 的毫秒定时器最小单位可以是毫秒,而 crontab 最小单位是每分钟,实现防暴力开心并不理想。
7、验证效果
cat -n /etc/hosts.deny
以上就是“swoole加密可以开心?以往万一马不停蹄写个脚本防开心”的详细内容,想要获取更多laravel教程欢迎关注78模板网
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。