機器更名大作戰
公司啟動了新的資安規定,取消了DHCP,要求所有Client PC一律使用固定IP,且依公司所配發的名稱為電腦命名。
辦公室桌上的XPC SB81P是2003年底買的,跟著我流浪過三家公司,OS也一直沿用至今,沒再重灌過。這下被要求改名,沒法預先攤出需要更動的設定有哪些,只有先更名,再用打地鼠的方式,等問題自己冒出來,遇到一個解一個。
IP跟機器名稱改好重開機後,第一步就是試試機器上的各個功能是否正常。為了減少衝擊,我特別在lmhosts及host兩個檔案裡,將新的IP Mapping回我的舊電腦名稱,這樣本機的程式即使Sql Connection String或UNC指的還是舊Machine Name,可以完全不用更動,繼續運作。
不過,當我用IE開啟本機的WSS個人Portal時,第一關來了,IIS Web起不來,所有的Web處於停止狀態,要去啟動時,出現了” The format of the specified network name is invalid
“的錯誤訊息,然後系統事件簿中出現了
HTTP Error Event 15005
Unable to bind to the underlying transport for10.0.15 .91:80. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine. The data field contains the error number.
W3SVC Error Event 1004
Cannot register the URL prefix 'http://*:80/' for site '1'. The site has been deactivated. The data field contains the error number.
幸好,這兩個訊息非常明確,Google了一下就找到答案。這才想去前陣子為了Try SubVersion,裝了Apache HTTPD,所以指定了HKEY_LOCAL_MACHINE\Service\CurrentControlSet\Services\HTTP\Parameters\ListenOnlyList,讓出一個IP的80 Port給Apache用。ListenOnlyList的IP還是舊的,造成了Web無法啟動。修改Registry,再net stop http /y, net start w3svc一下,Web就可以啟動了。(注意要重啟HTTP,光IISRESET是沒有用的!)
Web Server OK了,此時第二關出現了。連上本機WSS時,出現大大的Server Application Unavailable訊息。幸好,Event Log中可以找到明確的錯誤:
W3SVC Warning Event 1057
The identity of application pool 'WSSPool' is invalid, so the World Wide Web Publishing Service can not create a worker process to serve the application pool. Therefore, the application pool has been disabled.
W3SVC Error Event 1059
A failure was encountered while launching the process serving application pool 'WSSPool'. The application pool has been disabled.
原來是IIS Application Pools中開了一個WSS專用的App Pool,其中指定了MachineName\WSSAccount作為執行身份,現在電腦名稱改了,它沒跟著自動更新,就只有出錯的份了。改了Identity,WSS就OK了,SQL Connection的部分完全不需要改,看來是lmhosts發生功效!
晚上回到家,用VPN連回公司,第三關來了! 要用Terminal Service連上XPC時,卻發現無法連通,用ping、net use驗證了一下,機器活著,RPC是通的,看來是Windows 2003的內建防火牆作祟。之前設定過只有特定IP網段才能連上Terminal Service,這下IP改了,鎖定的網段卻沒調整,當然不通。不過,只有RPC可通,要如何解決這個問題呢?
雖然是睡一覺明天上班就可以解決的小事,但利用有限功能取得主機操作權的挑戰,實在太有駭客攻門的味道了,讓我的駭客基因蠢蠢欲動,頓時精神百倍!! 不過由於RPC可通,我又有Administrators權限,事實上並非難事。Google了一下,前後試了幾個方法:
1. netsh可以修改firewall設定,但我測試的結果似乎只能修改本機firewall,連結遠端主機時,無法使用firewall這個Command。
2. 如果遠端不可用netsh firewall,那麼telnet進去再執行總行了吧? 開啟”電腦管理”的MMC,再連至XPC(因為RPC可通),啟動了Telnet Server,卻發現Port 23被防火牆擋下來,第二波攻勢無功而返。
3. 再Google了一下,發現了一個好工具-sc.exe,可以控制遠端機器上的Service,利用sc \\MachineName stop SharedAccess,就可停用防火牆。Bingo! Terminal Service可用了。參考資料
這三隻地鼠應該只是先鋒部隊,後面幾週應該還有得打,就等遇到再說吧!
[Updated 2006-07-27 17:35]
又發現地鼠一隻... Scheduled Task中設定的Identity用的是本機帳號,前方會跟著機器名稱,機器更名後記得也要改,另外以此類推: COM+ Application、Window Service裡也可能有漏網之魚。
辦公室桌上的XPC SB81P是2003年底買的,跟著我流浪過三家公司,OS也一直沿用至今,沒再重灌過。這下被要求改名,沒法預先攤出需要更動的設定有哪些,只有先更名,再用打地鼠的方式,等問題自己冒出來,遇到一個解一個。
IP跟機器名稱改好重開機後,第一步就是試試機器上的各個功能是否正常。為了減少衝擊,我特別在lmhosts及host兩個檔案裡,將新的IP Mapping回我的舊電腦名稱,這樣本機的程式即使Sql Connection String或UNC指的還是舊Machine Name,可以完全不用更動,繼續運作。
不過,當我用IE開啟本機的WSS個人Portal時,第一關來了,IIS Web起不來,所有的Web處於停止狀態,要去啟動時,出現了” The format of the specified network name is invalid
“的錯誤訊息,然後系統事件簿中出現了
HTTP Error Event 15005
Unable to bind to the underlying transport for
W3SVC Error Event 1004
Cannot register the URL prefix 'http://*:80/' for site '1'. The site has been deactivated. The data field contains the error number.
幸好,這兩個訊息非常明確,Google了一下就找到答案。這才想去前陣子為了Try SubVersion,裝了Apache HTTPD,所以指定了HKEY_LOCAL_MACHINE\Service\CurrentControlSet\Services\HTTP\Parameters\ListenOnlyList,讓出一個IP的80 Port給Apache用。ListenOnlyList的IP還是舊的,造成了Web無法啟動。修改Registry,再net stop http /y, net start w3svc一下,Web就可以啟動了。(注意要重啟HTTP,光IISRESET是沒有用的!)
Web Server OK了,此時第二關出現了。連上本機WSS時,出現大大的Server Application Unavailable訊息。幸好,Event Log中可以找到明確的錯誤:
W3SVC Warning Event 1057
The identity of application pool 'WSSPool' is invalid, so the World Wide Web Publishing Service can not create a worker process to serve the application pool. Therefore, the application pool has been disabled.
W3SVC Error Event 1059
A failure was encountered while launching the process serving application pool 'WSSPool'. The application pool has been disabled.
原來是IIS Application Pools中開了一個WSS專用的App Pool,其中指定了MachineName\WSSAccount作為執行身份,現在電腦名稱改了,它沒跟著自動更新,就只有出錯的份了。改了Identity,WSS就OK了,SQL Connection的部分完全不需要改,看來是lmhosts發生功效!
晚上回到家,用VPN連回公司,第三關來了! 要用Terminal Service連上XPC時,卻發現無法連通,用ping、net use驗證了一下,機器活著,RPC是通的,看來是Windows 2003的內建防火牆作祟。之前設定過只有特定IP網段才能連上Terminal Service,這下IP改了,鎖定的網段卻沒調整,當然不通。不過,只有RPC可通,要如何解決這個問題呢?
雖然是睡一覺明天上班就可以解決的小事,但利用有限功能取得主機操作權的挑戰,實在太有駭客攻門的味道了,讓我的駭客基因蠢蠢欲動,頓時精神百倍!! 不過由於RPC可通,我又有Administrators權限,事實上並非難事。Google了一下,前後試了幾個方法:
1. netsh可以修改firewall設定,但我測試的結果似乎只能修改本機firewall,連結遠端主機時,無法使用firewall這個Command。
2. 如果遠端不可用netsh firewall,那麼telnet進去再執行總行了吧? 開啟”電腦管理”的MMC,再連至XPC(因為RPC可通),啟動了Telnet Server,卻發現Port 23被防火牆擋下來,第二波攻勢無功而返。
3. 再Google了一下,發現了一個好工具-sc.exe,可以控制遠端機器上的Service,利用sc \\MachineName stop SharedAccess,就可停用防火牆。Bingo! Terminal Service可用了。參考資料
這三隻地鼠應該只是先鋒部隊,後面幾週應該還有得打,就等遇到再說吧!
[Updated 2006-07-27 17:35]
又發現地鼠一隻... Scheduled Task中設定的Identity用的是本機帳號,前方會跟著機器名稱,機器更名後記得也要改,另外以此類推: COM+ Application、Window Service裡也可能有漏網之魚。
0 Comments:
Post a Comment
<< Home