前几天给服务器加了个 SSH 登录示警脚本,避免被偷家了还没发现。
首先要在 PC 端飞书操作,在群里面添加 webhook 机器人,然后复制 webhook 地址
在 /etc/profile.d/
新建 ssh_login.sh
,把内容复制进去就行了
#!/bin/bash
#获取相关登陆信息
hostname=`hostname`
project_name='{ 项目名称 }'
user=`whoami`
_ip=`who am i |awk -F '[()]' '{print $2}'`
_time=`date '+%Y年%m月%d日%H:%M:%S'`
#查询登陆地址并返回相应信息
ip_res=`curl -q -s https://api.ipapi.is/?ip=$_ip`
country=`echo $ip_res | jq -r '.location.country'`
province=`echo $ip_res | jq -r '.location.state'`
city=`echo $ip_res | jq -r '.location.city'`
isp=`echo $ip_res | jq -r '.company.name'`
addr=`echo $country'/'$province'/'$city`
function SendMessageToFeishu(){
#飞书机器人接口地址
url="{飞书 Webhook 地址}"
res=`curl -X POST -s -L -H "Content-Type:application/json" -H "charset:utf-8" $url -d "{\"msg_type\":\"interactive\",\"card\":{\"elements\":[{\"tag\":\"div\",\"fields\":[{\"is_short\":true,\"text\":{\"tag\":\"lark_md\",\"content\":\"**项目名称:** $1\n**主 机 名:** $2\n**登陆用户:** $3\n**登 陆 IP:** $4\n**IP归属地:** $5\n**运 营 商:** $6\n**登陆时间:** $7\"}}]},{\"tag\":\"note\",\"elements\":[{\"tag\":\"plain_text\",\"content\":\"如非本人操作,请立即修改登录密码,以确保服务器安全。\"}]},{\"tag\":\"note\",\"elements\":[{\"tag\":\"plain_text\",\"content\":\"💡 [机密] 请注意信息安全,严禁外传\"}]},{\"tag\":\"column_set\",\"flex_mode\":\"none\",\"background_style\":\"default\",\"columns\":[]}],\"header\":{\"template\":\"red\",\"title\":{\"content\":\"【告警】SSH登录通知\",\"tag\":\"plain_text\"}}}}"`
#显示推送结果
#echo $res
}
#调用函数
SendMessageToFeishu "$project_name" "$hostname" "$user" "$_ip" "$addr" "$isp" "$_time"