jReject

封IP

前提是你 提交于 2019-11-29 00:46:09
题目要求 需求: 根据web服务器上的访问日志,把一些请求量非常高的ip给拒绝掉!并且每隔半小时把不再发起请求或者请求量很小的ip给解封。 假设: 一分钟内请求量高于100次的IP视为不正常请求。 访问日志路径为/data/logs/access_log。 用第2例中的1.log作为演示日志 核心要点 统计ip访问次数,排序 如何标记每隔半小时 iptables计数器是一个重要的判断指标 函数(封IP、解封IP) 参考答案 #!/bin/bash block_ip() { t1=`date -d "-1 min" +%Y:%H:%M` log=/data/logs/access_log egrep "$t1:[0-9]+" $log > /tmp/tmp_last_min.log awk '{print $1}' /tmp/tmp_last_min.log |sort -n |uniq -c|sort -n |awk '$1>100 {print $2}' > /tmp/bad_ip.list n=`wc -l /tmp/bad_ip.list|awk '{print $1}'` if [ $n -ne 0 ] then for ip in `cat /tmp/bad_ip.list` do iptables -I INPUT -s $ip -j REJECT done fi }

CentOS6.x 下 LNMP环境搭建(准备篇)

戏子无情 提交于 2019-11-27 20:02:58
CentOS6.x 下 LNMP环境搭建(准备篇) CentOS6.x 下 LNMP环境搭建(一、安装 MySQL) CentOS6.x 下 LNMP环境搭建(二、安装 Nginx) CentOS6.x 下 LNMP环境搭建(三、安装 PHP) LNMP 服务安装目录 # mkdir -p /lnmp/server /lnmp/www /lnmp/log/mysql /lnmp/log/nginx /lnmp/log/php 注:安装好的目录结构类似如下 /lnmp/ ├── log │ ├── mysql │ ├── nginx │ └── php ├── server │ ├── mysql -> /lnmp/server/mysql-5.x.xx │ ├── mysql-5.x.xx │ ├── nginx -> /lnmp/server/nginx-1.4.4 │ ├── nginx-1.4.4 │ ├── php -> /lnmp/server/php-5.x.xx │ └── php-5.x.xx ├── info.log └── www # chown -R www:www /lnmp/log # chmod -R 755 /lnmp/log # chown -R www:www /lnmp/www # chmod -R 755 /lnmp/www 下载软件包 #

【linux】对于服务器被绑,cup100%的问题!

有些话、适合烂在心里 提交于 2019-11-26 21:42:43
这几天很蛋疼,非常非常的疼。 阿里云服务器总被黑,权限也禁了,该弄的都弄了,还是被黑.... 只能怪自己不是个专职的运维...诶... 总体状态: 服务器被绑,放了后门程序,各种挖矿...丧心病狂...为什么中国这么不重视互联网呢?不嘴炮了。 因为个人运维技术不到位,目前只发现一点点蛛丝马迹... redis配置文件被篡改, redis被存入curl命令,配置文件被指定写入路径。总之,请检查redis配置文件与dump.rdb文件,与原文件对比是否被篡改了。值得注意的是,log日志路径如果是空,基本上说明,redis被绑架了 如果断定redis被绑了,一定要删除掉redis的镜像文件。要搜索全盘!就算你不删除掉,它也会无限读取镜像,覆盖掉你redis中的数据。 /etc/ld.so.preload;这个文件,无论服务器执行什么命令,它都会先执行一次。很恶心啊。不知道如何搞掉它。 /usr/local/lib/libntp.so;这个文件,是上面/etc/ld.so.preload里面所指定的一个程序。效果,应该是查看进程时无法发现cup占用率,篡改了底层监控什么什么的。 这两个文件,也可能是其他的名称或路径.... 最后,root用户下的contab -e ,与/etc/cron.d/root的配置~看一下,是不是已经有你不认识的任务啦? 找到crontab -e 中的地址