如何做好日常運維的安全工作



一、主動與被動發現漏洞


這裏的主動是指安全工程師主動去做的事情,而被動並不是被動挨打,而是積極去獲取信息,積極防禦。

因爲***之間信息不對稱,很多***、利用方式及漏洞安全工程師不一定能第一時間獲取到信息

就導致了服務器被黑,出現被上傳webshell無外乎這集中情況:


使用開源程序出現高危漏洞被***者上傳webshell,服務器配置錯誤導致***者利用運維缺陷上傳webshell

程序員編寫代碼存在諸如sql注入、文件包含,命令執行問題被***者發現並利用導致被上傳webshel

那是不是說作爲防禦者我們就一定是被動挨打的呢?答案當然是否定的

如果運維安全做的好的情況下,會在服務器上線初期做安全檢查將加固服務做成加固基線包

後期邀請外部人員進行***測試來檢查企業安全情況,安全基礎就牢靠。

從主動來說,企業可以通過這些辦法來將***者的想法消滅在萌芽之中。


1、積極主動的做好對系統加固工作,堅決消滅弱口令、回收外網默認管理後臺
    (能回收的回收,不能回收的做好訪問控制),對諸如tomcat、jboss、resin之類的服務器做好加固
    避免出現弱口令,因爲互聯網上每時每刻都有人來通過這幾種服務來抓肉雞。
   
2、對於漏洞的修復不能只僅限於加固還要主動去發現,需要定期對生產環境和web進行掃描
    其中外網端口掃描需要結合資產進行,如果不能結合資產,掃描的結果會差強人意。
   
3、對企業所使用的開源程序另外諸如webserver、第三方中間件都有深入瞭解
     並關注這些app近期存在安全風險:比如struts漏洞
     如果能早發現事情也可控制(通過關注烏雲、微博等來及時獲取信息)
     其次是權限控制,在struts漏洞中,使用root運行的struts2
     受影響最嚴重而運行權限爲tomcat之類的較輕,較輕不是說不被***
     而是***者沒有權限對服務器來做更進一步操作比如rm -rf /,所以對於權限的控制也需要考慮到加固中去
     
4、被動發現漏洞可以依靠對烏雲等平臺的漏洞提交來預測可能爆發的漏洞情況
     並且結合第3點對應用做檢測,如果發現漏洞了則快速修復,將不會到被***者上傳webshell的情況


二、監控爲主分析爲輔


監控的重要性不需要在陳述,在城市的各個角度都有監控攝像頭,監控的作用是屬於事中或者事後階段

舉個例子,某人犯罪如果沒有監控的情況下,無法追溯,這時候如果有監控的話就可以對其行爲做分析和追溯。


舉一反三,在企業安全防護方面也可以這樣做,通過部署ossec之類的行爲監控,對***者的行爲做檢測

比如對於webshell的檢測來說,更關注”行爲”,啥叫行爲呢,你的一舉一動都是行爲,上傳了文件,修改了權限

刪除了權限這些都該被記錄下來,而類似ossec之類的監控工具可以做到,當然你也可以編寫腳本來對目錄做實時檢測

分析爲輔,可以從多點上來結合,比如***者對於網站的注入行爲,都會觸發記錄,記錄到log裏,***者對ssh的

掃描行爲,都會被記錄到日誌裏,而這些都可以用作對***者的行爲分析,更超前一些惡意的掃描都可以算作是行爲

並且這些行爲都是可以分析和追溯***者的,其次日誌需要備份到遠程,並且可以利用大數據日誌分析利器splunk

來對日誌分析,備份到遠程也導致了***者刪除本機日誌時能被追溯到。對於webshel檢測來說,可以從日誌裏進行

分析,因爲任何***者的操作都會在日誌裏顯現記錄,這時候只要有足夠的日誌分析能力就可以對產生的webshell

揪出來,使***者無處遁形。


最後說說運維安全,運維安全工作本來其實是工作範疇的事,但運維做不好這部分工作或者說大多數運維對安全

的理解並不深入,所以企業有了運維安全這個職位,或者你可以把它叫做安全運維

運維安全需要有較寬的知識面來撐起企業安全的一片天。


有一個朋友是做遊戲的,他告訴我他們公司關於ssh安全方面就有五層驗證!

好吧,可能對於一些不是很注重安全的運維小夥伴來說,弄那麼複雜幹嘛?

甚至有的公司直接root登陸(很危險), 甚至有的ssh默認端口都不改

我個人認爲不一定安全做的那麼多

(當然要根據公司業務具體環境具體來定)但起碼一些基本的安全方面要做到位!


下面是我多年實戰個人總結一些方法,介紹並分享給大家!


三、常用的服務器安全方面的措施


1、硬防火牆。

      通過硬件防火牆acl策略也決定是否可以訪問某臺主機

2、軟防火牆    [常用]

      比如iptables,tcpwrappers,防護軟件等,內部對主機進一步進行限制

3、修改默認的ssh端口    [必用]

      默認是22,建議改成五位。

4、密碼要符合複雜性要求,防止暴力破解   [必用]

      避免ssh暴力破解,建議密碼稍微複雜一些,符合四分之三原則!

5、禁止root登陸             [必用]

      禁止root遠程ssh登錄

      在/etc/ssh/sshd_config設置:PermitRootLogin no:

      禁止root本機登錄(根據具體環境,這個不是很必要)

      將 auth required pam_succeed_if.so user != root quiet

      添加到/etc/pam.d/login 文件第一行

6、禁止密碼登陸            [常用]

      刪除不必要的賬號,並禁止用戶密碼登陸

 7、公鑰私鑰認證            [常用]

      通過公鑰私鑰rsa2048,並設置複雜性密碼

 8、LDAP等方式統一認證登陸    

      通過對ssh賬號集中化管理,進一步提升安全

9、對secure日誌進行日誌切割,通過腳本,對於不安全的訪問ip進行過濾並報警

      secure日誌記錄着用戶遠程登陸的信息,可通過查看此日誌排查不安全因素。

10、搭建日誌服務器,對secure日誌進行監控。排查不安全因素

       一個好的日誌服務器,可大大減輕管理員的工作,並方便管理。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章