Linux基础及总结10

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

#!/bin/bash

read -p "Please enter enforcing/disabled to enable or disable selinux: " cmd                                       sestatus=`awk -F "=| " '/^SELINUX=/{print $2}' /etc/selinux/config`

sed -i "s/SELINUX=$sestatus/SELINUX=$cmd/g" /etc/selinux/config

echo -e  "selinux status is already \033[34m$cmd\033[0m, restart the system to take effect."

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

awk -F " " '! /^#|^$/{count[$3]++}END{for(i in count){print count[i],i}}' /etc/fstab |sort -nr

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

echo 'Yd$C@M05MB%9&Bdh7dq+YVixp3vpw'| awk -F "" '{for(i=1;i<=NF;i++){if($i ~ /[0-9]/){print $i}}}'

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

vim monitor_access.sh

#!/bin/bash

awk '{count[$1]++}END{for(i in count){if(count[i]>200){print count[i],i}}}' /var/log/httpd/access_log|sort -nr > /data/iplist.txt

while read count ip;do

  iptables -A INPUT -s $ip -j REJECT &> /dev/null

  echo "来自$ip IP5分钟内访问了webserver超过200次,实际请求次数:$count,威胁`hostname`主机安全,已被拒绝!!!" >> /data/iptables.log

done < /data/iplist.txt

添加计划任务5分钟执行一次

crontab -e

*/5 * * * * /bin/bash /data/monitor_access.sh &> /dev/null

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2018年1月8日 星期一 天气晴 书中有不一样的快乐 饭后朵儿拿起书本认认真真的看了起来,今天与以往不...
    知足常乐朵儿阅读 968评论 0 1
  • 《把你的文字典当 换我幸福的模样》》 偷一颗心典藏 用温柔甜甜供养 爱意在心头 肆意疯长 迷醉中 把你遥望 用情的...
    元元美文阅读 1,904评论 0 7
  • 最近常听到人说某某事情让自己面子上挂不住,让我想到了王家卫<一代宗师>一句台词: 人活一世,有的成了面子,有的成...
    水中望我阅读 955评论 0 0
  • 相爱的人不一定会在一起,在一起的人也不一定会长长久久,这个世界太大了,兜兜转转,你不知道你会遇到多少次怦然心动,也...
    Dr可um乐mer阅读 2,224评论 0 0
  • 2017年4月22日世界读书日,到今天8月26日为止,一共读了13本书,并在简书平台分享了14期读书心得(其中一本...
    王书叔阅读 23,532评论 4 22