web開發安全防範 總結篇

2021-09-12 16:11:06 字數 2038 閱讀 9236

廢話不多說,直接上乾貨,希望能夠對各位讀者有幫助....

資料庫篇

1. 對類似訪問令牌、電子郵箱位址或賬單詳情進行加密處理,尤其是使用者的身份識別資訊(密碼)。

2. 如果你的資料庫支援低成本加密,請確保開啟這項功能並保護主機磁碟中的資料。與此同時,確保所有的備份檔案都進行了加密儲存。

3. 按照最小許可權原則給資料庫訪問賬號分配許可權,不要使用資料庫的root賬號。

4. 使用金鑰儲存器來儲存或派發金鑰,不要直接將金鑰硬編碼在你的應用之中。

5. 通過使用sql預處理語句來避免sql注入攻擊。比如說,如果你使用的是npm,那麼請不要使用npm-mysql,你應該用的是npm-mysql2,因為它支援sql預處理語句。

開發篇1. 確保你軟體中所有元件的每乙個版本都進行了漏洞掃瞄,包括介面、協議、**以及資料報。

2. 對產品中所有使用到的第三方工具時刻保持警惕性,選擇一款安全係數較高的開發平台。

身份驗證篇

1. 使用合適的加密演算法(例如bcrypt)來計算並儲存密碼雜湊,在初始加密時選擇合適的隨機資料,還有就是千萬不要自己去寫乙個加密演算法。

2. 使用簡單但健壯的密碼規則,以鼓勵使用者設定長度足夠安全的隨機密碼。

3. 在服務的登入機制中引入多因素身份驗證功能。

dos保護篇

1. 確保那些針對api的dos攻擊不會嚴重影響你**的正常執行,至少要限制api的請求訪問速率。

2. 對使用者所提交的資料和請求進行結構和大小的限制。

3. 使用類似cloudflare這樣的快取**服務來為你的web應用新增ddos緩解方案。

web流量篇

1. 使用tls,不只是你的登入表單和**響應資料,而是你的整個**都應該使用tls。

2. cookie必須為httponly。

3. 使用csp(內容安全策略),雖然配置過程比較麻煩,但這覺得是值得的。

4. 在客戶端響應中使用x-frame-option和x-xss-protection頭。

5. 使用hsts響應,使用https。

6. 在所有的表單中使用csrf令牌。

api篇

1. 確保你所有的公共api中沒有可以列舉的資源。

2. 確保使用者在使用你的api之前,對他們的身份進行驗證。

驗證篇1. 在客戶端對使用者的輸入進行驗證,並即使給予反饋(ajax),但永遠不要相信使用者輸入的資料。

2. 在伺服器端再對使用者所輸入的每乙個字元進行一次徹底的驗證,永遠不要直接將使用者輸入的內容注入到響應資料中,永遠不要直接在sql語句中插入使用者提供的資料。

雲端配置篇

1. 確保所有的服務只開啟必要的埠,關閉不用的埠,並對常用埠進行強制性的安全保護,因為通過非標準埠來進行攻擊對於攻擊者而言相對來說是比較困難的。

2. 確保伺服器後台資料庫和後台服務無法通過公網檢視到。

3. 在單獨的vpc節點配置邏輯服務或提供服務內通訊。

4. 確保所有的服務只接受來自有限ip位址的資料。

5. 限制輸出資料的ip位址以及埠。

6. 使用aws iam角色,不要使用root憑證。

7. 對所有的管理員和開發人員提供最小的訪問許可權。

8. 定期更換密碼和訪問金鑰。

基礎設施篇

1. 確保可以在主機不下線的情況下進行更新操作,確保部署了全自動化的軟體更新策略。

2. 使用類似terraform這樣的工具來建立所有的基礎設施,不要使用雲端console(控制台)來進行建立。

3. 對所有服務的日誌進行集中記錄,不要通過ssh來訪問或獲取日誌。

4. 不要讓aws服務組的埠22保持開啟狀態。

5. 一定要部署入侵檢測系統。

操作篇1. 關閉不用的服務和伺服器,因為最安全的伺服器是那些關閉著的伺服器。

測試篇1. 開發完成之後,對你的設計和**實現進行多次安全審查。

2. 進行滲透測試,也就是自己黑自己,但你也要讓別人來對你的**進行滲透測試。

計畫篇1. 建立乙個安全威脅模型,用來描述你可能會遇到的威脅以及攻擊者。

2. 設計乙個安全應急響應方案,你總有一天會用到的。

結束

web層安全防範

1.銘記乙個基本原則 永遠也不要相信使用者的輸入!2.輸入檢測。是否驗證了它的 是否檢查了字段的長度?為空或者超長是否會產生問題?是否限制了字段的可用字符集?數值型 英文本母 可見字元 中文字元,etc是否含有對程式有特殊含義的字元?是否限制了字段的取值範圍 特別是數值型資料 是否限制了字段的格式?...

Web安全防範 防止重放攻擊

我們在開發介面的時候通常會考慮介面的安全性,比如說我們通常會要求請求的url攜帶乙個經過演算法加密的簽名sign到服務端進行驗證,如果驗證通過,證明請求是合法的。比如以下的url 醬紫,可能語言難以理解,我畫個圖先 首先正常的請求系統會要求校驗,當你的合法請求被黑客攔截之後,黑客就會重複地傳送該合法...

PHP安全防範

php 安全和xss,sql注入等對於各類 的安全非常中用,尤其是ugc user generated content 論壇和電子商務 常常是xss和sql注入的重災區。這裡簡單介紹一些基本程式設計要點,相對系統安全來說,php 安全防範更多要求程式設計人員對使用者輸入的各種引數能更細心.建議安裝s...