第十周

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

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

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

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

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

#!/bin/bash

[ -f /etc/init.d/functions ] && . /etc/init.d/functions

[ $UID -ne 0 ] && echo "this script must root run it" && exit 1

[ $# -ne 1 ] && echo "Usage:bash $0 " && exit 2

if [ "$1" = "on" ];then

    sed -i 's@^SELINUX=.*@SELINUX=enforcing@g' /etc/selinux/config

    [ $? -eq 0 ] && action "selinux config on " /bin/true

        /sbin/setenforce 1

elif [ "$1" = "off" ];then

    sed -i 's@^SELINUX=.*@SELINUX=disabled@g' /etc/selinux/config

    [ $? -eq 0 ] && action "selinux config off " /bin/true

        /sbin/setenforce 0

else

    echo "argv error , please input "

    exit 3

fi

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

# awk '/^UUID*/{filetype[$3]++}END{for(i in filetype){print i,filetype[i]}}' /etc/fstab

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

# echo "yd$C@M05MB%9&Bdh7dq+yVixp3vpw" | awk 'gsub(/[^[:digit:]]/," ",$0)'

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

#!/bin/bash

whiletrue

do

  awk '{print $1}'access.log | grep-v"^$" | sort | uniq-c > /tmp/tmp.log

  exec < /tmp/tmp.log

  whilereadline

  do

    ip=`echo $link | awk'{print $2}'`

    count=`echo$line|awk'{print $1}'`

      if[ $count -gt 5 ] && [ `iptables -L -n|grep"$ip"|wc-l` -lt 1 ]

      then

        iptables -A INPUT -s $ip -j REJECT

        echo"$line is dropped">>/tmp/droplist.log

      fi

  done

  sleep5

done

你可能感兴趣的:(第十周)