前言 其實
在服務器的安全設置方面
我雖然有一些經驗
但是還談不上有研究
所以我寫這篇文章的時候心裡很不踏實
總害怕說錯了會誤了別人的事
本文更側重於防止ASP漏洞攻擊
所以服務器防黑等方面的講解可能略嫌少了點
基本的服務器安全設置 安裝補丁
安裝好操作系統之後
最好能在托管之前就完成補丁的安裝
配置好網絡後
如果是
則確定安裝上了SP
如果是
則最好安裝上SP
然後點擊開始→Windows update
安裝所有的關鍵更新
安裝殺毒軟件
雖然殺毒軟件有時候不能解決問題
但是殺毒軟件避免了很多問題
不要指望殺毒軟件殺掉所有的木馬
因為ASP木馬的特征是可以通過一定手段來避開殺毒軟件的查殺
設置端口保護和防火牆
刪除默認共享
都是服務器防黑的措施
即使你的服務器上沒有IIS
這些安全措施都最好做上
這是阿江的盲區
大概知道屏蔽端口用本地安全策略
不過這方面的東西網上攻略很多
大家可以找出來看看
晚些時候我或者會復制一些到我的網站上
權限設置
阿江感覺這是防止ASP漏洞攻擊的關鍵所在
優秀的權限設置可以將危害減少在一個IIS站點甚至一個虛擬目錄裡
我這裡講一下原理和設置思路
聰明的朋友應該看完這個就能解決問題了
權限設置的原理
WINDOWS用戶
在WINNT系統中大多數時候把權限按用戶(?M)來劃分
在【開始→程序→管理工具→計算機管理→本地用戶和組】管理系統用戶和用戶組
NTFS權限設置
請記住分區的時候把所有的硬盤都分為NTFS分區
然後我們可以確定每個分區對每個用戶開放的權限
【文件(夾)上右鍵→屬性→安全】在這裡管理NTFS文件(夾)權限
IIS匿名用戶
每個IIS站點或者虛擬目錄
都可以設置一個匿名訪問用戶(現在暫且把它叫
IIS匿名用戶
)
當用戶訪問你的網站的
ASP文件的時候
這個
ASP文件所具有的權限
就是這個
IIS匿名用戶
所具有的權限
權限設置的思路
要為每個獨立的要保護的個體(比如一個網站或者一個虛擬目錄)創建一個系統用戶
讓這個站點在系統中具有惟一的可以設置權限的身份
在IIS的【站點屬性或者虛擬目錄屬性→目錄安全性→匿名訪問和驗證控制→編輯→匿名訪問→編輯】填寫剛剛創建的那個用戶名
設置所有的分區禁止這個用戶訪問
而剛才這個站點的主目錄對應的那個文件夾設置允許這個用戶訪問(要去掉繼承父權限
並且要加上超管組和SYSTEM組)
這樣設置了之後
這個站點裡的ASP程序就只有當前這個文件夾的權限了
從探針上看
所有的硬盤都是紅叉叉
我的設置方法
我是先創建一個用戶組
以後所有的站點的用戶都建在這個?M裡
然後設置這個組在各個分區沒有權限或者完全拒絕
然後再設置各個IIS用戶在各在的文件夾裡的權限
因為比較多
所以我很不想寫
其實知道了上面的原理
大多數人都應該懂了
除非不知道怎麼添加系統用戶和?M
不知道怎麼設置文件夾權限
不知道IIS站點屬性在那裡
真的有那樣的人
你也不要著急
要沉住氣慢慢來
具體的方法其實自己也能摸索出來的
我就是這樣
當然
如果我有空
我會寫我的具體設置方法
很可能還會配上圖片
改名或卸載不安全組件
不安全組件不驚人
我在阿江探針
裡加入了不安全組件檢測功能(其實這是參考
i
的代碼寫的
只是把界面改的友好了一點
檢測方法和他是基本一樣的)
這個功能讓很多站長吃驚不小
因為他發現他的服務器支持很多不安全組件
其實
只要做好了上面的權限設置
那麼FSO
XML
strem都不再是不安全組件了
因為他們都沒有跨出自己的文件夾或者站點的權限
那個歡樂時光更不用怕
有殺毒軟件在還怕什麼時光啊
最危險的組件是WSH和Shell
因為它可以運行你硬盤裡的EXE等程序
比如它可以運行提升程序來提升SERV
U權限甚至用SERVU來運行更高權限的系統程序
卸載最不安全的組件
最簡單的辦法是直接卸載後刪除相應的程序文件
將下面的代碼保存為一個
BAT文件
( 以下均以 WIN
為例
如果使用
則系統文件夾應該是 C:\WINDOWS\ )
Quoted from Unkown:
regsvr
/u C:\WINNT\System
\wshom
ocx
del C:\WINNT\System
\wshom
ocx
regsvr
/u C:\WINNT\system
\shell
dll
del C:\WINNT\system
\shell
dll
然後運行一下
WScript
Shell
Shell
application
WScript
Network就會被卸載了
可能會提示無法刪除文件
不用管它
重啟一下服務器
你會發現這三個都提示
×安全
了
改名不安全組件
需要注意的是組件的名稱和Clsid都要改
並且要改徹底了
下面以Shell
application為例來介紹方法
打開注冊表編輯器【開始→運行→regedit回車】
然後【編輯→查找→填寫Shell
application→查找下一個】
用這個方法能找到兩個注冊表項
{
C
CE
A
E
}
和
Shell
application
為了確保萬無一失
把這兩個注冊表項導出來
保存為
reg 文件
比如我們想做這樣的更改
C
CE
A
E
改名為
C
CE
A
E
Shell
application 改名為 Shell
application_ajiang
那麼
就把剛才導出的
reg文件裡的內容按上面的對應關系替換掉
然後把修改好的
reg文件導入到注冊表中(雙擊即可)
導入了改名後的注冊表項之後
別忘記了刪除原有的那兩個項目
這裡需要注意一點
Clsid中只能是十個數字和ABCDEF六個字母
下面是我修改後的代碼(兩個文件我合到一起了)
Quoted from Unkown:
Windows Registry Editor Version
[HKEY_CLASSES_ROOT\CLSID\{
C
CE
A
E
}]
@=
Shell Automation Service
[HKEY_CLASSES_ROOT\CLSID\{
C
CE
A
E
}\InProcServer
]
@=
C:\\WINNT\\system
\\shell
dll
ThreadingModel
=
Apartment
[HKEY_CLASSES_ROOT\CLSID\{
C
CE
A
E
}\ProgID]
@=
Shell
Application_ajiang
[HKEY_CLASSES_ROOT\CLSID\{
C
CE
A
E
}\TypeLib]
@=
{
a
e
b
ef
d
b
a
a
c
fe}
[HKEY_CLASSES_ROOT\CLSID\{
C
CE
A
E
}\Version]
@=
[HKEY_CLASSES_ROOT\CLSID\{
C
CE
A
E
}\VersionIndependentProgID]
@=
Shell
Application_ajiang
[HKEY_CLASSES_ROOT\Shell
Application_ajiang]
@=
Shell Automation Service
[HKEY_CLASSES_ROOT\Shell
Application_ajiang\CLSID]
@=
{
C
CE
A
E
}
[HKEY_CLASSES_ROOT\Shell
Application_ajiang\CurVer]
@=
Shell
Application_ajiang
你可以把這個保存為一個
reg文件運行試一下
但是可別就此了事
因為萬一黑客也看了我的這篇文章
他會試驗我改出來的這個名字的
防止列出用戶組和系統進程
我在阿江ASP探針
中結合
i
的方法利用getobject(
WINNT
)獲得了系統用戶和系統進程的列表
這個列表可能會被黑客利用
我們應當隱藏起來
方法是
【開始→程序→管理工具→服務】
找到Workstation
停止它
禁用它
防止Serv
U權限提升
其實
注銷了Shell組件之後
侵入者運行提升工具的可能性就很小了
但是prel等別的腳本語言也有shell能力
為防萬一
還是設置一下為好
用Ultraedit打開ServUDaemon
exe查找Ascii
LocalAdministrator
和#l@$ak#
lk;
@P
修改成等長度的其它字符就可以了
ServUAdmin
exe也一樣處理
另外注意設置Serv
U所在的文件夾的權限
不要讓IIS匿名用戶有讀取的權限
否則人家下走你修改過的文件
照樣可以分析出你的管理員名和密碼
利用ASP漏洞攻擊的常見方法及防范
一般情況下
黑客總是瞄准論壇等程序
因為這些程序都有上傳功能
他們很容易的就可以上傳ASP木馬
即使設置了權限
木馬也可以控制當前站點的所有文件了
另外
有了木馬就然後用木馬上傳提升工具來獲得更高的權限
我們關閉shell組件的目的很大程度上就是為了防止攻擊者運行提升工具
如果論壇管理員關閉了上傳功能
則黑客會想辦法獲得超管密碼
比如
如果你用動網論壇並且數據庫忘記了改名
人家就可以直接下載你的數據庫了
然後距離找到論壇管理員密碼就不遠了
作為管理員
我們首先要檢查我們的ASP程序
做好必要的設置
防止網站被黑客進入
另外就是防止攻擊者使用一個被黑的網站來控制整個服務器
因為如果你的服務器上還為朋友開了站點
你可能無法確定你的朋友會把他上傳的論壇做好安全設置
這就用到了前面所說的那一大堆東西
做了那些權限設置和防提升之後
黑客就算是
From:http://tw.wingwit.com/Article/os/fwq/201311/29801.html