iT邦幫忙

0

機房主機被連線或登入後通知管理者

  • 分享至 

  • xImage

請問各位高手
有無辦法使用小工具或小程式
機房的特定主機如果有某人,不論用甚麼樣的方式,例如: PCAnywhere / MSTSC / VNC , 甚至,用Client-Server架構的Client端AP.
都能通知道管理者!(通知方式,MAIL,或者其他可以提供給管理者的方式)

看更多先前的討論...收起先前的討論...
這個問題很有價值。

理想的情況是:
有任何方式連進來,
應都會記錄在「事件檢示器」上,
配合有監視 Log 的工具,
只要一符合某些字樣,
就可自動執行指定的動作。
當然,前題是 軟體 會把自身的一些狀況,
記錄在 事件檢視器 上。

在 Linux 上是這樣子的處理邏輯,
Windows 上也應有同樣的解決方案吧?
有經驗者請分享一下,
用什麼工具軟體、怎麼設定來達到此目的。

或者 Windows 是否有辦法設定成:
指定的 port 連線有連線狀態,
就記錄在 事件檢視器?
tombo iT邦高手 1 級 ‧ 2010-06-30 15:28:22 檢舉
如果是一般登入或是 RDP 是會在事件檢視裡有記錄
but, pcAnywhere, VNC 的記錄會是在自己的 Log 裡
當然,可以自己寫 vbs 或是其他程式去監視 log...不過我覺得有點笨...
似乎沒有什麼可以觸發的方式來通知...
Ray iT邦大神 1 級 ‧ 2010-06-30 16:25:27 檢舉
這事情, 花錢很容易解決; 不花錢的, 就要花您一點時間....

在 Server 的事件檢視器中, 找出您所希望監控的事件; 例如: 遠端登入可能會觸發一個 Event ID 4104 的事件, 請在這個事件上面按右鍵, 選: 附加工作到此事件, 順著精靈走下去, 然後在執行的地方選: 傳送電子郵件, 填入相關的資料即可.

前提是, 您必須知道每一種方法登入時, 會產生哪一種事件 ID? 要找出一個唯一且只會發生一次的 ID 來監控, 免得一設定完, 同一個登入給你發個十幾封 Email 出來....

另一個簡單的方式, 是用 PowerShell 寫一個 script:
$smtp = New-Object System.Net.Mail.SMTPClient –ArgumentList 10.11.12.13
$smtp.Send(‘from_user@usepowershell.com’,‘to_user@adomain.com’,‘Subject: Some one logon!!’,‘Bla-bla-bla-bla......’)

把上面的內容替換成您想要寄出來的內容即可. IP 換成 SMTP 主機的 IP.
然後將這段 script 放進 Logon script 裡面, 只要有人登入就會被執行.

以上操作是舉 Server 2008 R2 為例.
lirick42 iT邦新手 1 級 ‧ 2010-08-08 15:03:51 檢舉
還可以搭配一下EV8D的簡訊API,登入傳簡訊到管理員手上
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

16
tombo
iT邦高手 1 級 ‧ 2010-06-30 12:05:41
最佳解答

我公司的作法是,從外面連線進來,一定要進過一個跳板主機,但是這台主機平常並不開通,
有需求才開放。
開放之後會進行錄製畫面動作。

如果是 linux 系統,可以在 /etc/bashrc 裡面設定 script, 寄信通知 (前提是使用者的 Shell是 bash, 其他 Shell以其對應的設定檔)

klm2242 iT邦研究生 1 級 ‧ 2010-07-01 22:34:44 檢舉

你的跳板主機是用linux的嗎???可以大概說一下作法嗎?

若開放後進行錄製畫面的動作,那這個…要錢嗎??

24
Ray
iT邦大神 1 級 ‧ 2010-06-30 16:27:19

這事情, 花錢很容易解決; 不花錢的, 就要花您一點時間....

在 Server 的事件檢視器中, 找出您所希望監控的事件; 例如: 遠端登入可能會觸發一個 Event ID 4104 的事件, 請在這個事件上面按右鍵, 選: 附加工作到此事件, 順著精靈走下去, 然後在執行的地方選: 傳送電子郵件, 填入相關的資料即可.

前提是, 您必須知道每一種方法登入時, 會產生哪一種事件 ID? 要找出一個唯一且只會發生一次的 ID 來監控, 免得一設定完, 同一個登入給你發個十幾封 Email 出來....

另一個簡單的方式, 是用 PowerShell 寫一個 script:

<pre class="c" name="code">$smtp = New-Object System.Net.Mail.SMTPClient –ArgumentList 10.11.12.13
$smtp.Send(‘from_user@usepowershell.com’,‘to_user@adomain.com’,‘Subject: Some one logon!!’,‘Bla-bla-bla-bla......’)

把上面的內容替換成您想要寄出來的內容即可. IP 換成 SMTP 主機的 IP.
然後將這段 script 放進 Logon script 裡面, 只要有人登入就會被執行.

以上操作是舉 Server 2008 R2 為例.

klm2242 iT邦研究生 1 級 ‧ 2010-07-01 22:35:29 檢舉

Server 2003可以嗎??是直接在那一台要被連線的主機上做這些動作嗎?

我要發表回答

立即登入回答