偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

加強(qiáng)Linux防線,快速構(gòu)建異常登錄檢測(cè)與警報(bào)系統(tǒng)

系統(tǒng) Linux
本文將介紹如何編寫一個(gè) Shell 腳本,監(jiān)控Linux服務(wù)器的登錄異常并發(fā)送警報(bào)。

在管理和維護(hù)Linux服務(wù)器時(shí),安全是一個(gè)非常重要的方面。監(jiān)控登錄異常可以幫助管理員及時(shí)發(fā)現(xiàn)潛在的安全問題,比如多次失敗的登錄嘗試、來自未知IP的訪問等。本文將介紹如何編寫一個(gè)Shell腳本,監(jiān)控Linux服務(wù)器的登錄異常并發(fā)送警報(bào)。

工作場(chǎng)景

運(yùn)維工程師小張負(fù)責(zé)管理公司的多臺(tái)Linux服務(wù)器。為了確保服務(wù)器的安全性,小張需要定期監(jiān)控服務(wù)器的登錄記錄,尤其是關(guān)注異常的登錄行為,例如多次失敗的登錄嘗試或者來自不常見IP地址的登錄。通過自動(dòng)化腳本,小張可以及時(shí)獲取異常登錄的警報(bào),從而采取必要的安全措施。

腳本功能概述

我們將編寫一個(gè)Shell腳本,實(shí)現(xiàn)以下功能:

  • 定期檢查系統(tǒng)日志,獲取登錄失敗的記錄。
  • 識(shí)別多次失敗的登錄嘗試和來自未知IP的登錄,并查詢這些IP的歸屬地
  • 將異常情況記錄到日志文件。
  • 把告警信息推送到釘釘群。

準(zhǔn)備工作

在開始編寫腳本之前,需要在釘釘群創(chuàng)建一個(gè)機(jī)器人,機(jī)器人的類別選擇webhook,如下圖所示:

目前釘釘webhook強(qiáng)制要求了加簽、關(guān)鍵字 、IP,3選一,關(guān)鍵字最簡(jiǎn)單,如下圖所示:

關(guān)鍵字的作用是你發(fā)送的消息體一定要包括關(guān)鍵字才能觸發(fā)。

執(zhí)行下面代碼測(cè)試機(jī)器人是否配置成功。

curl "https://oapi.dingtalk.com/robot/send?access_token=你的密鑰" -H 'Content-Type: application/json'  -d '{"msgtype": "text","text": {"content":"監(jiān)控報(bào)警:異常登錄"}}'

成功執(zhí)行,會(huì)在釘釘群上看到如下圖消息:

編寫監(jiān)控腳本

該腳本主要用于監(jiān)控 Linux服務(wù)器的登錄日志文件 以檢測(cè)登錄失敗的情況,并將告警信息發(fā)送到釘釘。當(dāng)檢測(cè)到關(guān)鍵詞pam_unix(sshd:auth): authentication failure時(shí),腳本提取日志中的IP地址和用戶名。然后,通過調(diào)用ipinfo.io API 查詢?cè)揑P地址的歸屬地信息(包括國(guó)家、城市和地區(qū)),并將這些信息準(zhǔn)備發(fā)送到釘釘。

(1) 設(shè)置日志文件路徑和釘釘WebHook URL

LOG_FILE="/var/log/auth.log"
WEBHOOK_URL="https://oapi.dingtalk.com/robot/send?access_token=you_token"

(2) 定義關(guān)鍵詞,用于檢測(cè)登錄失敗。

KEYWORD="pam_unix(sshd:auth): authentication failure"

(3) 實(shí)時(shí)監(jiān)控日志文件

tail -Fn0 "$LOG_FILE" | while read line ; do

(4) 檢查是否包含關(guān)鍵詞

echo "$line" | grep "$KEYWORD" &> /dev/null
if [ $? = 0 ]
then

(5) 提取IP地址和登錄用戶名

