網站伺服器 雲端運算 WAF 開源碼 網站

動手玩Google雲端平台 實戰架設LAMP網站主機

2018-01-30
本文將示範如何在Google雲端服務上建置一個常用的LAMP網站解決方案,並為此網站伺服器加入以開放原始碼開發的網頁防火牆軟體(WAF),以提高網站伺服器的防護能力。

當使用者在存取網站伺服器時,先經過ModSecurity模組過濾,再交由Apache伺服器進行處理。

在此不多談ModSecurity模組的用法,僅說明如何安裝ModSecurity模組。先下載ModSecurity原始碼(在此使用2.9.2版本),並依據如下指令進行安裝:


在安裝完成後,即可設定httpd.conf來啟用ModSecurity,如下設定為偽裝成IIS:


在重啟Apache後,利用下列方式來驗證ModSecurity是否能夠正常地運作。

以PHP程式來驗證

撰寫一個簡單的程式先行測試,設定內容如下:


隨後以瀏覽器來瀏覽此程式,如果ModSecurity已正常運作,就會出現如圖8所示的輸出。可藉由檢查Apache Version欄位是否為IIS,以及Load Modules欄位是否有mod_security2字樣來判斷。


▲圖8 確認ModSecurity已經正常運作。

過nmap進行驗證

可利用「nmap -sV 127.0.0.1」來觀察通訊埠80的輸出是否已改為IIS,藉此確認ModSecurity模組是否有正常地運作,如圖9所示。


▲圖9 確認ModSecurity模組是否正常地運作。

安裝MySQL

原本筆者以為只要在上述所建立的虛擬機器安裝MySQL軟體後就可以使用資料庫的功能,後來才發現Google並不允許如此的用法,而是必須使用他們所提供的雲端資料庫功能來建立,換句話說,就是要另外建立一個虛擬機器給資料庫使用,整個建立過程如下所述。

首先,點選gcp consol端(https://console.cloud.google.com/)的SQL,來建立執行個體。

緊接著選擇資料庫的類型,在此選擇MySQL,如圖10所示。


▲圖10 選用MySQL資料庫類型。

然後,設定SQL的相關組態,必須設定下列的幾項組態:

‧根密碼:設定MySQL的root使用者的密碼

‧區域:建議設定「asia-east1-a」(位於台灣彰化)

‧授權網路:設定允許連接到此資料庫的來源IP

其餘的組態多為系統資源的配置,根據自身的需求進行配置即可,如圖11~12所示。


▲圖11 配置系統資源之一。


▲圖12 配置系統資源之二。

在設定完成後,就能夠建立專供MySQL使用的虛擬機器,如圖13所示。


▲圖13 專供MySQL使用的虛擬機器已建立完成。

至此,一個含有網頁防火牆的雲端LAMP環境即告完成!

<本文作者:吳惠麟,多年資安經驗,喜好利用開源碼建構相關解決方案,著有「資訊安全原理與實驗」等書。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!