麒麟開源堡壘機除了錄相,還須要作操做辨認,首要的操做辨認功用包括:linux
ssh/telnet的操做指令辨認 ftp/sftp 的操做指令辨認 RDP/VNC/X11 的翻開窗口title辨認 RDP/VNC/X11 窗口中的文字辨認 RDP 剪切版內容辨認 RDP/VNC/X11 鍵盤記載
關於一個只能錄相的開源堡壘機,其可用性是十分差的,因爲開源堡壘機的審計功用首要用於過後,假如發生了內部運維事情,並且時刻點難以肯定,審計員有必要面對海量的日誌進行辨認,由專人對每一個會話自始至終看所有操做錄相。而操做過程每每是一瞬間的事,比方几天的操做日誌也許有上千個小時,但是呈現疑問的操做也許只在幾秒鐘,這時的勞動強度和單調程度是至關大的,一我的要從上千小時的錄相中找到幾秒種的有疑問的錄相,難度之大可以想像。數據庫
也從前出過某電信後臺數據庫被人刪除的疑問,那時系統的RDP辨認功用尚未作,因此派專人,接連看了七天的日誌,最終才找到責任人。bash
於是,一個開源堡壘機的好壞,不僅是操做界面是否是漂亮、日誌報表是否是通用,最主要的標準是解析用是否是好,假如一但解析辨認作的到位,當出現問題時,可以大大減少審計人員的精確程度,直接找到責任人。運維
開源堡壘機的操做辨認功用中,FTP/SFTP的指令操做開發是最簡略的,因爲指令自己在協議中有標,開發時只需解開FTP/SFTP的協議流,可以直接獲得。ssh
telnet/ssh的指令辨認是較難的功能,因爲TELNET/SSH關於指令在協議中是沒有標示的,和在屏上其它回顯相同,都是一個一個的字符,實踐開發中,很通在實踐回顯中找到哪一個是指令,哪一個是回顯,而鍵盤記載,只能對指令辨認有協助,並不能通過鍵盤記載來記載到指令,因爲敲擊鍵盤的時候,用戶有也許在vi等行修正器中,這時操做的並非指令並且一些文件修正,另外如今的linux bash中有許多快捷鍵,比方指令可以通過上翻找到,可以用TAB補齊,此外,運維人員在輸入指令的時候,用退格去修正等也會造成指令辨認沒法通過鍵盤記載來完成,TELNET/SSH的指令辨認,只能通過將鍵盤與回顯相關的方法辨認,程序在判別用戶鍵盤擊打次序的同時,判別回顯字符,當呈現回車的時候,將前面的全部鍵盤記載下來,並且在回顯中進行一些判別,就可以精確的記載用戶操做的指令,這種形式,代理程序還有必要判別的出用戶是否是在vi等修正器形式中,麒麟開源開源堡壘機體系的telnet/ssh指令辨認開發週期大約爲2個月,後期作了許多的修正,如今指令辨認率達到了99.9%。函數
RDP/X11/VNC的窗口title辨認和窗口內部文字辨認,可以說是一個業界的難題,因爲RDP所有顯示沒有字符,徹底是通過GDI函數繪出,於是,即使解開了RDP的流,也沒法從流中獲得任何文字 ,因爲所有是GDI函數繪出的圖形,麒麟開源開源堡壘機的RDP/X11/VNC窗口的辨認開發週期大約爲4個月,如今現已可以辨認出窗口標題和內部操做文字。編碼
此外,RDP的鍵盤記載、剪切版記載也可以在協議中辨認,鍵盤記載對比鍵盤,解開RDP協議便可獲得剪切版雜亂些,因爲觸及內部文字編碼辨認。代理
從此會在其它文章中詳細描述這些辨認技能的原理。日誌