安全運維
工作也好幾年了,在這摸爬滾打中,遇到了服務器被黑,網站被人DDOS攻擊,數據庫被篡改等等。服務器也不是你說不讓人上就不讓人上的,所以IT安全這個話題還是比較沈重的,涉及的東西很多,只有你了解得更多,你才會知道你所了解的安全其實是那麽少。
1、網絡安全
我們很多的公司和環境並未使用第三方審計系統,未能根據記錄數據進行分形,並生成審計報表。其實審計系統是很重要的,可以進行操作溯源,這可比你一張嘴說的話有用多了。我所在的公司其實是買了一臺日誌審計系統,但是然並卵,在運維方面,我搭建了ELK,用於對服務器的操作溯源以及監控系統日誌和安全日誌,這個已經完全達到我想要的效果,另外的系統相關的日誌,開發人員自己也有ELK系統,他們是用來監控app裏面的行為操作,也是用於審計的。
其實網絡安全範圍很廣,還有比如說你可以將設備驚醒ARP綁定,那就可以避免arp攻擊等,也可以購買入侵檢測設備、入侵防禦設備,防火墻等,網絡設備定期修改密碼,網絡設備配置鑒別失敗登錄處理功能,配置操作超時等功能,盡量使用https協議加密傳輸。
除上述以外,應定期自檢(漏洞掃描、弱口令掃描、基線配置信息等),對主機的端口、弱口令、安全漏洞進行掃描和發現,對已知業務應用漏洞進行掃描和發現,對已知木馬進行掃描和發現,對掃描結果進行分析和提交,促進業務安全性管理和安全問題的解決
2、主機安全
在現在大多數的公司中,操作系統未安裝主機入侵檢測系統,未能檢測到對重要服務器進行入侵的行為,能夠記錄攻擊者的源IP、攻擊類型、攻擊目標、攻擊時間等,未能夠在發生嚴重入侵事件時提供報警。很多人說,這個需要購買硬件WAF或者入侵防禦設備,這個的確是個不小的花銷,一般的公司估計也買不起,像我們,也買不起。但是並不是說我們毫無辦法。我們可以在操作系統安裝實時檢測與查殺惡意代碼的軟件產品,對惡意代碼實時檢測與查殺,如OSSEC和 HIDS等,這些產品都是免費開源的。
主機安全還包括系統配置安全、驗證安全等等。就比如操作系統提供身份鑒別措施、配置鑒別失敗處理功能(也就是登錄嘗試失敗次數,這個可以有效防止惡意破解)、加強口令復雜度要求,在原基礎上還應不含有常用字符組合、數字組合、鍵盤順序等可預測密碼組合、重要服務器用使用資源強制訪問控制策略(如用戶、進程、文件內核級保護)、應限制默認賬戶的訪問權限,修改這些賬戶的默認口令,條件允許下,應重命名默認賬戶;
3、應用安全
a)、建議應用系統采用了兩種或兩種以上的組合機制進行用戶身份鑒別;
b)、建議應用系統對賬號口令復雜度進行限制,口令長度限制為8-20位;要求口令為數字、字母字符至少兩種組合,限制口令周期不大於半年;
c)、建議應用系統啟用登錄失敗處理功能,限制次數不大於5次,並且對登錄失敗用戶進行帳號處理;
d)、建議應用系統應啟用用戶身份鑒別信息復雜度要求和登錄失敗處理功能;
e)、建議應用系統對重要信息資源設置敏感標記,系統不支持設置敏感標記的,應采用專用安全設備生成敏感標記,用以支持強制訪問控制機制;
f)、建議應用系統開啟安全審計功能,安全審計範圍覆蓋到每個用戶以及其相關操作;
g)、建議應用系統開啟安全審計功能,且審計功能不能中斷和安全記錄非管理員無法刪除、修改或覆蓋;
h)、建議限制應用系統一段時間的並發會話連接數;
i)、建議應用系統限制一個訪問賬號或一個請求進程的最大限額;
j)、建議應用系統提供服務優先級設定功能,根據安全策略設定訪問帳戶或請求進程的優先級,根據優先級分配系統資源配置;
4、數據安全及備份恢復
a)、建議提供異地數據備份功能,利用通信網絡將關鍵數據定時批量傳送到備用場地;
b)、建議提供主要網絡設備、通信線路和數據處理系統的硬件冗余,保證系統的高可用性;
c)、數據的開發、測試環境如果要導入生產數據,則需要指定數據脫敏流程,將敏感的個人信息,如銀行卡、手機號等信息做脫敏;
d)、數據的訪問要有嚴格的流程,非運維人員如要訪問數據,在走完權限申請流程後,可以給予他讀取的權限,但是不能給他將數據備份至本地的權限,該操作可以通過windows堡壘機進行權限限制,通過管理員將該人員的剪貼板禁用即可;
e)、數據庫一年要升級一次,即使你的數據庫是放在內網的,但是你不能保證你們開發人員的代碼不會被入侵,只要代碼被入侵,或者被植入後門,就可以通過你的程序掃描到數據庫。數據庫的漏洞可不止一兩個,基本上一年下來,一個穩定版本的數據庫可以有30個左右的高危漏洞,50個左右的中危漏洞,這些個漏洞,你靠打補丁的方式根本不是解決辦法,最好的方式還是升級到數據庫最新版本前一個穩定版;
5、web業務安全
a)、應設置合理的會話超時閥值,在合理範圍內盡可能減小會話超時閥值,可以降低會話被劫持和重復攻擊的風險,超過會話超時閥值後立刻銷毀會話,清除會話的信息;
b)、應限制會話並發連接數,限制同一用戶的會話並發連接數,避免惡意用戶創建多個並發的會話來消耗系統資源,影響業務可用性;
c)、應確保敏感信息通信信道的安全,建議在客戶端與web服務器之間使用SSL。並正確配置SSL,建議使用SSL3.0/TLS1.0以上版本,對稱加密密鑰長度不少於128位,非對稱加密密鑰長度不少於1024位,單向散列值位數不小於128位;
d)、日誌記錄範圍應覆蓋到每個用戶的關鍵操作、重要行為、業務資源使用情況等重要事件。如普通用戶異常登錄、發布惡意代碼、異常修改賬號信息等行為,以及管理員在業務功能及賬號控制方面的關鍵操作;
e)、Web程序上線前或升級後應進行代碼審計,形成報告,並對審計出的問題進行代碼升級完善;
f)、應禁止明文傳輸用戶密碼,建議采用SSL加密隧道確保用戶密碼的傳輸安全;
g)、應對關鍵業務操作,例如修改用戶認證鑒權信息(如密碼、密碼取回問題及答案、綁定手機號碼等),需要經過二次鑒權,以避免因用戶身份被冒用,給用戶造成損失;
h)、應避免認證錯誤提示泄露信息,在認證失敗時,應向用戶提供通用的錯誤提示信息,不應區分是賬號錯誤還是密碼錯誤,避免這些錯誤提示信息被攻擊者利用;
i)、應支持密碼策略設置,從業務系統層面支持強制的密碼策略,包括密碼長度、復雜度、更換周期等,特別是業務系統的管理員密碼;
j)、應支持賬號鎖定功能,系統應限制連續登錄失敗次數,在客戶端多次嘗試失敗後,服務器端需要對用戶賬號進行短時鎖定,且鎖定策略支持配置解鎖時長;
k)、應采取會話保護措施防止軟件與服務器之間的會話不可被篡改、偽造、重放等;
安全運維