码迷,mamicode.com
首页 > 其他好文 > 详细

第十一周

时间:2020-06-25 21:34:56      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:类型   iptables   bash   日志   tab   字符串   disable   $1   火墙   

1、编写脚本selinux.sh,实现开启或禁用SELinux功能

(1)、编辑selinux.sh如下:
#!/bin/bash
OPEN=‘SELINUX=enforcing‘
CLOSE=‘SELINUX=disabled‘
if grep $OPEN /etc/selinux/config &>/dev/null;
then
sed -i ‘/^SELINUX/s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config
elif grep $CLOSE /etc/selinux/config &>/dev/null;
then
sed -i ‘/^SELINUX/s/SELINUX=disabled/SELINUX=enforcing/g‘ /etc/selinux/config
fi

(2)、加上chmod +x selinux.sh 执行

2、统计/etc/fstab文件中每个文件系统类型出现的次数

   cat /etc/fstab | awk ‘/^UUID/{print $3}‘ | sort | uniq -c

3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字

     echo ‘Yd$C@M05MB%9&Bdh7dq+YVixp3vpw‘ | grep -o ‘[0-9]‘

4、解决DOS***生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT

(1)、首先在自己root根目录下创建一个可执行备份命令的脚本:

vim start.sh 编辑如下:

#!/bin/bash
NUM=1
lastb | awk ‘{print $3}‘| grep -E [^[:alpha:]] | sort | uniq -c | sort -rn > ovo.txt
cat ovo.txt | awk ‘{print $1}‘ > text1.txt
cat ovo.txt | awk ‘{print $2}‘ > text2.txt
IP=head -n $NUM text2.txt | tail -n 1
for i in cat text1.txt;
do
if [ $i -ge 100 ];
then
iptables -A INPUT -s $IP -j REJECT
fi
NUM=$[$NUM+1]
done

编辑完成后给文件加可执行权限:chmod +x start.sh

(2)、创建计划任务每五分钟巡检一次:

crontab -e 编辑如下:

/5 * /root/start.sh

第十一周

标签:类型   iptables   bash   日志   tab   字符串   disable   $1   火墙   

原文地址:https://blog.51cto.com/12783727/2507002

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!