華爲內部的WEB安全原則

Web安全原則

1.認證模塊必須採用防暴力破解機制,例如:驗證碼或者多次連續嘗試登錄失敗後鎖定帳號或IP。

說明:如採用多次連續嘗試登錄失敗後鎖定帳號或IP的方式,需支持連續登錄失敗鎖定策略的“允許連續失敗的次數”可配置,支持在鎖定時間超時後自動解鎖。

2.對於每一個需要授權訪問的頁面或servlet的請求都必須覈實用戶的會話標識是否合法、用戶是否被授權執行這個操作,以防止URL越權。

說明:防止用戶通過直接輸入URL,進行URL越權,請求並執行一些頁面或servlet;建議通過過濾器實現。

3. 登錄過程中,往服務器端傳遞用戶名和口令時,必須採用HTTPS安全協議(也就是帶服務器端證書的SSL)。只提供本機接入、登錄,做設備管理使用的場景暫時不要求。

說明:如果在客戶端和服務器間傳遞如帳號、口令等敏感數據,必須使用帶服務器端證書的SSL。由於SSL對服務端的CPU資源消耗很大,實施時必須考慮服務器的承受能力。

4. 對用戶的最終認證處理過程必須放到服務器進行。

5. 用戶產生的數據必須在服務端進行校驗;數據在輸出到客戶端前必須先進行HTML編碼,以防止執行惡意代碼、跨站腳本***。對於不可信的數據,輸出到客戶端前必須先進行 HTML 編碼。

6. 使用主流Web安全掃描工具掃描Web服務器和Web應用,不存在“高”級別的漏洞。

7. 非嵌入式產品的Web應用,應使用預編譯語句PreparedStatement代替直接的語句執行Statement,以防止SQL注入。

數據庫安全

外購數據庫、開源數據庫、華爲自研數據庫都應進行安全配置,保證不出現安全漏洞。

1.數據庫口令禁止使用數據庫廠商的缺省口令,且口令複雜度需滿足“口令安全要求”。數據庫若存在多個默認帳號,須將不使用的帳號禁用或刪除。

2. 使用單獨的操作系統帳號來運行數據庫;數據庫中的敏感文件(如:Oracle數據庫的init.ora、listener.ora等)需要嚴格控制訪問權限,只能被數據庫進程運行帳戶和DBA帳戶讀寫;對數據庫帳戶授予的權限進行嚴格清晰的劃分,所有數據庫帳戶只能具備執行其任務的最小權限;對於有監聽器功能的數據庫(如Oracle的listener.ora)需要設置監聽器密碼或者設置爲本地操作系統驗證。

3. 使用主流或華爲指定的系統掃描軟件進行安全掃描,不存在“高”級別的漏洞。

敏感數據保護

系統對敏感數據的存儲、傳輸和處理需保證數據安全,並遵從適用國家和地區的法律和法規要求。

敏感數據定義:包括但不限於口令、銀行賬號、個人數據(單獨使用該數據或者結合其他信息可以識別某個活着的自然人的數據,包括:最終用戶姓名、帳號、主叫和被叫號碼、通信記錄、話單、通信時間、定位數據等)。

1. 口令不允許明文存儲在系統中,應該加密保護。在不需要還原口令的場景,必須使用不可逆算法加密。對銀行賬號等敏感數據的訪問要有認證、授權和 加密機制。口令文件必須設置訪問權限控制,普通用戶不能讀取或拷貝加密的內容。如果帳戶文件/數據中含有口令又必須所有用戶可訪問,則需將帳戶文件/數據 與口令文件/數據分開。

注:對於業界第三方主流軟硬件(如操作系統、數據庫、Web容器)自身提供的口令功能,不受本條限制。

2. 在非信任網絡之間進行敏感數據(包括口令,銀行帳號,批量個人數據等)的傳輸須採用安全傳輸通道或者加密後傳輸,有標準協議規定除外。

3.禁止使用私有加密算法。

說明:

1) 對稱加密算法建議使用:AES192及以上強度;

2) 密鑰交換算法建議使用:DH1024;

3) 數字簽名算法建議使用:DSA1024、ECDSA192;

4) 非對稱算法建議使用:RSA2048、ECC192;

5) HASH(哈希)算法建議使用:SHA256及以上強度;

6) HMAC(基於哈希的消息驗證碼)算法建議使用:HMAC-SHA256;

4. 用於敏感數據傳輸加密的密鑰,不能硬編碼在代碼中。

在敏感數據的安全傳輸上,優先使用業界的標準安全協議(如SSH v2/TLS1.0/SSL3.0/IPSec/SFTP/HTTPS等),並確保密鑰可配置;如果是由產品自身實現安全傳輸過程,則優先使用Diffie-Hellman密鑰交換算法,如果使用預置共享密鑰等其他方法,也必須保證該密鑰可配置和可替換。

