佘瓊渠
摘 要:虛擬機系統是通過劃分網絡服務器磁盤空間,供用戶擁有放置站點、應用組件的數據存放和傳輸。通過對虛擬機系統平臺的建設方案進行分析,詳細介紹了虛擬機系統建設的具體思路,為建設高效系統平臺作參考。
關鍵詞:虛擬機;系統;平臺;建設
中圖分類號:TP391.9 文獻標識碼:A 文章編號:2095-6835(2014)03-0136-02
1 虛擬主機的安全防范
從虛擬主機的安全漏洞可看出黑客的入侵,實際上它是極為普通的,沒有什么高技術的成分,也沒有現在人都喜歡用的漏洞、溢出,它只是由一個普通用戶的弱口令開始,慢慢發展到了整個主機群被控在入侵者的手中。事實上,操作系統和各種相關服務本身并沒有什么漏洞,問題主要還是發生在CGI程序的編寫、維護中的疏忽和管理員對安全問題不敏感等方面。一般來說,主機一開始是由資深的工程師配置,之后也會對發現的漏洞進行修補,而且系統本身的漏洞也是比較少的。但是,在管理過程中,這些是由下一層技術人員負責的,他們技術面不廣,叫干什么就干什么,沒有很強的責任感和很大的壓力。針對此問題,需要增強安全防范意識,采取切實安全的防范措施。
2 虛擬方式的選擇
虛擬主機的方式有IP型虛擬主機、名字型虛擬主機和端口型虛擬主機。由于現有的IPV4資源十分有限,如果采用IP型虛擬方式,便會產生很大的費用。所以,采用第二種和第三種共用的方式,即開通少量的IP端口,在每個端口上分別連接、支持不同腳本的虛擬主機,這樣可以分擔虛擬主機的負載,提高其性能。
3 虛擬機系統的平臺建設
3.1 利用Web服務器組實現多腳本的支持和用戶網站的發布
企業架設獨立的網頁(Web)服務器主機,需要自己架設網絡并設置服務器主機的位置和相關參數,然后將制作好的網站發布到Web服務器上。這樣做需要較復雜的工作流程和較多的時間,而使用虛擬主機技術架設網站就比較便捷。
3.2 將Serv-U和MySQL整合
Serv-U是一個可以運行于Windows Array5/Array8/2000/ ME和Windows NT 4.0下的FTP服務器程序。有了它,個人電腦就可以模擬為一個FTP服務器,也就是說,你所連接的網絡中的計算機用戶可以訪問你的個人電腦,通過FTP協議(文件傳輸協議)復制、移動、刪除你的電腦中的文件或文件夾,可以做一切權限所允許的事情。利用Serv-u連接MySQL或者連接access數據庫的程序來實現防盜連的技術。
設計采用了ODBC數據源方式將Serv-U與MySQL集成。這樣,在虛擬主機中Serv-U的所有賬戶和組信息,還有訪問策略信息都將存儲在MySQL數據庫中。Serv-U FTP賬戶的數據庫存取是實例采用的重要技術,對數據庫的正確操作能實現對
Serv-U的管理,從而實現FTP賬戶的在線申請、用戶流量控制和空間限額等功能。用戶空間申請成功后,系統會在Serv-U中為用戶創建賬戶并將用戶的發布目錄添加到Serv-U賬戶中,限制用戶FTP登錄時只能進入自己的Web發布目錄。這樣用戶就可以通過FTP直接登錄到自已的網站空間,對其進行管理,整合結構如圖1所示。
3.3 用戶數據庫分配和在線管理
要為用戶提供虛擬Web主機,為用戶提供數據庫支持。因為現今的網站已不再是多年前的純靜態網站,用戶需要更新網站數據,實現其動態的功能,必須要使用數據庫對數據進行存取。用戶成功申請賬戶時,系統會為用戶創建與用戶名相應的數據庫,創建數據庫賬戶,并將該數據庫授權給該用戶,該數據庫用戶僅能訪問自己的數據庫。管理員可以訪問到所有的數據庫,包括用戶數據庫和系統數據庫。用戶數據庫管理采用PHP軟件phpMyAdmin在線管理,非常便捷。
3.4 B/S管理系統“NewWebServer”設計
建立管理系統有五個目的,即用戶空間的在線申請、用戶的自我管理、管理員對用戶的在線管理、管理員對系統配置和系統信息統計。
“NewWebServer”是利用JAVA技術JSP&Servlet編寫的B/S管理系統。它將虛擬Web主機系統和FTP系統聯系起來,顯示了虛擬主機系統的強大功能。圖2為系統功能模塊圖。
3.4.1 MySQL多用戶管理
//創建數據庫
sql="create database"+dbname;
stmt.execute(sql);
//創建數據庫用戶
sql="GRANTUSAGEON*.*TO\""+dbusername+"\"@\"%\"IDENTIFIEDBY\""+dbpassword+"\"WITHMAX_QUERIES_PER_HOUR0MAX_CONNECTIONS_PER_HOUR0MAX_UPDATES_PER_HOUR0";
stmt.execute(sql);
//授權用戶使用為其創建的數據庫
sql="GRANTALLPRIVILEGESON'"+dbname+"'.*TO\""+dbusername+"\"@\"%\"";
stmt.execute(sql);
因此,登錄phpMyAdmin時就只能訪問自己的數據庫了。
重點提示:@后面可跟%或localhost;
%表示任意位置,即用戶可以從網上的任意位置連接到服務器的數據庫;
localhost表示用戶只能通過MySQL數據庫所在的服務器連接MySQL。
為了讓用戶在登錄phpMyAdmin時輸入用戶名和密碼,需要將phpMyAdmin目錄下的config.inc.php文件中一項改為$cfg
['Servers'][$i]['auth_type']='http';(注:要使用這個功能,php的安裝必須以mod_php的方式安裝。)
同樣,在刪除用戶時
//收回該用戶數據庫權限并刪除該用戶
sql="REVOKEALLPRIVILEGESON*.*FROM\""+username+"\"@\"%\"";
stmt.execute(sql);
System.out.println("5.用戶權限已收回");
sql="DELETEFROMmysql.userWHEREUser='"+username+"'ANDHost='%'";
Stmt.execute(sql);
其他的都是一些邏輯和對數據庫表的簡單操作,詳情可參看系統源碼。
3.4.2 B/S管理系統的安全性
B/S管理系統的賬戶同樣也是Serv-U的賬戶,同時,在驗證密碼時,采用了正則表達式,消除了SQL注入攻擊的可能。
If(UserName.length()<6||!UserName.matches("[a-z0-9A -Z]+"))
{
//如果不合法,就返回錯誤提示頁
}
If(UserPassword.length()!=0){//密碼為空是允許的
//如果不空,就要遵守正則表達式
If(!UserPassword.matches("[a-z0-9A-Z]+")){
//如果不合法,就返回錯誤提示頁
}
}
登錄狀態的安全性采用session跟蹤,這是通用的方法。
4 結束語
總之,為建設運行速度快、工作效率高、功能齊全、安全性能好的虛擬機系統平臺,就要準確地實行以上建設方案,才能建設出滿意的系統平臺,從而最大程度地體現了虛擬機系統的服務功能。
參考文獻
[1]李霞.系統虛擬機關鍵技術研究[J].微型電腦應用,2010(03).
[2]羅英偉.系統虛擬化技術在校園中的應用[J].中國教育網絡,2011(05).
〔編輯:白潔〕
['Servers'][$i]['auth_type']='http';(注:要使用這個功能,php的安裝必須以mod_php的方式安裝。)
同樣,在刪除用戶時
//收回該用戶數據庫權限并刪除該用戶
sql="REVOKEALLPRIVILEGESON*.*FROM\""+username+"\"@\"%\"";
stmt.execute(sql);
System.out.println("5.用戶權限已收回");
sql="DELETEFROMmysql.userWHEREUser='"+username+"'ANDHost='%'";
Stmt.execute(sql);
其他的都是一些邏輯和對數據庫表的簡單操作,詳情可參看系統源碼。
3.4.2 B/S管理系統的安全性
B/S管理系統的賬戶同樣也是Serv-U的賬戶,同時,在驗證密碼時,采用了正則表達式,消除了SQL注入攻擊的可能。
If(UserName.length()<6||!UserName.matches("[a-z0-9A -Z]+"))
{
//如果不合法,就返回錯誤提示頁
}
If(UserPassword.length()!=0){//密碼為空是允許的
//如果不空,就要遵守正則表達式
If(!UserPassword.matches("[a-z0-9A-Z]+")){
//如果不合法,就返回錯誤提示頁
}
}
登錄狀態的安全性采用session跟蹤,這是通用的方法。
4 結束語
總之,為建設運行速度快、工作效率高、功能齊全、安全性能好的虛擬機系統平臺,就要準確地實行以上建設方案,才能建設出滿意的系統平臺,從而最大程度地體現了虛擬機系統的服務功能。
參考文獻
[1]李霞.系統虛擬機關鍵技術研究[J].微型電腦應用,2010(03).
[2]羅英偉.系統虛擬化技術在校園中的應用[J].中國教育網絡,2011(05).
〔編輯:白潔〕
['Servers'][$i]['auth_type']='http';(注:要使用這個功能,php的安裝必須以mod_php的方式安裝。)
同樣,在刪除用戶時
//收回該用戶數據庫權限并刪除該用戶
sql="REVOKEALLPRIVILEGESON*.*FROM\""+username+"\"@\"%\"";
stmt.execute(sql);
System.out.println("5.用戶權限已收回");
sql="DELETEFROMmysql.userWHEREUser='"+username+"'ANDHost='%'";
Stmt.execute(sql);
其他的都是一些邏輯和對數據庫表的簡單操作,詳情可參看系統源碼。
3.4.2 B/S管理系統的安全性
B/S管理系統的賬戶同樣也是Serv-U的賬戶,同時,在驗證密碼時,采用了正則表達式,消除了SQL注入攻擊的可能。
If(UserName.length()<6||!UserName.matches("[a-z0-9A -Z]+"))
{
//如果不合法,就返回錯誤提示頁
}
If(UserPassword.length()!=0){//密碼為空是允許的
//如果不空,就要遵守正則表達式
If(!UserPassword.matches("[a-z0-9A-Z]+")){
//如果不合法,就返回錯誤提示頁
}
}
登錄狀態的安全性采用session跟蹤,這是通用的方法。
4 結束語
總之,為建設運行速度快、工作效率高、功能齊全、安全性能好的虛擬機系統平臺,就要準確地實行以上建設方案,才能建設出滿意的系統平臺,從而最大程度地體現了虛擬機系統的服務功能。
參考文獻
[1]李霞.系統虛擬機關鍵技術研究[J].微型電腦應用,2010(03).
[2]羅英偉.系統虛擬化技術在校園中的應用[J].中國教育網絡,2011(05).
〔編輯:白潔〕