Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

第 18 章 安全

目錄

18.1. 植入式攻擊入侵檢測解決方案
18.1.1. 什麼是植入式攻擊?
18.1.2. 為什麼駭客會在你的系統裡面植入木馬?
18.1.3. 什麼時候被掛馬?
18.1.4. 在那裡掛馬的?
18.1.5. 誰會在你的系統裡掛馬?
18.1.6. 怎樣監控植入式攻擊
18.1.6.1. 程序與數據分離
18.1.6.2. 監控檔案變化
18.1.6.3. 安裝日誌收集程序
18.1.7. 延伸閲讀

18.1. 植入式攻擊入侵檢測解決方案

18.1.1. 什麼是植入式攻擊?

什麼是植入式攻擊,通俗的說就是掛馬,通過各種手段將木馬上傳到你的系統,修改原有程序,或者偽裝程序是你很難發現,常住系統等等。

18.1.2. 為什麼駭客會在你的系統裡面植入木馬?

通常掛馬攻擊駭客都是有目的的很少會破壞你的系統,而是利用你的系統。

例如,使用你的網絡作DDOS攻擊,下載你的數據資料賣錢等等

18.1.3. 什麼時候被掛馬?

有時你到一家新公司,接手一堆爛攤子,俗稱“擦屁股”。這是中國是離職,中國式裁員,中國式工作交接.....的結果,各種奇葩等着你。

你接手第一項工作就是工作交接,最重要的工作可能就是檢查系統後門。通常工作交接少有積極配合的,全要靠你自己。

18.1.4. 在那裡掛馬的?

在我多年的工作中遇到過很多種形式掛馬,有基于Linux的rootkit,有PHP腳本掛馬,Java掛馬,ASP掛馬。通常駭客會植入資料庫瀏覽工具,檔案目錄管理工具,壓縮解壓工具等等。

18.1.5. 誰會在你的系統裡掛馬?

98%是駭客入侵,1%是內人干的,1%是開後門僅僅為了工作方便。

本文對現有的系統無能為力,只能監控新的入侵植入

18.1.6. 怎樣監控植入式攻擊

18.1.6.1. 程序與數據分離

程序包括腳本,變異檔案等等,通常是隻讀權限

數據是指由程序生成的檔案,例如日誌

將程序與數據分離,存放在不同目錄,設置不同權限, 請關注“延伸閲讀”中的文章,裡面有詳細介紹,這裡略過。

我們這裡關注一旦運行的程序被撰改怎麼辦,包括入侵進入與合法進入。總之我們要能快速知道那些程序檔案被修改。前提是我們要將程序與數據分離,才能更好地監控程序目錄。

18.1.6.2. 監控檔案變化

我使用 Incron 監控檔案變化

# yum install -y incron
# systemctl enable incrond
# systemctl start incrond
			

安裝日誌推送程序

$ git clone https://github.com/netkiller/logging.git
$ cd logging
$ python3 setup.py sdist
$ python3 setup.py install			
			

配置觸發事件

# incrontab -e
/etc IN_MODIFY /srv/bin/monitor.sh $@/$#
/www IN_MODIFY /srv/bin/monitor.sh $@/$#

# incrontab -l
/etc IN_MODIFY /srv/bin/monitor.sh $@/$#
/www IN_MODIFY /srv/bin/monitor.sh $@/$#
			

/srv/bin/monitor.sh 腳本

# cat /srv/bin/monitor.sh
#!/bin/bash
echo $@ | /usr/local/bin/rlog -d -H 172.16.0.10 -p 1220 --stdin						
			

/etc 與 /www 目錄中的任何檔案被修改都回運行/srv/bin/monitor.sh腳本,/srv/bin/monitor.sh腳本通過/usr/local/bin/rlog程序將檔案路徑數據發給遠程主機172.16.0.10。

18.1.6.3. 安裝日誌收集程序

$ git clone https://github.com/netkiller/logging.git
$ cd logging
$ python3 setup.py sdist
$ python3 setup.py install				
			

配置收集端連接埠,編輯檔案logging/init.d/ucollection

			
done << EOF
1220 /backup/172.16.0.10/incron.log
1221 /backup/172.16.0.11/incron.log
1222 /backup/172.16.0.12/incron.log
EOF
			
				

然後根據incron.log給相關管理人員發送郵件或短信警報等等,關於怎麼發郵件與短信不再本文談論範圍,有興趣留意我的官網。