iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
Security

讓 Hacking for Dummies 一書陪我 30 天系列 第 28

Day 28 - 如何降低網站的安全性風險

出於書本 Chapter 14. Web sites and Application

使用隱匿性安全

隱匿性安全 (security by obscurity) 使用簡單的方法,透過隱藏某些東西,來防止像是蟲 (worms) 或腳本 (scripts) 的自動化攻擊程式,攻擊特定的腳本類型或預設的 HTTP 通訊埠。像是

  • 使用同不同的機器營運網頁、後端服務與資料庫
  • 更改網頁應用程式執行使用的通訊埠 (port) ,如果可能的話,盡量不要使用如 rootadministrator 等有特權的帳號運行伺服器。
  • .Net 應用程式可以使用內建的網頁安全性功能來做控制存取與隔離。(access controls/process isolation)
  • 如果擔心網站因為運行的平台 (例如:Microsoft IIS 或是 Linux 系統等) 不同,而遭受特定平台相關的攻擊,可以試著混淆攻擊者,像是
    • 如果是運行在 IIS 上的網路應用程式,可以更改所有 ASP 腳本的副檔名為 .cgi
    • 如果試運行在 Linux ,可以利用像是 IP Personality 來更改 OS 的 fingerprint ,讓系統看起來是跑在別的平台上。

使用防火牆

使用網路防火牆來偵測以及阻擋攻擊

使用原始碼分析工具

安全性漏洞始於軟體開發,終於軟體開發

如果到目前為止,對於倫理駭客測試的結果都尚感滿意的話,可以深入到程式碼中,搜尋可能尚未被掃瞄工具掃出的安全性缺失。不需要針對程式碼逐行去研究會發生什麼問題,甚至不需要開發相關的經驗。

所以需要的是靜態程式碼分析工具 ( Static Application Security Testing, SAST )

書上舉了一些針對 C#Java 分析工具,其實撰寫網路應用程式的程式語言也是百百種,像是自家公司後端大宗使用的 Golang 也有安全性相關靜態程式碼分析工具 ,像是 securego

OWASP 幫大家整理了一份靜態程式碼分析工具的列表 [1]

https://ithelp.ithome.com.tw/upload/images/20211013/2014118463mQl7Q9fz.png

後記

到這裡,算是將預期的讀書範圍給防守的差不多。後面兩天來看一下與拓展資安守備範圍相關的議題 - 軟體組成清單

[1] Source Code Analysis Tools


上一篇
Day 27 - 不安全的登入機制
下一篇
Day 29 - 軟體物料清單
系列文
讓 Hacking for Dummies 一書陪我 30 天30

尚未有邦友留言

立即登入留言