安全运维-基于钉钉实现登录服务器的消息提醒

前言

近期看了一些安全文章,也做了一些服务器的渗透。深刻发现,企业的服务器,多么脆弱。如何提高服务器安全性,我一直在苦苦思考。安全是一个整体,我们需要一点点来提高。今天这篇文章来记录下我们 是如何提供访问服务器的消息提醒。

问题

作者我主要使用的Linux服务器,安装的系统是centos7. 服务器的访问一直是心头大患。虽然我的密码很复杂,但是我还是担心被黑客爆破了。 与其天天这样担心,不如我来安装个监控,监视下每天登录服务器的用户。

解决

  • 注册个钉钉机器人。
32778-dd120dc0357a1241.png
image.png
  • 编写脚本

只需要修改脚本中钉钉地址即可。 其他文字,可以自定义修改。

#!/bin/bash
#获取登录者的用户名
user=$USER
#获取登录者的IP地址
ip=${SSH_CLIENT%% *}
#获取登录的时间
time=$(date +%F%t%k:%M)
#服务器的IP地址
server='xxxxxxx.xxxxx.xxxxx.xxxx'


function SendMessageToDingding(){

#你钉钉机器人的地址。
local url="https://oapi.dingtalk.com/robot/send?access_token=你钉钉机器人的token"

local UA="Mozilla/5.0(WindowsNT6.2;WOW64)AppleWebKit/535.24(KHTML,likeGecko)Chrome/19.0.1055.1Safari/535.24"

local res=`curl -XPOST -s -L -H"Content-Type:application/json" -H"charset:utf-8" $url -d"{\"msgtype\":\"text\",\"text\":{\"content\":\"$1\n$2\"}}"`

}
SendMessageToDingding "服务器登录告警" "时间 $time,用户 $user,用户地址 $ip,服务器地址 $server"

写入文件 /etc/ssh/sshrc 即可。

注意该文件需要root权限写入。

  • 最后的效果
32778-7c56529933b62a29.png
image.png

现在你放心了,有任何登录,你都会收到消息。再也不用提心吊胆了。

注意

上面的脚本不能有任何 输出内容,否则在使用sftp时会引发下面的问题。
linux Received message too long (or "Bad packet length")

我当时脚本中输出了下钉钉机器人返回的消息,导致sftp无法工作,而我的jenkins自动部署使用sftp,因此自动部署的服务也罢工了。

猜你喜欢

转载自blog.csdn.net/weixin_34119545/article/details/87567661