Try   HackMD

簡易網站架設

在資訊安全課程第二週及第三週的 Web 課程中我們嘗試許多對於網站的攻擊手法
但正所謂 知己知彼,百戰百勝
要攻擊別人的網頁,首先要知道網頁的架構
這裡透過架設簡單的網站,了解基本的網站架構,再未來做網頁攻擊能有更深層的理解

Linux 上架設網站

下載 LAMP

這裡採用 LAMP Server + phpMyAdmin

LAMP(Linux Apache MySQL PHP) 是Linux系統上的開源架站組合
因為架設簡單,所以作為練習應該十分足夠了

  1. 更新 Ubuntu
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
  1. 安裝 tasksel
    因為 tasksel 裡面就已經有包含了 LAMP ,所以就下載它吧!
sudo apt install tasksel
  1. 安裝 LAMP Server
sudo tasksel install lamp-server

到這邊,打開 http://127.0.0.1 應該能看到 Apache2 Ubuntu Default Page

接下來關於網頁的內容都會被放在 /var/www/html/ 裡面
我們可以先進去看看,會發現到 index.html ,正是我們剛剛看到的 Apache2 Ubuntu Default Page

  1. 查看 PHP 詳細資料
    剛剛知道我們的網頁內容都會被放在 /var/www/html/
    接下來我們要在這裡新增一個檔案 info.php

記得要以 sudo 權限編輯,否則可能會因權限不足而無法新增檔案

<?php phpinfo(); ?>

新增完成後,打開到 http://127.0.0.1/info.php ,就可以看到 PHP 的相關資訊囉

apache server 簡易指令

  • 開啟 apache server
    ​sudo service apache2 start
  • 關閉 apache server
    ​sudo service apache2 stop
  • 重啟 apache server
    ​sudo service apache2 restart
  • 查看 apache server
    ​sudo service apache2 status

安裝 phpMyAdmin

sudo apt install phpmyadmin

因為我們是採用 apache2 的環境,這邊選擇 apache2

由於現在只能透過鍵盤操作,可以透過 tab 切換現在控制的區域
另外選取要使用 空白鍵

安裝過程中會要求我們輸入一組密碼,之後會用這組密碼登入 phpmyadmin ,使用者名稱預設為 phpmyadmin

設定 SQL root 密碼

前面我們有設定過 phpmyadmin 的密碼,但是權限並不是最高的,當前唯有 root 帳號擁有最多權限
然而 root 的初始值為空字串,登入系統不允許密碼無輸入,所以這邊要設定 root 的密碼

sudo mysql -u root mysql

現在我們進入到 MySQL 的 shell ,讓root帳號啟用mysql_native_password插件,使其能夠擁有密碼,並且能使用密碼登入。

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

接下來重新載入特權表

FLUSH PRIVILEGES;

接下來設定 SQL root 密碼

sudo mysql_secure_installation

開啟 VALIDATE PASSWORD 插件,可以幫助我們檢查root密碼的安全性,避免被設置得太簡單而有安全上的疑慮。
輸入y,同意啟用 VALIDATE PASSWORD 插件。

再來要決定密碼的複雜度,這裡選擇 2

最後連續輸入兩次密碼就設定完成囉!

密碼複雜度決定為 2 ,所以密碼長度限制至少 8 碼,並且必須包含數字、英文大小寫字母和特殊字元

最後選項都輸入 y 即可

使用 phpMyAdmin

最後開啟 http://127.0.0.1/phpmyadmin

使用剛剛設定的 root 密碼登入即可

參考文章

https://magiclen.org/lamp/

tags: 資訊安全補充講義