微軟的win2000服務(wù)器版中帶了一個(gè)終端服務(wù)Terminal Service,這個(gè)服務(wù)基于遠(yuǎn)程桌面協(xié)議RDP,他的速度非?,也很穩(wěn)定,是一個(gè)比較好的遠(yuǎn)程管理軟件,不過這個(gè)終端服務(wù)有幾個(gè)不方便的地方: 第一是沒有改端口的地方,終端服務(wù)只能使用默認(rèn)得3389端口。對(duì)于一個(gè)謹(jǐn)慎地管理員來說,服務(wù)器開著3389端口,隨便哪個(gè)人都能上去試試密碼;再加上前些時(shí)候微軟輸入法的漏洞,不需密碼就是System權(quán)限。第二是沒有完善的功能日志,這樣什么人什么時(shí)候連結(jié)上都不知道。
其實(shí)這兩個(gè)問題都可以非常容易的解決: 對(duì)于端口問題,微軟提供了一個(gè)方法允許用戶自己更改服務(wù)器端和客戶端的端口: 微軟的原文在:http://support.microsoft.com/suppor...s/Q187/6/23.ASP 上面這個(gè)連接是英文的。如果愿意,可自己看。^_^
1、第一步,更改終端服務(wù)的服務(wù)器端設(shè)置。 打開注冊(cè)表,找到類似這樣的鍵值HKEY_LOCAL_MACHINE//System//CurrentControlSet//Control//Terminal Server//Wds//Repwd//Tds//Tcp, 看到那個(gè)PortNumber沒有?0xd3d,這個(gè)是16進(jìn)制,就是3389啦,我改...這個(gè)值是RDP(遠(yuǎn)程桌面協(xié)議)的默認(rèn)值,也就是說用來配置以后新建的RDP服務(wù)的,要改已經(jīng)建立的RDP服務(wù),我們?nèi)ハ乱粋(gè)鍵值: HKEY_LOCAL_MACHINE//SYSTEM//CurrentControlSet//Control//TerminalServer//WinStations這里應(yīng)該有一個(gè)或多個(gè)類似RDP-TCP的子健(取決于你建立了多少個(gè)RDP服務(wù)),一樣改掉PortNumber。 (轉(zhuǎn)者注:在這里可以在HKEY_LOCAL_MACHINE下面通過搜索3389來找到所有的portnumber項(xiàng))
2、第二步,改客戶端。 服務(wù)端改了端口而客戶端端口沒有改變,我們豈不是白瞪眼?再來改客戶端:打開客戶端連接管理器,按照正常的步驟建立一個(gè)客戶端連接的快捷方式,選中這個(gè)連接,然后在“文件”菜單里選擇“導(dǎo)出”(Menu->File->Export),這個(gè)操作會(huì)生成一個(gè)cns文件,就是終端服務(wù)客戶端的配置文件,你可以用文本編輯器(比如記事本)編輯這個(gè)文件,找到“Server Port=3389”,改成你要的端口,然后再選導(dǎo)入(Menu->File->Import),這是的客戶端快捷方式已經(jīng)變成你需要的端口了。
需要主義的是,從微軟主頁上下載的終端服務(wù)客戶端Terminal Service Client(MSI版)以及ActiveX版都不能更改端口,只有使用Win2000服務(wù)器版終端服務(wù)自帶的“制作安裝盤”功能制作版本可以改端口,這個(gè)功能在管理工具的“終端服務(wù)客戶端生成器”(Terminal Service Client Creator)中。
對(duì)于日志的問題,其實(shí)Terminal Service自己是有日志功能的,在管理工具中打開遠(yuǎn)程控制服務(wù)配置(Terminal Service Configration),點(diǎn)擊“連接”,右擊你想配置的RDP服務(wù)(比如RDP-TCP(Microsoft RDP5.0)),選中書簽“權(quán)限”,點(diǎn)擊左下角的“高級(jí)”,看見上面那個(gè)“審核”了嗎?我們來加入一個(gè)Everyone組,這代表所有的用戶,然后審核他的“連接”、“斷開”、“注銷”的成功和“登陸”的功能和失敗就足夠了,審核太多了反而不好,這個(gè)審核試記錄在安全日志中的,可以從“管理工具”->“日志查看器”中查看。 現(xiàn)在什么人什么時(shí)候登陸都一清二楚了,可是它卻不記錄客戶端的IP(只能查看在線用戶的ip)而是記錄計(jì)算機(jī)名,要是別人起個(gè)PIG的機(jī)器名你只好受他嘲弄了。我們來自己寫個(gè)程序,一切搞定,你會(huì)c么?反正我不會(huì),vb呢?我也不會(huì)^_^,Delphi??我還是不會(huì)^_^,別急,如果你和我一樣,還有一個(gè)辦法,我們建立一個(gè).bat文件,叫做TSLog.bat,這個(gè)文件用來記錄登錄者的ip,內(nèi)容如下: time /t>>TSLog.log netstat -n -p tcp|find ":3389">>TSLog.log start Explorer 我來解釋一下這個(gè)文件的含義: 第一行是記錄用戶登陸的時(shí)間,Time/t的意思是直接返回系統(tǒng)時(shí)間(如果不加/t,系統(tǒng)會(huì)等待你輸入新的時(shí)間),然后我們用追加符號(hào)
>>把這個(gè)時(shí)間記入TSLog.log 第二行是記錄用戶的ip地址,Netstat是用來顯示當(dāng)前網(wǎng)絡(luò)連接狀況的命令,-n表示顯示ip和端口而不是域名、協(xié)議,-p tcp是只顯示tcp協(xié)議,然后我們用管道符號(hào)“|”把這個(gè)命令的結(jié)果輸出給Find命令,從輸出結(jié)果中查找包含“:3389”的行(這就是我們要得客戶的ip所在行,如果你改了終端服務(wù)的端口,這個(gè)數(shù)值也要作相應(yīng)的改變),最后我們同樣把這個(gè)結(jié)果重定向到日志文件TSLog.log中去,于是在TSLog.log文件中,記錄格式如下: 22:40 TCP 192.168.12.28:3389 192.168.10.123:4903ESTABLISHED 22:54 TCP 192.168.12.28:3389 192.168.12.29:1039ESTABLISHED 也就是說只要這個(gè)TSLog.bat文件一運(yùn)行,所有連在3389端口的ip都會(huì)被記錄,那么如何讓這個(gè)批處理文件運(yùn)行呢?我們知道終端服務(wù)允許我們?yōu)橛脩糇远x起始的程序,在終端服務(wù)配置中,我們覆蓋用戶的登陸腳本設(shè)置并指定TSLog.bat為用戶登錄時(shí)需要打開的腳本,這樣每個(gè)用戶登錄后都必須執(zhí)行這個(gè)腳本,因?yàn)槟J(rèn)得腳本(相當(dāng)于SHELL環(huán)境)是Explorer(資源管理器),所以我在TSLog.bat的最后一行加上了啟動(dòng)Explorer的命令start Explorer,如果不加這一行命令,用戶是沒有辦法進(jìn)入桌面的。當(dāng)然,如果你只需要給用戶特定的SHELL:例如cmd.exe或者word.exe你也可以把start explorer替換成任意的SHELL。
這個(gè)腳本也可以有其他的寫法,例如寫一個(gè)腳本把每個(gè)登陸用戶的ip發(fā)送到自己的信箱對(duì)于很重要的服務(wù)器也是一個(gè)很好的方法。 正常情況下,一般的用戶沒有查看終端服務(wù)設(shè)置的權(quán)限,所以他不會(huì)知道你對(duì)登陸進(jìn)行了ip審核,只要把TSLog.bat文件和TSLog.log文件放在比較隱蔽的目錄里就足夠了,不過需要注意的是這只是一個(gè)簡(jiǎn)單的終端服務(wù)日志攻略,并沒有太多的安全保障措施和權(quán)限機(jī)制,如果服務(wù)器有更高的安全要求,那還是需要通過編程后購買入侵檢測(cè) 軟件來完成。 |