從歷史的角度來看,應用安全一度在應用交付中被忽視。這是因為將高標準的安全性整合到應用的各個環(huán)節(jié)中,需要大量時間去測試和迭代,這會大大降低應用的開發(fā)速度和增加成本預算。
Radware注意到,隨著企業(yè)不斷優(yōu)化和加速應用開發(fā)周期,越來越多的應用在公共云中交付,安全性就成了公有云應用不得不正視的巨大挑戰(zhàn)。公有云上的應用通常在新架構中運行,這些新架構可以提供前所未有的效率、靈活性和成本效益。開發(fā)工具的流行,進一步加快了應用的開發(fā)和部署步伐, DevOps越來越多地在應用交付中發(fā)揮積極作用。自動化平臺、強大的業(yè)務流程框架、開源工具包和可視方案等越來越多地在公有云環(huán)境中均扮演重要角色,這也為公有云引入新的安全風險。例如DevSecOps作為DevOps的安全組件,雖然將安全盡職調(diào)查納入驅(qū)動速度、敏捷性和持續(xù)交付的流程中,但是如果DevSecOps缺乏自動化和可視化,對應用的保護能力就會較差,進而不能對連續(xù)交付流程提供有保障的安全性。
云生態(tài)環(huán)境:容器、微服務和服務網(wǎng)格
越來越多的容器、微服務和服務網(wǎng)格出現(xiàn)在了公有云環(huán)境中。Radware注意到,從單片架構過渡到微服務架構,使得企業(yè)更頻繁地部署應用,以更可靠的方式獨立交付不同的微服務。容器技術與微服務完美匹配。每個微服務都可以跨越多個容器部署,以實現(xiàn)快速彈性部署,既提高了應用質(zhì)量又縮短上線時間。
服務網(wǎng)格在微服務體系結構中處理服務間通信的層級。其目的是通過負載平衡、遙測、流量路由、運行狀況檢查等提供彈性,以降低微服務體系結構的復雜性。
向微服務架構過渡的諸多挑戰(zhàn)中有一些挑戰(zhàn)與提供對象的規(guī)模有關。在單片時代,很少有單片Web實例需要負載平衡。而如今,成千上萬個自動生成的容器需要負載均衡。
云上應用的安全挑戰(zhàn)
Radware的安全專家指出,微服務架構和服務網(wǎng)格基礎架構提供了所有功能,卻無法化解應用和數(shù)據(jù)安全挑戰(zhàn)。云上的應用除了面臨與過去相同的安全挑戰(zhàn)之外,還要面臨微服務應用的分布式特點導致的延遲、拓撲結構改變以及并行管理多個微服務的挑戰(zhàn)。
開放式Web應用安全(OWASP)為專業(yè)人員提供了主要的Web應用安全風險提示。而注入、身份驗證被破壞、跨站點腳本(XSS)和敏感數(shù)據(jù)泄漏只是與公有云以及公有云應用相關的幾個風險示例,并不是全部。
當前的Web應用大量使用API,如物聯(lián)網(wǎng)(IoT)應用,機器對機器通信、事件驅(qū)動的Web應用,Web框架中的自動操作,功能即服務(FaaS)應用,移動應用等都會涉及API。所有這些用例均指南北通信,即客戶端到應用的流量。這些用例的大多數(shù)API帶有JSON主體(REST-JSON)的REST API。一小部分API是基于XML結構化數(shù)據(jù)格式的簡單對象訪問協(xié)議(SOAP)。
由于這些API在HTTP協(xié)議之上運行,大多數(shù)Web應用的安全風險與其他應用相同。只是由于API可以單獨提供,因此圍繞授權和訪問控制,API帶來了額外的安全挑戰(zhàn)。
隨著API的采用日益廣泛,OWASP組織制定了API安全項目,并發(fā)布了OWASP API Security十大版本。提及的API安全風險的示例:包括級別授權、過多的數(shù)據(jù)暴露、缺乏資源和速率限制以及惡意代碼注入,所有這些風險都可能導致數(shù)據(jù)被盜竊或服務被中斷。