目錄

在 AWS Elastic Beanstalk 中為 PHP 部署 AcuSensor

AWS Elastic Beanstalk 允許您部署一個用以滿足用戶端需求的 Web 應用。在本篇提供的範例將演示如何將 AcuSensor 與您的 Web 應用一起部署到 AWS Elastic Beanstalk 中。

在 Acunetix 中建立您要掃描的目標

在這個範例中,將要掃描的目標假定為「http://eb.acunetixexample.com」,使用此 URL 創建一個目標,啟用 AcuSensor,下載 PHP 專用的 AcuSensor 代理文件,預設檔名會是「acusensor.php」,保存此文件以供後續使用。

定義 Web Application source bundle

透過以下文件結構定義這個簡單的 Web 應用:

/.ebextensions/
/.ebextensions/acusensor.config
/acusensor/
/acusensor/acusensor.php
/public/
/public/index.php
/public/test.php

使用以下指令為您的 source bundle 建立資料夾:

mkdir ~/axexample
mkdir ~/axexample/.ebextensions
mkdir ~/axexample/acusensor
mkdir ~/axexample/public

建立 ~/axexample/.ebextensions/acusensor.config 文件,並加入以下內容:

files:
  "/etc/php.d/acusensor.ini" :
    mode: "000755"
    owner: root
    group: root
    content: |
      auto_prepend_file=/var/www/html/acusensor/acusensor.php

建立 ~/axexample/public/index.php 文件,並加入以下內容:

<?php
    echo "<h1>Test PHP Site Example for AWS Elastic Beanstalk</h1>";
    echo "<br>";
    echo "Welcome to the main page.";
    echo "<br>";
    echo "<a href='test.php'>Go to the test page.</a>";
?>

建立 ~/axexample/public/test.php 文件,並加入以下內容:

<?php
    echo "<h1>Test PHP Site Example for AWS Elastic Beanstalk</h1>";
    echo "<br>";
    echo "Welcome to the test page.";
    echo "<br>";
?>

將 acusensor.php 複製到 ~/axexample/acusensor/ 資料夾下。
最後,使用以下命令建置 source bundle

cd ~/axexample
zip -rq axexample.zip .

部署您的 Web application 到 AWS Elastic Beanstalk

  • 從 AWS Dashboard 依序點選 Elastic Beanstalk -> Environments
  • 點選「Create a new environment」按鈕
    Create a new environment button
  • 將您的環境層設置為 Web server environment
    Set environment tier to Web server environment
  • 點選「Select」按鈕
  • 然後會導航到 Elastic Beanstalk -> Create environment 頁面
    • 將 Application name 欄位設置為您的 Web 應用的名稱;在此範例中假設名稱為 axexample-php
      Set the Application name field to the name for your web application
    • 將 Platform 透過下拉式選單選到 PHP
      Set the Platform dropdown to PHP
    • 選擇 「Upload your code」選項並點選「Choose file」按鈕
      Enable the Upload your code option and click the Choose file button
    • 選擇要上傳的 axexample.zip,然後點選「Configure more options」按鈕
      click the Configure more options button
    • 在 Software 面板中點選「Edit」按鈕
      click the Edit button
    • 在 Modify software 頁面中將「Document root」欄位設定成「/public」
      set the Document root field to public
    • 向下滾動 Modify software 的頁面到底部找到並點選「Save」按鈕。
    • 向下滾動 Configure environment 的頁面到底部找到並點選「Create environment」按鈕。
  • AWS Elastic Beanstalk 將用幾分鐘的時間創建您的環境。
    now create your environment
  • 該過程完成後,將轉到此環境的儀表板。
    When the process is complete you will be sent to your environment's dashboard
  • 記下由 AWS Elastic Beanstalk 對此新環境自動創建的 URL:
    • 你需要創建一個 CNAME 來指向這個 URL
    • 在此範例中,我們將為 eb.acunetixexample.com 創建一個 CNAME 以指向 axexamplephp-env.eba-uyafmbt5.us-east-1.elasticbeanstalk.com;這是使用 Namecheap cPanel 介面的範例:
      using the Namecheap cPanel interface
  • 添加了 CNAME 記錄並給予 DNS 記錄傳播時間,您將可以瀏覽您的 URL(在此範例中為 http://eb.acunetixexample.com)來查看您創建的 Web 應用:
    you can see the web application you have created by browsing to your URL

測試並掃描您的 Web

開啟瀏覽器並瀏覽您剛建立的 Web 網站,以此篇教學為例則是以瀏覽器開啟 http://eb.acunetixexample.com 以確定它按預期運行;您將看到以下畫面:
Point your browser to your web application
最後,對這個目標進行掃描;活動面板將顯示 AcuSensor 已被偵測到並用於此次掃描。
run a scan on your target