可重用云工具彌補應用安全問題
當在兩個不同的公司工作時,軟件工程師Alex Salazar和Les Hazlewood發現自己正在為每個應用重塑身份驗證和訪問控制。由于缺少可重用、靈活的企業以及安全云應用開發工具,促使他們辭掉工作并為開發人員和架構師構建可重用、開放源代碼的和商業的安全工具。
Salazar和Hazlewood建立Apache Shiro的過程中,揭示了企業和云應用開發者所面臨的安全問題,處理這些問題的方法以及避免常見的錯誤。他們為企業和云應用的身份驗證、密碼存儲、用戶管理、訪問控制和共同安全工作流創建了Stormpath應用程序接口(API)。
在Georgia Tech上大學時,Salazar和Hazlewood曾是1999年成立的軟件即服務(SaaS)工程團隊的創辦者。“但在當時被稱為‘應用程序服務提供者’,”Salazar說,“在Marc Benioff使它成為標準之前,我們就建立了多租戶系統……,它運行得很好并且我們癡迷于SaaS模型。”
縱觀他們的職業生涯,他們都在不斷地解決安全工具不足的問題,并一直在滿足每一個項目中DIY安全的需求,開發人員通常不得不從頭開始編寫用戶管理代碼。
可重用云工具彌補應用安全問題
“所有的這些工作對于安全來說都很必要,但這并不是應用功能的核心,”Hazlewood說,“并且,因為這些自定義代碼并不強大,而且不能被多個應用程序使用,開發人員通常為他們建立的每個應用重寫相同的代碼,進一步加劇了開發成本。”一旦實現,這些從零開始編寫的代碼通常就會被忽略并且很少更新,可能隨著時間的推移就會出現安全漏洞。
Hazlewood啟動Apache Shiro項目,創建一個用于認證、授權、加密和會話管理的開放源代碼的Java安全框架。
“Shiro強大了,”Salazar說。即便如此,Hazlewood仍然發現一個問題:安全框架只解決了部分的認證訪問控制問題,因為框架為了完成他們的工作,仍然不得不與后端系統對話,如Active Directory或LDAP。當構建基于云的應用程序時,然而,沒有Active Directory或LDAP,因此他仍然不得不反復地重塑那一部分。
Hazlewood說,在公有云中,傳統的網絡安全策略并不適用,而且任何安全漏洞可能被迅速利用。這個缺陷與索尼PlayStation Network 、LinkedIn、Last.FM、雅虎和最近的Twitter相比,成本明顯很高。
Hazlewood說:“大多數開發團隊的員工沒有足夠的安全專業知識,所以當將他們的應用程序部署到公有云時,他們冒著非常高的風險”。Salazar表示同意,“云日漸成為應用程序的爭議平臺。”
Hazlewood不知道Salazar也在云中間件軟件領域處理著同樣的問題,現有的工具有單點登錄功能,這些功能對于在云中構建新的應用程序是不夠的。“當將Salesforce與其他產品集成時,單點登錄是很好的,但對于你自己的自定義應用卻并非如此,”Salazar說,“我看到每個人在構建定制云應用都很痛苦,以及非常具體應用程序、手機的應用程序、客戶應用程序、伙伴應用程序等等。”
Salazar叫Hazlewood來解決他的技術驗證的問題。“他開始笑了,因為他在做相同的事情,”Salazar說,“我說,‘好吧,讓我們談談一些客戶。辭掉工作并創辦一個公司。’”
作為開放源代碼軟件的支持者,他們第一次計劃發布他們的工具作為開放源代碼的產品,使用典型的開放源代碼的商業模式。在探索性研究中,他們發現,對于那些擁有內部安全與發展團隊的大企業來說,開放源代碼交付效果很好,但是那些小型和中型企業(SMB)卻效果不佳。如必要的話,大公司有能力DIY,但是他們卻很歡迎可重用、內部的解決方案。大多數中小企業沒有DIY的安全團隊或內部專業。“顯而易見,云交付是中小企業交付路線,”Salazar說,“中型企業不想做安全管理,他們擔心修補數據庫服務器和運行最新的副本。他們只是想要一個隨需應變的API”。
開發人員構建新的應用程序,Stormpath提供自動化安全工作流的服務,啟用身份驗證服務、訪問控制和更多服務,Hazlewood說:“因此開發人員可以回去寫代碼了”。如認證、密碼重置和電子郵件帳戶驗證這樣的工作,每一個都需要一個單一的REST調用。Salazar說:“沒有數據建模,沒有代碼,沒有UI,也沒有那些”。語言庫使Java、PHP和Rubydevelopers不必了解REST和JSON。
“沒有人喜歡一遍又一遍地構建安全性,” Salazar說,“這是應用程序的關鍵,但它并不是核心;建立業務邏輯才是核心。”他們繼續探索可重用應用安全解決方案,對于Salazar和Hazlewood來說,接下來的一步是建立更多的Stormpath軟件開發者工具包并擴展開發語言和平臺支持。