5. 禁止在日誌、話單等文件中記錄口令、銀行賬號、通信內容等敏感數據;

6. 儘量避免在日誌、話單中記錄個人數據,如果必須記錄個人數據,則所有數據必須進行結構化存儲或適合於進行匿名化提取;

1)儘量避免在日誌中記錄個人數據,如果必須記錄,在個人數據之前或之後加統一的標記,以區別於其他非個人數據。

2)儘量避免在話單中記錄個人數據,如果必須記錄,則話單必須進行結構化存儲,字段間必須由統一的分隔符分開,每行的字段按列嚴格對應。

7. 有個人數據導出功能的產品發佈時必須同時提供對個人數據進行過濾或匿名化處理和功能或工具;

8. 嚴格限制導出功能的權限,對導出功能的使用必須有日誌記錄。

9. 涉及個人數據的採集/處理的功能須提供安全保護機制(如認證、權限控制、日誌記錄等),並通過產品資料向客戶公開。

10. 在正常業務流程和標準協議之外,禁止出於故障定位目的進行用戶精確位置信息定位。如需處理用戶精確位置數據,應有華爲的明確需求,並在方案設計時,給予用戶隨時撤回同意的機會。

口令安全策略管理

1. 設置口令時,默認檢測口令複雜度,口令至少滿足如下要求:

1) 口令長度至少6個字符(特權用戶至少8個字符);

2) 口令必須包含如下至少兩種字符的組合:

-至少一個小寫字母;

-至少一個大寫字母;

-至少一個數字;

