zoukankan      html  css  js  c++  java
  • linux服务器登录微信报警通知

    linux服务器ssh登录安全规则中,理论上要做到:防火墙限制,hosts.allow限制,root禁止登录,用户权限分配,ssh端口修改,登录时间限制,堡垒机登录。

    这里只讲登录时间限制和登录报警通知

    登录超过10分钟无操作自动断开链接:

    在/etc/profile.d/中新建脚本autologout.sh,内容如下:

    TMOUT=600
    readonly TMOUT
    export TMOUT
    

    这样,用户超过600秒无操作就会断开链接。

    登录报警:

    在/etc/profile最后一行追加

    /bin/bash /tmp/login.sh
    

    这样,每个用户登录时候就会加载系统配置,发送微信通知我

    weixin.sh脚本内容如下

    #!/bin/bash
    # -*- coding: utf-8 -*-
    ###SCRIPT_NAME:weixin.sh###
    ###send message from weixin for monitoring###
    ###V1-2017-09-05
    sender(){
    ip=`curl ip.sb`
    message="用户`whoami`成功从`who am i |awk -F '[()]' '{print $2}'`登录${ip}_`hostname`服务器,时间`date '+%Y-%m-%d-%H:%M:%S'`"
    
    CropID='企业微信应用id'
    Secret='企业微信应用id密码'
    GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
    Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F " '{print $10}')
    PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
    function body() {
    	local int AppID=1          # 企业号中的应用id
    	local UserID=$1            # 部门成员id,zabbix中定义的微信接收者
    	#local PartyID=$2          # 部门id,定义了范围,组内成员都可接收到消息
    	#local Msg="hello" # 过滤出zabbix中传递的第三个参数
    	printf '{
    '
    	printf '	"touser": "'$UserID'",
    '
    	#printf '	"toparty": "$PartyID",
    '
    	printf '	"msgtype": "text",
    '
    	printf '	"agentid": "'$AppID'",
    '
    	printf '	"text": {
    '
    	printf '		"content": "'$message'"
    '
    	printf '	"safe":"0"
    '
    }
    curl --data-ascii "$(body $1)" $PURL 1 > /dev/null 2>&1
    printf '
    '
    }
    

    在编写一个login.sh脚本调用weixin.sh脚本

    下面这个方法不是很好,应该判断是否从A,B,C这些ip访问的服务器。如果不是从这些ip访问的服务器代表这被入侵了。

    但是公司网络没有固定ip,服务器太少跳板机成本大一点。所以用下面方法。

    #!/bin/bash
    hour=`date '+%H'`
    week=`date '+%w'`
    #如果是19点到10点之间则发送通知
    if [ $hour -ge 18 ] || [ $hour -lt 9 ];then
        /bin/bash /tmp/weixin.sh guoyabin 1 > /dev/null 2>&1
    fi
    #如果是周67 则发送通知
    if [[ $week > 5 ]];then
        /bin/bash /tmp/weixin.sh guoyabin 1 > /dev/null 2>&1
    fi
    

      

    收到微信通知

  • 相关阅读:
    中科院大牛博士是如何进行文献检索和阅读(好习惯受益终生)(转载)
    大家平常都喜欢看哪些人的博客,共享…… ZZ (水木)
    heart ultrasound from american society of echocardiography
    用TWaver实现组合的Chart
    Hello TWaver Android
    关注细节-TWaver Android
    TWaver Java内存占用测试
    TWaver Android 概述
    机器学习中的相似性度量
    最大熵模型(一)
  • 原文地址:https://www.cnblogs.com/guoyabin/p/12023237.html
Copyright © 2011-2022 走看看