安全文库

【技術分享】Linux主機加固丨如何優雅的控制系統權限?


【技術分享】Linux主機加固丨如何優雅的控制系統權限?

2017-09-18 16:20:22 閱讀:6248次 點贊(0) 收藏 來源: xmirror.cn

作者:懸鏡安全


【技術分享】Linux主機加固丨如何優雅的控制系統權限?

綜述


在日常業務運維中,經常會受到權限的困擾,給多了就違背了最小權限原則,造成系統出現一些安全隱患,給少了業務又無法正常進行,下面我們來看看如何優雅的控制系統權限,保證系統安全。

0x01修改應用版本信息


修改應用版本信息雖然和權限無關,但對應用可以起到一定的保護作用,本節我們以tengine為例,來介紹如何修改應用的版本信息。其他apache等方法類似。

1、修改配置文件隱藏版本信息

配置文件nginx.conf中http段添加server_tokens off,但此方法只能隱藏版本號,服務信息還是可以看到的。

配置如下圖所示。

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

2、要想修改的徹底,可以通過修改源碼進行隱藏,解壓縮tar包,修改$BASE_DIR/src/core/nginx.h文件。

修改前:

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

修改後:

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

編譯過程這裡不做介紹,編譯后運行效果如下圖所示,可以看到http頭中服務和版本信息都已經修改。

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

0x02構建受限的shell環境


有時候我們想限制用戶登錄后的行為,讓用戶在一個受限的shell環境操作,這裡我們介紹如何利用lshell來快速實現,lshell提供了一個針對每個用戶可配置的限制性shell,配置文件非常的簡單,可以很容易的嚴格限制用戶可以訪問哪些目錄,可以使用哪些命令,同時可以對非法操作進行日誌記錄。

安裝過程不做介紹,yum安裝后配置文件路徑為/etc/lshell.conf。 主要的配置項有logpath:配置日誌路徑、allowed:允許執行的命令、forbidden:禁止使用的字符或者命令、path:只允許訪問的路徑、env_vars:環境變量。

配置好后,修改你想要限制的用戶shell,

chsh -s /usr/bin/lshell $USER_NAME

,或者vipw直接修改。日誌目錄需要手工創建並賦權。

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

配置如上圖所示,只允許使用的命令為:ls、echo、cd、ll,只允許訪問的路徑為/home/tomcat/、/usr、/etc、/tmp、/opt。 在受限shell下進行操作,可以看到不允許的操作被禁止。

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

日誌記錄

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

應用場景可以有很多,大家根據自己的實際業務環境靈活應用。

注意:千萬不要把bash、sh等命令允許,一旦允許這些命令,該用戶就可以逃逸出lshell的受限環境了。

0x03 linux ACL


linux默認的3種基本權限(rwx)以及3種特殊權限 (suid,sgid,sticky)在平常情況下做適當調整即可,但是如果出現多個組多個用戶情況下對某些文件或目錄做權限配置就會發現不夠分配,所以為了解決此類情況linux內核出現了acl(訪問控制列表)模塊來進行分層管理。

使用acl前要安裝acl和libacl,查看系統是否支持acl,Linux默認是支持的。

dumpe2fs -h /dev/sda1|grep acl(根據自己磁盤情況更改)

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

開啟分區的acl權限:

臨時開啟:mount –o remount,acl 磁盤分區,永久開啟的話需要修改/etc/fstab

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

場景:某文件只允許屬主和其他用戶A訪問(只讀),其餘用戶都不允許訪問。

假設A用戶名為tomcat,改文件只允許屬主root和其他用戶tomcat訪問(只讀) 設置acl前,tomcat用戶讀取操作被拒絕。

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

設置acl后,tomcat用戶可以讀取,user1用戶被拒絕。

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

0x04 嚴格限制網絡出入站規則


在攻擊場景中,攻擊者通常在獲取到一定權限后,會反彈shell進行交互式操作,嚴格限制出入站規則,可以對此攻擊行為進行有效阻斷。

通常情況下,我們對入站訪問策略會進行嚴格的限制,但出站策略經常被忽略,這就使得攻擊者反彈shell成為可能,這裡我們介紹使用iptables進行有效限制。

【技術分享】Linux主機加固丨如何優雅的控制系統權限?

iptables功能非常強大,大家可以仔細研究一下,有很多好玩的東西。

以上只一些簡單的例子,拋個磚,引出一些思路,大家可以自由發揮,靈活應用,挖掘出更多好玩的東西。


【技術分享】Linux主機加固丨如何優雅的控制系統權限? 【技術分享】Linux主機加固丨如何優雅的控制系統權限?

本文轉載自 xmirror.cn
原文鏈接:http://lab.xmirror.cn/atc/2017/09/15/404.html