• shell日常实战练习——通过监视用户登陆找到入侵者


    #!/usr/bin/bash

    #用户检测入侵工具

    AUTHLOG=/var/log/secure

    if [[ -n $1 ]];then

    AUTHLOG=$1

    echo "Using Log File: $AUTHLOG"

    fi

    LOG=/tmp/valid.$$.log

    grep -v "Invalid" $AUTHLOG > $LOG #将系统中有效的用户

    users=$( grep "Failed password" $LOG |awk '{ print $(NF-5) }'|sort|uniq ) # 搜集非法用户的用户名

    printf "%-5s|%-10s|%-10s|%-13s|%-33s|%s " "Sr#" "User" "Attempts" "IP address" "Host_Mapping" "Time range"

    ucount=0

    ip_list="$( egrep -o "[0-9]+.[0-9]+.[0-9]+.[0-9]+" $LOG |sort|uniq )" #获取登陆失败的IP地址

    for ip in $ip_list

    do

    grep $ip $LOG > /tmp/temp.$$.log #这一步是将失败的那一行信息存到文件中

    for user in $users

    do

    grep $user /tmp/temp.$$.log >/tmp/$$.log

    cut -c-16 /tmp/$$.log >$$.time #这一行的前16个字符是时间戳

    tstart=$(head -1 $$.time);

    start=$(date -d "$tstart" "+%s");

    tend=$(tail -1 $$.time)

    end=$(date -d "$tend" "+%s")

    limit=$(($end-$start))

    if [ $limit -gt 120 ] ;then #检查这个时间戳是否大于两分钟

    let ucount++;

    IP=$(egrep -o "[0-9]+.[0-9]+.[0-9]+.[0-9]+" /tmp/$$.log|head -1 )

    TIME_RANGE="$tstart-->$tend"

    ATTEMPTS=$(cat /tmp/$$.log|wc -1)

    HOST=$(host $IP|awk '{print $NF}') #根据ip 查找对应主机的名字 这个步骤如果显示host没有找到命令 请安装bind-utils

    printf "%-5s|%-10s|%-10s|%-13s|%-33s|%s " "$ucount" "$user" "$ATTEMPTS" "$IP" "$HOST" "$TIME_RANGE"

    fi

    done

    done

    rm -f /tmp/valid.$$.log

    rm -f /tmp/$$.log

    rm -f /tmp/$$.time

    rm -f /tmp/temp.$$.log

    -------------------------------------------------------

    这里是解决非法用户3次登陆失败的解决办法

    vim /etc/pam.d/sshd

    auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10

    #参数解释

    #even_deny_root 也限制root用户;

    #deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户

    #unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;

    #root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒

    作者简介: 
    陈志珂(头条号:强扭的瓜不好吃)公众号“铅笔学园”运维内容合作作者之一目前就职于中国最大的安卓应用软件公司,任高级工程师现在公司任php开发工程师,python开发工程师,高级运维工程师。
    铅笔学园IT资源分享|知识分享,做初级程序员的指明灯

  • 相关阅读:
    css3动画
    jquery和js进行添加样式
    网站基本了解
    新闻内容显示样式去除
    网页中常用的js特效
    手机和电脑同时兼容的网站
    使用repeter绑定数据的最高效率的方法
    常识(其他)
    OI暑假集训游记
    动态规划归纳(基础篇)
  • 原文地址:https://www.cnblogs.com/qianbixueyuan/p/9463730.html
Copyright © 2020-2023  润新知