介紹
終端服務
允許多位用戶連線並控制一台機器,並且在遠程計算機上顯示桌面和應用程式。這是遠程桌面(包括管理員的遠程桌面)、快速用戶轉換、遠程協助和終端伺服器的基礎結構。
細節操作
Terminal Services中有許多不為人知的細節操作。 在Terminal Services會話中,我們依然可以使用快捷鍵,不過快捷鍵和本機有所區別,具體為: CTRL+ALT+END 打開“Windows 安全”對話框。 ALT+PAGE UP 從左向右在程式之間切換。 ALT+PAGE DOWN 從右向左在程式之間切換。 ALT+INSERT 按啟動順序來回切換程式。 ALT+HOME 顯示“開始”選單。 CTRL+ALT+BREAK 在視窗(如果適用)和全螢幕顯示之間切換客戶端。 ALT+DELETE 顯示視窗的彈出式選單。 CTRL+ALT+減號 (-) 將客戶端活動視窗的快照放在“終端”伺服器的剪貼簿上(與在本地計算機上按下 ALT+PrintScrn 鍵時的功能相同)。 CTRL+ALT+加號 (+) 將整個客戶端視窗區域的快照放在“終端”伺服器的剪貼簿上(與在本地計算機上按下 PrintScrn 鍵時的功能相同)。 注意: 在NEC98 計算機中,這些快捷鍵在以下兩種情況下會有些不同: CTRL+ALT+BREAK由 F12 鍵代替。 CTRL+ALT+END 由 F15 鍵代替。
修改Terminal Services的默認連線埠: 在註冊表下[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp]中的PortNumber鍵值中,選擇10進制狀態,就可以看到終端的默認連線埠3389,接著你就可以根據個人的情況的進行修改了。
修改完成之後,以後客戶端要連線伺服器時只需要在IP位址後面加上冒號,在填上修改以後的連線埠號即可。
修改Terminal Services的默認連線埠號,能在一定程度上加強Terminal Services的安全性。
終端中,在CMD中鍵入quser(即query user),便可以查看當前終端中的會話,其中帶“console”是中斷伺服器本地用戶,其餘都是遠程會話。如果鍵入logoff ID便可以註銷遠程用戶的會話。 當連上終端伺服器之後,如果可以編輯如下一個批處理檔案: :begin query user| find “console” if errorlevel 1 logoff 1&&logoff 2 goto begin 這段批處理的意思也非常簡單,如果query user(既quser)出現console字樣(既管理員本地登入),馬上切斷ID為1 和2的用戶的會話。這是黑客們常用的一個手段,思路很巧妙,這樣管理員很難發現自己的伺服器被非法訪問過。
運行這段批處理後: echo [Components]>c:\backe echo TSEnable=on >>c:\backe sysocmgr /I:c:\winnt\inf /u:c:\backe /q /r 過一段時間系統就會以不彈出任何視窗的形式安裝上終端服務。當計算機從新啟動以後,就可以連線上。如果,你想讓設定立即生效,可以在最後一句省略掉“r”參數,這樣當安裝完成以後,遠程計算機會自動從新啟動。
使用技巧
微軟的win2000伺服器版中帶了一個終端服務Terminal Service,這個服務基於遠程桌面協定RDP,他的速度非常快,也很穩定,是一個比較好的遠程管理軟體,不過這個終端服務有幾個不方便的地方: 第一是沒有改連線埠的地方,終端服務只能使用默認得3389連線埠。對於一個謹慎地管理員來說,伺服器開著3389連線埠,隨便哪個人都能上去試試密碼;再加上前些時候微軟輸入法的漏洞,不需密碼就是System許可權。第二是沒有完善的功能日誌,這樣什麼人什麼時候連結上都不知道。 其實這兩個問題都可以非常容易的解決: 對於連線埠問題,微軟提供了一個方法允許用戶自己更改伺服器端和客戶端的連線埠: 1、第一步,更改終端服務的伺服器端設定。 打開註冊表,找到類似這樣的鍵值HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\Tds\Tcp, 看到那個PortNumber沒有?0xd3d,這個是16進制,就是3389啦,我改...這個值是RDP(遠程桌面協定)的默認值,也就是說用來配置以後新建的RDP服務的,要改已經建立的RDP服務,我們去下一個鍵值: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations這裡應該有一個或多個類似RDP-TCP的子健(取決於你建立了多少個RDP服務),一樣改掉PortNumber。 (轉者注:在這裡可以在HKEY_LOCAL_MACHINE下面通過搜尋3389來找到所有的portnumber項)2、第二步,改客戶端。 服務端改了連線埠而客戶端連線埠沒有改變,我們豈不是白瞪眼?再來改客戶端:打開客戶端連線管理器,按照正常的步驟建立一個客戶端連線的捷徑,選中這個連線,然後在“檔案”選單里選擇“導出”(Menu->File->Export),這個操作會生成一個cns檔案,就是終端服務客戶端的配置檔案,你可以用文本編輯器(比如記事本)編輯這個檔案,找到“Server Port=3389”,改成你要的連線埠,然後再選導入(Menu->File->Import),這是的客戶端捷徑已經變成你需要的連線埠了。 需要主義的是,從微軟主頁上下載的終端服務客戶端Terminal Service Client(MSI版)以及ActiveX版都不能更改連線埠,只有使用Win2000伺服器版終端服務自帶的“製作安裝盤”功能製作版本可以改連線埠,這個功能在管理工具的“終端服務客戶端生成器”(Terminal Service Client Creator)中。 對於日誌的問題,其實Terminal Service自己是有日誌功能的,在管理工具中打開遠程控制服務配置(Terminal Service Configration),點擊“連線”,右擊你想配置的RDP服務(比如RDP-TCP(Microsoft RDP5.0)),選中書籤“許可權”,點擊左下角的“高級”,看見上面那個“審核”了嗎?我們來加入一個Everyone組,這代表所有的用戶,然後審核他的“連線”、“斷開”、“註銷”的成功和“登入”的功能和失敗就足夠了,審核太多了反而不好,這個審核試記錄在安全日誌中的,可以從“管理工具”->“日誌查看器”中查看。 現在什麼人什麼時候登入都一清二楚了,可是它卻不記錄客戶端的IP(只能查看線上用戶的ip)而是記錄計算機名,要是別人起個PIG的機器名你只好受他嘲弄了。我們來自己寫個程式,一切搞定,你會c么?反正我不會,vb呢?我也不會^_^,Delphi??我還是不會^_^,別急,如果你和我一樣,還有一個辦法,我們建立一個.bat檔案,叫做TSLog.bat,這個檔案用來記錄登錄者的ip,內容如下: time /t>>TSLog.log netstat -n -p tcp|find ":3389">>TSLog.log start Explorer 我來解釋一下這個檔案的含義: 第一行是記錄用戶登入的時間,Time/t的意思是直接返回系統時間(如果不加/t,系統會等待你輸入新的時間),然後我們用追加符號 >>把這個時間記入TSLog.log 第二行是記錄用戶的ip地址,Netstat是用來顯示當前網路連線狀況的命令,-n表示顯示ip和連線埠而不是域名、協定,-p tcp是只顯示tcp協定,然後我們用管道符號“|”把這個命令的結果輸出給Find命令,從輸出結果中查找包含“:3389”的行(這就是我們要得客戶的ip所在行,如果你改了終端服務的連線埠,這個數值也要作相應的改變),最後我們同樣把這個結果重定向到日誌檔案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 也就是說只要這個TSLog.bat檔案一運行,所有連在3389連線埠的ip都會被記錄,那么如何讓這個批處理檔案運行呢?我們知道終端服務允許我們為用戶自定義起始的程式,在終端服務配置中,我們覆蓋用戶的登入腳本設定並指定TSLog.bat為用戶登錄時需要打開的腳本,這樣每個用戶登錄後都必須執行這個腳本,因為默認得腳本(相當於SHELL環境)是Explorer(資源管理器),所以我在TSLog.bat的最後一行加上了啟動Explorer的命令start Explorer,如果不加這一行命令,用戶是沒有辦法進入桌面的。當然,如果你只需要給用戶特定的SHELL:例如cmd.exe或者word.exe你也可以把start explorer替換成任意的SHELL。這個腳本也可以有其他的寫法,例如寫一個腳本把每個登入用戶的ip傳送到自己的信箱對於很重要的伺服器也是一個很好的方法。 正常情況下,一般的用戶沒有查看終端服務設定的許可權,所以他不會知道你對登入進行了ip審核,只要把TSLog.bat檔案和TSLog.log檔案放在比較隱蔽的目錄里就足夠了,不過需要注意的是這只是一個簡單的終端服務日誌攻略,並沒有太多的安全保障措施和許可權機制,如果伺服器有更高的安全要求,那還是需要通過編程後購買入侵檢測 軟體來完成。