-至少一個特殊字符:`~!@#$%^&*()-_=+|[{}];:’”,<.>/?  和空格

3) 口令不能和帳號或者帳號的逆序相同;

若設置的口令不符合上述規則,必須進行警告。

2. 系統必須提供鎖定用戶的機制。可選擇如下兩種方式之一:

方式一:當重複輸入錯誤口令次數(默認3次,次數系統可以設置)超過系統限制時,系統要鎖定該用戶。

方式二:系統還可以設置下次允許輸入口令的間隔時間加倍,採用這種方式時,用戶可以不設置自動鎖定。

3. 可設置自動解鎖時間(只適用於由於口令嘗試被鎖定的用戶)

1) 對於口令嘗試N次失敗被鎖定的用戶,系統要能夠設置自動解鎖時間,建議默認解鎖時間爲5分鐘。

2) 用戶被鎖時間達到預定義時間,可自動解鎖該用戶,或者也可通過安全管理員手工解鎖該用戶。

3) 在鎖定時間內,僅能允許應用安全管理員角色所屬帳號手動解鎖該用戶。

4. 操作界面中的口令不能明文顯示,鍵入口令時不能明文顯示出來(操作界面中的輸入口令可不顯示或用*代替),包括在終端上打印或存儲在日誌中時也不能明文顯示口令,即使是內存中的明文口令(如登錄期間),也應在使用後立即覆蓋。

5. 口令輸入框不支持拷貝功能。

6. 對於系統內置帳號的缺省口令,口令應符合複雜度的要求,並在客戶資料中提醒用戶修改。

7. 用戶可修改自己的口令,需滿足如下要求:

1) 用戶修改自己口令時必須驗證舊口令;

2) 不允許修改除自身帳號以外的帳號的口令(管理員除外)

8. 口令不能在網絡中明文傳輸,口令等認證憑證在傳輸過程中必須加密,使用高安全等級的加密算法。

說明:

1) 對稱加密算法建議使用:AES192及以上強度;

2) 密鑰交換算法建議使用:DH1024;

3) 數字簽名算法建議使用:DSA1024、ECDSA192;

4) 非對稱算法建議使用:RSA2048、ECC192;

5) HASH(哈希)算法建議使用:SHA256及以上強度;

6) HMAC(基於哈希的消息驗證碼)算法建議使用:HMAC-SHA256;

9. 口令在本地存儲時必須加密,需滿足如下要求:

1) 口令不能夠明文寫入日誌文件、配置文件以及cookie中;

2) 口令文件必須設置訪問控制,普通用戶不能讀取或拷貝加密的內容。

10. 產品配套資料提供清晰的帳號、口令清單。

說明:華爲提供用戶清單模板

安全資料

針對售前、開局、現網運維幾個階段,提供配套安全方案、資料。

1.在產品描述中對產品安全特性進行描述。

2. 產品發佈前提供產品通信矩陣。描述機器/網元/模塊間的通信關係,包括:通信使用的端口、協議、IP地址、認證方式、端口用途信息等。

說明:華爲提供通信矩陣模板。

3. 產品發佈前提供防病毒軟件部署指南。描述防病毒軟件部署前的準備、流程、執行步驟、失敗後回退處理,以及病毒特徵庫升級配置指導(Windows系統平臺必選)。

4. 產品發佈前提供安全配置/加固指南。

描述如下內容:

-安全加固及檢查,主要包括操作系統、數據庫或WEB服務器等加固內容,需要包含具體的加固內容和操作步驟(必選)。

-應用的安全配置,針對產品業務安全應用,需要啓用哪些安全選項,配置哪些內容。(對於需要通過對產品開局時進行安全策略配置才能生效的安全功能,需要提供此部分內容)。如果沒有應用的安全配置,命名爲安全加固指南。安全加固指南是必須的。

5. 產品發佈前提供安全維護手冊。從解決方案角度提供業務日常安全維護方面的指導,包括安全補丁、安全配置、防病毒軟件例行檢查等,指導維護人員例行進行安全維護。

操作系統安全

無論是使用通用操作系統(WindowsLinuxUnix等)還是嵌入式操作系統(如VxWorks、pSOS等),系統都應該保證軟件及軟件運行環境的安全。

注:系統指交付給客戶運行的整體系統,包括自研的軟件、軟件運行的操作系統及應用服務在內。

1.使用主流漏洞掃描軟件進行安全掃描,不存在高風險級別的漏洞。

2.基於通用操作系統的新發貨產品“操作系統加固+操作系統補丁”預裝率=100%;對於不在生產環節預安裝的產品,需要在正式發佈的版本中包含默認的安全策略文件,並在產品資料中說明加固要求和操作步驟。

說明:

1)華爲提供的操作系統,產品版本應基於最新的操作系統安全補丁進行開發和兼容性測試。

2)合作方提供的操作系統,合作方需在版本交付前對操作系統安全補丁進行兼容性測試並隨版本發佈,並根據CIS標準對操作系統進行加固並隨版本發佈。

3.使用Windows操作系統的產品,產品需要使用主流防病毒軟件進行進行兼容性測試。

說明:

1)華爲提供的Windows操作系統,合作方需使用主流防病毒軟件或華爲指定的防病毒軟件進行兼容性測試;

2)合作方提供的Windows操作系統,產品需要缺省配套華爲指定的防病毒軟件,並對防病毒軟件進行兼容性測試。

協議與接口防***

系統應具備基本的防***能力,對影響自身的常見***具備防禦能力等。注:系統指交付給客戶運行的整體系統,包括自研的軟件、軟件運行的操作系統及應用服務在內。

1.系統所有的對外通信連接必須是系統運行和維護必需的,對使用到的通信端口在產品通信矩陣文檔中說明,動態偵聽端口必須限定確定的合理的範圍。通過端口掃描工具驗證,未在通信矩陣中列出的端口必須關閉。

說明:

1)華爲提供通信矩陣模板。

2.儘量避免使用動態偵定端口的實現方式,在沒有替代方案的情況下,如果必須使用,需滿足如下要求:

1)、如果使用業界標準的協議(如RPC、FTP被動模式),並有一定的安全措施(如NFS安全配置、防火牆支持FTP被動模式等);

2)、如果自實現的方式,則動態偵聽端口必須限定確定的合理的範圍。

2. 所有能對系統進行管理的通信端口及協議必須有接入認證機制,標準協議沒有認證機制的除外。

3. 對自研協議和業界非主流軟件(包括非主流的開源軟件)實現的協議要進行協議畸形報文***測試。

4. 設備外部可見的能對系統進行管理的物理接口必須有接入認證機制。

監聽接口及防止非法監聽

產品開發合法監聽接口應遵循國際標準及所在國的法律要求。

1.在沒有華爲明確需求的情況下,嚴禁開發具有監聽性質的功能和接口,無論該功能和接口是否要遵循相應的國家標準和國際標準。

2. 在華爲對合法監聽接口有需求的情況下,合作方需根據華爲提供的監聽功能或接口的文件中的要求開發。

說明:對提供合法監聽接口的產品版本的要求(二選一)

1)產品提供兩個版本的軟件安裝包:一個支持合法監聽,一個不支持合法監聽。根據市場的安全要求,選擇對應的軟件安裝包進行部署。

2)產品提供軟件安裝包拆分爲:基本軟件安裝包和合法監聽插件安裝包。根據市場的安全要求,選擇是否安裝合法監聽插件安裝包。

3. 在正常業務流程和標準協議之外,禁止提供採集最終用戶原始通信內容(語音類、短信/彩信類、傳真類、數據業務類)的功能,即使出於保障網絡運營和服務目的。

注:

1) 除了語音類、短信/彩信類、傳真類、數據業務類信息屬於通信內容外,最終用戶的即時消息、E-Mail信息、URL同樣屬於通信內容;

2) 允許使用debug功能,但debug信息中不允許包含口令、銀行賬號、通信內容等敏感數據。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章