Internet 與 Web 已成現代生活核心基礎設施。Web 安全非單一文章可盡述,其開放性與多層次架構決定了必須投入額外關注。本文結合實務經驗,系統探討如何建立安全 Web 站台。
Web 伺服器軟體駐留於伺服器,管理海量文件,依用戶請求回傳資訊。主流軟體:Apache (跨平台、市佔最高)、IIS (Windows NT/2000/2003 原生整合)。
Web 瀏覽器發送資源請求、解碼顯示 HTML、處理圖片/影音/Flash 等內容。代表:Netscape Navigator/Communicator (跨平台)、IE (Windows 最佳相容)。
HTTP/1.1 為核心應用層協定,支援虛擬主機 (單 IP 多域名)、內容協商、持久連線加速、斷點續傳。瀏覽器與伺服器經 TCP 三向交握建立連線,通常於 80 通訊埠通訊。
Web 伺服器與外部程式交換資料的標準介面。支援 C/C++/Perl/Shell 等語言。瀏覽器以 GET/POST 傳遞表單資料,伺服器轉予 CGI 程式處理,動態產生頁面回傳。Unix 下 GET 透過環境變數傳遞,POST 走標準輸入/輸出。
Web 安全涵蓋七大層面,最弱一環決定整體安全等級:
本文聚焦最直接影響的伺服器作業系統與 Web 伺服器軟體防禦。
在功能 (靜/動態頁面、使用者資訊處理、站內搜尋、遠端管理)、效能 (回應時間、吞吐量)、安全 (已知漏洞最少、管理操作授權化、拒絕非公開內容存取、停用非必要網路服務、執行程式存取控制、稽核日誌、容錯) 三角權衡中,依組織安全策略、實際情況、產品資訊與優秀案例綜合決策。
/etc/rc.d/ 不需腳本;Windows 移除未用網路協定、開發工具 (如 C/C++ 編譯器)、關閉 IP 轉送。專機專用 (僅跑 Web) 可簡化架構、單一管理、單一存取、日誌精簡。tcp_wrapper 限制 Telnet 來源;Windows 用 TCP/IP 進階設定「啟用安全機制」白名單限制通訊埠。Web 安全屬相對概念,無絕對安全,唯有將風險降至最低,並落實「有法必依」,將策略貫徹至採購、架構、人員、管理與每日工作,方能構築可信賴的 Web 站台。
HTTP、IIS、CGI、LAN、RPC、TCP/IP、FTP、SMTP、PC、OS 等詳見文末對照表。