打造安全的LAMP平台四處方

2021-04-14 12:40:05 字數 2062 閱讀 5793

lamp是乙個基於linux、apache、mysql、php的開源web開發平台,有時也將它作為perl或python替代性程式語言。apache http

伺服器擁有極大的

安全性,至少在它執行在linux或任何unix類的

作業系統

上的時候是這樣。不過

簡單的靜態唯讀web站點面臨著各種危險;如今人們更多地開發

動態的web站點,這是否代表著一種進步呢?

對於筆者而言,更喜歡過去那種簡單的靜態的html,因為即使瀏覽器的支援和站點質量像現在一樣存在著問題,至少它們並沒有因為執行那些臃腫的、低效的、錯誤百出的指令碼而使

系統陷於停頓甚至鎖死整個系統。隨著linux的普及,我們再也不能對其安全自鳴得意了。

由於linux發行版本,如xammp和ubuntu等,也由於php指令碼語言的極大流行,現在安裝乙個lamp並在乙個晚上就建立乙個動態的web站點已經相當容易了。不過這種簡易性並不一定是一件好事。任何乙個web

管理人員都需要花點時間和能源來徹底地學習其lamp。任何乙個暴露在網際網路下的

伺服器都需要對安全的額外關注,而動態的web伺服器尤甚,因為其更為複雜,其附帶的損害更嚴重。

近期有組織的犯罪對計算機的漏洞利用呈上公升趨勢,而惡意軟體也僅是作為乙個欺詐和竊取的途徑而已。現在,它們進入你的系統一般並不是為了破壞,而是悄悄地竊取資料並將你的系統與世界範圍內的殭屍網路聯絡起來。

你可以採取的最重要一步是不要使用php。在你扔掉這個「爛蘋果」 之前,請繼續讀下去。

一、php=煩惱

php(超文字預處理程式)是lamp不安全鏈條中的罪魁禍首。它相對年輕,誕生於2023年,且仍在發展。php的問題分為三個方面:固有的缺陷、不健全的編碼器、站點不打補丁或公升級php。

如果我們揭開php的蓋頭,發現的將不會是乙個美人。它充滿了混亂和不諧調的因素。其命名約定、語法、大小寫敏感性都有矛盾。其內建函式基本上多餘,相關文件資料少得可憐,因此你並不能確定哪乙個函式的具體作用是什麼。

php看起來易於學習。在某種程度上,你可以在幾小時內學會建立乙個動態的web站點。不過,要明確它的不安全因素並學會如何避免之可能要花費幾年的時間。最常見的安全漏洞之一是非確認的輸入—即所有的使用者輸入必須是不可信任的,不過php在這方面並沒有什麼得力的

工具,因此你不得不編寫自己的驗證例程。

在運用apache的mod_php並以乙個apache模組的形式執行時,php繼承了apache程序的所有證書。因此,apache可讀 寫的全部內容也就是php可讀寫的內容,這也就意味著一次成功的php漏洞利用會直接匯入到apache中以及它所涉及到的所有內容。在乙個簡單站點上以 單一使用者執行mod_php沒有什麼問題,不過在乙個共享的系統上以多使用者執行它這簡直就是一場噩夢,因為所有的指令碼都執行在同樣的apache使用者之 下。乙個可選方案是在suexec 或cgiwrap下執行php。這二者在一些健全的指令碼語言下也可很好地執行,如perl,pythlon,ruby。

現在有數不清的站點仍在執行php3和php4,還有更多的站點從來沒有打過安全補丁或進行程式的缺陷修正。php5早在2023年就已發布, 而php3在2023年發布。是的,這有點兒愚蠢甚至不安全,不過更新到更新的php版本幾乎總是需要重大的**重寫。更可笑的是apache、php、 mysql總是衝突;你不得不同時使用恰當的、相容的版本,否則它們就不能一起執行。對於簡易的全新的安裝,我們有很多選擇,如xammp 和ubuntu的 lamp程式包都是不錯的產品。不過,在你設法公升級你的系統而它們不能保持同步時,真正可笑的事情也會接踵而至。

二、mysql

強化mysql依賴於幾個基本的步驟:沒有網路訪問;在一次根目錄的改變中,在乙個唯一的組和使用者下執行mysql;建立乙個強健的管理員口 令;沒有匿名訪問;清除你不需要的所有方面,如示例資料庫和表,以及所有的測試資料庫和表。在這個站點http: //www.securityfocus.com/infocus/1726鏈結上有一篇很不錯的操作指南,這是一系列操作指南的一部分,還有保障 apache和php安全的鏈結。mysql參考手冊還有一些安全方面的好章節。請記住, chroot並非安全手段,不過security focus還是推薦它。

三、鎖定apache的安全

所有的敏感會話,如使用者登入或任何使用者輸入,都需要用openssl保護。

小結

SpringMVC的學習(四) 處理靜態資源

需要注意一種,dispatcherservlet攔截資源設定成了 是不會攔截jsp資源,但是它會攔截其他靜態資源,例如 html js 等等,那麼我們在使用jsp內部新增 靜態資源就無法成功,所以,我們需要單獨處理下靜態資源 處理方案 在springmvc的配置檔案中新增mvc命名空間下的標籤 修改...

長尾詞的「四處一詞」與URL選擇

四處一詞 已經是乙個公認的操作長尾關鍵詞的要領了,這裡廈門seo先解釋下什麼是如何理解 四處一詞 假設你已經為你的某個內容頁面選定好了你要優化的長尾詞,那麼建議你在這個頁面的4個地方出現你選擇的這個詞 第一處 當前頁面的標題上出現這個關鍵詞 第二處 當前頁面關鍵詞 keywords 描述 descr...

專案四 處理工人工資的問題 擴充套件1

煙台大學計算機學院學生 all right reserved.檔名稱 煙台大學計算機學院學生 all right reserved.檔名稱 專案四 處理工人工資的問題 擴充套件1 完成日期 2013年3月18日 版本號 v1.0 對任務及求解方法的描述部分 專案四 處理工人工資的問題 擴充套件1 我...