linux学习笔记(十)

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

#!/bin/bash
#Author:ZHS
#Email:****@163.com
#Time:2020-05-19 14:23:03
#Name:10_selinuxcol.sh
#Version:V1.0
#Description:编写脚本selinux.sh,实现开启或禁用SELinux功能

case $1 in 
start)
    setenforce 1;
    sed -i 's/=disabled/=enforcing/g' /etc/selinux/config;
    ;;
stop)
    setenforce 0;
    sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
    ;;
*)
    echo "please input start or stop to contorl selinux"
    exit 1
    ;;
esac
getenforce

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

cat /etc/fstab |grep '^[^#]'|awk  '{ print $3 }'|uniq -c

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

echo 'Yd$C@M05MB%9&Bdh7dq+YVixp3vpw'|sed 's/[^0-9]//g'

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

#!/bin/bash
#Author:ZHS
#Email:****@163.com
#Time:2020-05-19 15:17:19
#Name:dos.sh
#Version:V1.0
#Description:解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT.


#netstat -tn|awk '{ print $5}'|grep '^[0-9]'|awk -F: '{print $1}'|uniq -c >/soft/netstat.log

file=/soft/netstat.log
tmp_file=/soft/tmp.txt

awk -F'[ :]+' '/ESTABLISHED/{print $6}'  $file |sort |uniq -c  >$tmp_file

while read line 
do 
   cnt=`echo $line|awk '{print $1}'`
   ip=`echo $line|awk '{print $2}'`
   if [ $cnt -ge 100 -a `iptables -nL |grep -wc $ip` -eq 0 ]
   then
      iptables -I INPUT  -s $ip  -j DROP  
   fi
done  <$tmp_file
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容