IP=$(echo "$line" | awk '{for(i=1;i<=NF;i++){if($i ~ /rhost=/){print $i}}}' | cut -d '=' -f 2)
USER=$(echo "$line" | awk '{for(i=1;i<=NF;i++){if($i ~ /^user=/){print $i}}}' |cut -d '=' -f 2)

(6) 查詢IP的歸屬地信息

location=$(curl -s ipinfo.io/$IP | jq -r '" Country: \(.country), City: \(.city), Region: \(.region)"')

(7) 構(gòu)建消息內(nèi)容

    PAYLOAD=$(cat <<-EOF
{       
"msgtype": "markdown",
"markdown": {
"title":"監(jiān)控報(bào)警:異常登錄",
"text":"
##### Linux服務(wù)器監(jiān)控報(bào)警:異常登錄 \n
>  ##### <font color=#67C23A> 【登錄用戶】</font> :<font color=#FF0000> $USER</font>
>  ##### <font color=#67C23A> 【登錄IP】</font> :<font color=#FF0000> $IP </font> 
>  ##### <font color=#67C23A> 【IP歸屬地】</font> :<font color=#FF0000> $location </font> 
>  ##### <font color=#67C23A> 【告警時(shí)間】</font> :<font color=#FF0000> $(date +"%Y-%m-%d %H:%M:%S") </font> 
"
}
}
EOF
    )

(8) 把告警信息推送到釘釘

curl -s -H "Content-Type: application/json" -d "$PAYLOAD" "$WEBHOOK_URL" &>/dev/null

腳本使用

在要監(jiān)控的服務(wù)器上新建一個(gè)名為monitor_login.sh,把腳本內(nèi)容復(fù)制到文件中如下圖:

并為腳本賦予執(zhí)行權(quán)限,如下:

運(yùn)行如下命令,啟動(dòng)腳本:

root@didiplus:/home# ./monitor_login.sh

在另外一臺(tái)機(jī)器上模擬登錄失敗,這時(shí),監(jiān)控服務(wù)器會(huì)出現(xiàn)如下圖所示:

然后,在釘釘群上可以看到如下告警信息:

總結(jié)

通過上述腳本,運(yùn)維人員可以有效地監(jiān)控Linux服務(wù)器的登錄異常情況,及時(shí)發(fā)現(xiàn)并處理潛在的安全問題。該腳本通過解析系統(tǒng)日志,識(shí)別多次失敗的登錄嘗試和來自未知IP的登錄,并通過釘釘方式通知管理員,實(shí)現(xiàn)了對(duì)登錄異常的實(shí)時(shí)監(jiān)控。希望這篇教程能幫助到你,提高服務(wù)器的安全管理水平。

責(zé)任編輯:趙寧寧 來源: 攻城獅成長(zhǎng)日記
相關(guān)推薦

2010-01-08 12:13:09

ibmdwDB2

2017-05-04 08:00:54

2023-11-21 08:57:16

2024-05-17 10:00:52

系統(tǒng)監(jiān)控日志記錄性能指標(biāo)

2019-10-29 20:42:50

物聯(lián)網(wǎng)技術(shù)操作系統(tǒng)

2024-04-07 09:49:18

OpenAINATSStreamlit

2023-11-22 09:42:02

系統(tǒng)檢測(cè)

2024-10-29 16:18:32

YOLOOpenCV

2011-03-22 16:28:59

2012-11-05 13:59:12

WebFdSafeJS

2023-07-06 09:53:39

2009-03-03 12:54:58

2014-09-03 11:26:11

2009-09-29 10:39:04

Linuxlinux系統(tǒng)性能檢測(cè)

2009-11-30 10:50:24

Suse Linux

2009-09-04 10:21:00

2009-06-25 08:54:27

Linux操作系統(tǒng)

2021-11-26 14:59:02

異常檢測(cè)網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)威脅

2011-01-18 11:31:37

2013-05-06 17:08:00

Linux操作系統(tǒng)異常處理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)