国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

腳本實現SSH登錄郵件報警

2019-10-26 18:46:43
字體:
來源:轉載
供稿:網友

登錄保護是一個非常重要的環節,下面通過圖文并茂的方式給大家詳細講解下:


前兩天@cyy 給我發了一個圖

然后我就想到USHQ的ssh登錄app通知功能,然后就像如果把這個部署到自用的服務器就好了。至少多一層安全系數。

首先要感謝@Legion 幫忙搞定了幾個錯誤以及搞定了Geo2IP的JSON轉換。 (P.S.此人為自動化運維大神級人物,現任職于德國一數據統計企業。)

當然,我和他相比我就是戰五渣了...大家一定要多向 @Legion 學習啊~~

說下需要做的準備:

sendmail或者Postfix
php
bash
CentOS/Debian/Ubuntu
若你的生產環境中沒有php sendmail Postfix等組件,請移步:

@Legion: Linux之使用shell腳本實現ssh登錄報警

參考文件

首先是報警腳本文件

Shell

#!/bin/sh########################################################################## File Name: Login-alert.sh# Author: Jason# Email: master#deamwork.com# Created Time: Tue Jul 21 2015 21:23:16 PM CST ##########################################################################require jq#wget http://stedolan.github.io/jq/download/linux64/jq -O /usr/local/bin/jq#chmod +x /usr/local/bin/jq#if error, please # following one#PATH=/usr/local/nginx/sbin:/usr/local/php/bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin#Geo2IP by Legion(http://www.dwhd.org/)eval `curl -s "http://ip.taobao.com/service/getIpInfo.php?ip=${SSH_CLIENT%% *}" | jq . | awk -F':|[ ]+|"' '{if($3~/^(country|area|region|city|isp)$/){print $3"="$7}}'`#html mail contentcat >> mail-no-base64.html <<EOF#請自行準備郵件模板,以下為可能用到的變量#輸出主機名 `hostname`#輸出登錄端口 ${SSH_CLIENT##* }#輸出登錄來源IP ${SSH_CLIENT%% *}#輸出IP地址歸屬地 {country}_${area}_${region}_${city}_${isp}#輸出登錄時間 `date`EOF#Base64 Encodingbase64 mail-no-base64.html > mail-base64.html#使用Sendmail#sendmail -t >/dev/null 2>&1 <<EOF#to:example@example.com#from:Example<example@example.com>#subject:[`hostname`]服務器登錄告警#`cat mail-no-base64.html`#EOF#使用postfix#cat >> mail.php <<EOF#<?php#/$to = "example@example.com";#/$subject = "[`hostname`]服務器登錄告警";#/$message = "`cat mail-base64.html`";#/$headers = "MIME-Version: 1.0" . "/r/n";#/$headers .= "Content-Type: text/html; charset=/"utf-8/"" . "/r/n";#/$headers .= "Content-Transfer-Encoding: base64" . "/r/n";#/$headers .= 'From: Example<example@example.com>' . "/r/n";#/$send = mail(/$to,/$subject,/$message,/$headers);#if(/$send){echo 'Mail Send Successful.';}else{echo 'Failed.';}#?>#EOF#使用 SMTP (require smtp-class.php)cat >> mail.php <<EOF<?phprequire("smtp-class.php"); /$smtpserver = "smtp.example.com";/$smtpserverport = 25;/$smtpusermail = "example@example.com";/$smtpemailto = "example@example.com";/$smtpuser = "example";/$smtppass = "password";/$mailsubject = "[`hostname`]服務器登錄告警";/$mailbody = "`cat mail-base64.html`";/$mailtype = "HTML";/$smtp = new smtp(/$smtpserver,/$smtpserverport,true,/$smtpuser,/$smtppass);/$smtp->debug = TRUE;/$smtp->sendmail(/$smtpemailto, /$smtpusermail, /$mailsubject, /$mailbody, /$mailtype); ?>EOFphp mail.phpyes y | rm mail-no-base64.html mail-base64.html mail.php            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 杭州市| 龙南县| 万源市| 阳新县| 扎兰屯市| 万年县| 炉霍县| 鲁山县| 沈丘县| 延安市| 鄂温| 建始县| 平定县| 蛟河市| 英超| 水城县| 万宁市| 夏邑县| 徐州市| 绍兴县| 双辽市| 星座| 湘乡市| 屏东市| 和平县| 丰镇市| 石林| 句容市| 西吉县| 石首市| 安图县| 彰武县| 南京市| 宁波市| 司法| 桦甸市| 兰溪市| 平阳县| 廉江市| 延安市| 来宾市|