安全運維之埠安全

2021-09-04 16:11:05 字數 3835 閱讀 3231

兼職安全半年了,分享一下我這裡是如何做安全的,當然作為兼職,不是太深入,進攻參考。

下面介紹埠安全,主要是公司idc機房所有ip段開放埠情況,比如乙個伺服器,預設僅要求開放ssh埠,但如果開啟了其他未允許埠,可能是被人誤開或者被***,這樣就需要運維提前知曉並解決。

如何實現:

1、使用nmap+diff來對公司所有idc,

進行埠掃瞄;

2、當天的掃瞄結果與昨天掃瞄的結果進行對比;

3、如果新增主機或已存在主機有新增與關閉埠的情況,也進行郵件通知。

結果展示:

1、沒有差異的情況

2、有新增主機情況

3、已存在主機有新增或關閉埠情況

下面是埠安全掃瞄指令碼內容:

#!/bin/bash

#this script name is scan_analyse.sh

. /etc/profile

echo "start time is $(date)"

time=$(date +"%y-%m-%d")

yesterday=`date -d "1 day ago " +"%y-%m-%d"`

work_dir="/root/nmap_scan"

now_dir="$work_dir/scan_result/$time"

ip='1.1.1.0/24'

contact_mail='[email protected]'

rm -rf $now_dir

if [ ! -d "$work_dir/scan_result/$time" ];then

mkdir -p $work_dir/scan_diff_result/$time

firm -rf $work_dir/scan_diff_result/$time/result.log

ip_32=`echo $ip|cut -d . -f 1-3`

if [ ! -d $now_dir/$ip_32 ];then

mkdir -p $now_dir/$ip_32

fifor i in 

donmap -ss -r -n $ip_32.$i |egrep -v "(starting|scanned)"|egrep "(nmap|open)" >$now_dir/$ip_32/$ip_32.$i

if [ `cat $now_dir/$ip_32/$ip_32.$i|wc -l` -eq 1 ];then

rm -rf  $now_dir/$ip_32/$ip_32.$i

fidone

echo "stop time is $(date)"

for b in $ip_32 

dofor i in $(ls $now_dir/$b)

doif [ ! -f "$work_dir/scan_source/$b/$i" ];then

echo "增加新主機 $i,下面是全部資訊:">>$work_dir/scan_diff_result/$time/result.log

if [ `cat $now_dir/$b/$i|wc -l` -gt 100 ];then

echo "開啟了所有埠,懷疑是有nat或者負載均衡!">>$work_dir/scan_diff_result/$time/result.log

else

cat $now_dir/$b/$i>>$work_dir/scan_diff_result/$time/result.log

fielse

if [ `diff -u $now_dir/$b/$i $work_dir/scan_source/$b/$i|egrep -v "(\-\-\-|\+\+\+|@@)"|egrep "(nmap|\-|\+)"|wc -l` -gt 100 ];then

head -n 1 $now_dir/$b/$i>>$work_dir/scan_diff_result/$time/result.log

echo "開啟了所有埠,懷疑是有nat或者負載均衡!">>$work_dir/scan_diff_result/$time/result.log

else

diff -u $now_dir/$b/$i $work_dir/scan_source/$b/$i|egrep -v "(\-\-\-|\+\+\+|@@)"|egrep "(nmap|\-|\+)"|sed -e 's# nmap scan report for#掃瞄主機#g'|sed -e 's#^+#關閉了 #g' -e 's#^-#開啟了 #g'>>$work_dir/scan_diff_result/$time/result.log

fifidone

done

if [ `cat $work_dir/scan_diff_result/$time/result.log|wc -l` -eq 0 ];then

echo "今日一切正常,沒有變化的埠!"|mail -s "【$time】所有idc機房差異埠掃瞄結果" $contact_mail

else

cat $work_dir/scan_diff_result/$time/result.log|mail -s "【$time】所有idc機房差異埠掃瞄結果" $contact_mail

firm -rf $work_dir/scan_source/

cp -a $work_dir/scan_result/$time  $work_dir/scan_source

if [ $? -eq 0 ];then

echo "執行完成,操作成功!"

else

echo "執行完成,操作失敗!"

fi

請修改ip與contact_mail就可以

結構:

12:55:17 # tree /root/nmap_scan/

/root/nmap_scan/

|-- scan_diff_result       #今天與昨天掃瞄對比結構

|   `-- 2014-06-23         #當天的目錄

|       `-- result.log     #對比結果內容

|-- scan_result            #存放今天掃瞄的結果

|-- scan_shell             #存放掃瞄指令碼

|   `-- scan_analyse.sh    #安全埠掃瞄指令碼

`-- scan_source            #昨天掃瞄結果,作為與今天對比的源    

5 directories, 2 files

使用方法:

1、先執行此指令碼

建立指令碼目錄

mkdir -p /root/nmap_scan/scan_shell
然後把指令碼放到此目錄裡,這樣的目的是生成對比的原始檔,以後的掃瞄都是跟這個原始檔做對比。

2、使用crontab執行指令碼

30 01 * * * /bin/bash /root/nmap_scan/scan_shell/scan_analyse.sh >>/tmp/scan.log 2 >&1
這樣就可以每天凌晨1:30執行指令碼。

這樣只需要每天看郵件就能知道所有idc機房裡所有ip段,哪些主機有新增或者關閉埠,及時進行解決。

運維安全之入侵檢測

檢視系統日誌 檢視安全相關日誌 ssh遠端登入失敗日誌 grep i failed var log securessh遠端登入成功日誌 grep i accepted var log secure統計登入成功或登入失敗的ip,並進行去重降序排列 grep i accepted var log sec...

遠端運維安全

當你要對雲環境進行運維的時候,安全方面該做些什麼?是否會感覺到無從下手?本認證課程旨在幫助學員了解雲環境下的運維安全的主要概念和原則 常用的運維安全預防措施,以及掌握堡壘機和vpn配置方法,來進行對雲環境進行安全的遠端運維。關於遠端運維安全的詳細教程 apsara clouder雲安全專項技能認證 ...

遠端運維安全

當你要對雲環境進行運維的時候,安全方面該做些什麼?是否會感覺到無從下手?本認證課程旨在幫助學員了解雲環境下的運維安全的主要概念和原則 常用的運維安全預防措施,以及掌握堡壘機和vpn配置方法,來進行對雲環境進行安全的遠端運維。關於遠端運維安全的詳細教程 apsara clouder雲安全專項技能認證 ...