## 一、概述
業務應用的安全問題,是一個核心的非功能性問題。當前,web應用面臨的主要安全問題包括:黑客入侵、撞庫拖庫、網頁篡改、后門木馬、加密勒索、數據泄露等,一旦發生,會對業務的運營和用戶造成無法挽回的損失,因此,在設計階段就把系統安全,納入考量,是非常必要和重要的;
## 二、常見的安全問題
常見的安全問題,一般包括以下這些類型;
1、數據曝露:通過技術手段,繞過接口驗證機制,獲取后端數據,找到SQL注入點,拉庫;由于數據明文存儲和傳輸,入侵后竊取用戶信息或篡改數據,例如篡改網頁;偽造移動app訪問,獲取敏感數據;
2、應用控制:弱口令、系統漏洞。通過系統漏洞入侵,并上傳后門、木馬等;
3、網絡防控:沒有防范DDoS進攻的能力,DDoS攻擊,造成業務中斷;
## 三、web應用解決方案
產品作為典型的web應用,如何針對具體的web應用安全問題,提供解決方案呢?以下將具體闡述FA+Esuite產品的技術解決方案;
1、SQL注入
問題描述:由于系統設計的時候,對敏感字符不加過濾不做轉義處理,導致惡意用戶可以通過系統的輸入獲取后端完整的數據庫,破壞系統的安全;
解決方案:對輸入數據進行驗證/編碼/過濾,不組裝SQL語句而是使用預編譯SQL語句;如果需要動態組裝SQL語句,確保對特殊字符進行轉義;禁止將任何高權限賬號用于應用程序數據庫訪問,而是單獨為應用創建有限權限的賬號;
2、跨站腳本攻擊
問題描述:惡意用戶在系統頁面輸入控件注入惡意腳本,若系統對輸入的數據不進行處理,直接結果輸出到瀏覽器,瀏覽器將執行惡意腳本,破壞系統的安全;
解決方案:首先,一定要明確一個觀點,一切外部來源數據,都要被我們服務端代碼的過濾,才能讓他展示到頁面上。也就是說,一切外部數據,我們都認為它是非法的,一定要做好過濾;具體的可以通過編碼轉義和字符過濾的方式來避免該安全問題,對HTML標簽關鍵字符進行編碼轉義,對事件、腳本等關鍵字符串進行過濾,避免注入有害腳本,造成攻擊發生;
3、認證和會話管理漏洞
問題描述:Http利用會話管理機制來實現連接識別。用戶登錄通過身份認證后獲取session,通常放在cookie中,之后根據session對用戶身份進行識別,而不需要每次都要登陸,這種機制導致了信息泄露、用戶會話被劫持,破壞系統的安全;
解決方案:對用戶密碼強度設置做要求,登錄使用驗證嗎,對連續多次登錄失敗的賬號進行鎖定,另外,避免在URL中顯示sessionID,確保退出、注銷功能強制銷毀session對象;
## 四、網絡安全拓撲
1、如果采用自主機房的部署方案,那么,需要自行考慮硬件層面的網絡安全方案。這個領域的技術已經很成熟,建議網絡安全拓撲方案如下:

2、如果采用云機房,則無需考慮硬件層面網絡安全,云機房自身已經有了完備的網絡安全方案;
## 五、安全交付
在系統部署上線之前,應該進行安全測試,通過之后,方可交付上線;
推薦一些好用的測試工具:
FindBugs:做白盒測試;
Selenium:做黑盒測試;
- 前言
- 01、系統平臺
- 系統管理
- 組織類型
- 單位管理
- 基本功能
- SAAS功能
- 組織管理
- 角色管理
- 人員管理
- 賬號管理
- 賬戶體系
- 賬號綁定
- 賬號鎖定
- 團隊管理
- 模板管理
- 補丁管理
- 字段管理
- 靜態字典
- 動態字典
- 系統配置
- 菜單配置
- 路由配置
- 編碼規則
- 訪問控制
- 系統參數
- 字典配置
- 參數定義
- 參數配置
- 屬性定義
- 屬性設置
- 樹形定義
- 樹形設置
- 系統監控
- 業務維護
- 工作監控
- 調度監控
- 導入監控
- 日志管理
- 在線監控
- 附件管理
- 附件監控
- 附件應用
- 附件授權
- 上傳監控
- 字段監控
- 系統提醒
- 場景配置
- 事件監控
- 提醒記錄
- 事件歷史
- 日期設置
- 節假日期
- 工作時間
- 日歷編制
- 工作日歷
- 開放平臺
- 微信應用
- 配置信息
- 更新菜單
- 釘釘應用
- 配置信息
- 開放服務
- 應用設置
- 服務管理
- 請求監控
- 請求跟蹤
- 移動應用
- 發布管理
- 導航菜單
- 個人管理
- 個人資料
- 內部消息
- 短信中心
- 流程管理
- 流程定義
- 流程環節
- 處理人
- 流程提醒
- 流程簽收
- 流程目錄
- 流程微調
- 轉移動作
- 定義校驗
- 流程綁定
- 流程實體設定
- 單業務多流程
- 動態表單綁定
- 環節字段設定
- 轉移路由設定
- 流程監控
- 流程催辦
- 流程會話
- 流程啟動
- 通用待辦
- 流程驅動
- 通用已辦
- 示范實例
- 流程啟動
- 流程待辦
- 流程已辦
- 常見問題
- 表單管理
- 預留字段
- 字段定義
- 業務應用
- 動態輔表
- 輔表定義
- 輔表應用
- 輔表監控
- 動態主表
- 主表定義
- 業務定義
- 元數據
- 產生機制
- 應用場景
- 02、技術平臺
- 重要組件
- 表單引擎
- 流程引擎
- 基礎設施
- 系統安全
- 服務集成
- 核心組件
- 核心平臺
- 調度容器
- 代碼調試
- 相關配置
- 常見問題
- 多線程
- 工作容器
- 開放服務
- 富客戶端
- 代理容器
- https
- SSLPinning
- 03、手機應用
- 參數配置
- 技術平臺
- 功能設計
- 系統功能
- 應用升級
- 業務模塊
- 04、微信應用
- 參數配置
- 多公眾號
- 技術平臺
- 業務功能
- 平臺功能
- 微信客服
- 微信公號
- 05、開放服務
- 接入示例
- 實施方案
- nginx安裝
- nginx配置
- nginx運行
- nginx限流
- 實現方案
- 業務操作
- 代碼示意
- 06、常見問題
- 性能優化
- 啟動優化
- 解決方案
- 實體操作沖突
- 算法說明
- 檢驗算法
- 注意事項
- 瀏覽器
- 插件
- 郵箱配置
- 系統維護
- 維護日志
- 維護腳本
- 開發環境
- 07、版權信息
- 平臺版權
- 產品版權
- 后記