Linux 系統安裝完成後,若未進行資安強化,仍可能遭受攻擊。本篇將完整介紹 SSH、MySQL 與 Apache 的安全設定,並透過多個實務案例說明,讓新手也能快速建立安全的伺服器環境。
Linux 安裝後基本安全強化流程
Linux 安裝完成後應先更新系統、建立使用者並啟用防火牆,這些基本設定可以大幅降低風險。接著透過 Fail2ban 防止暴力破解攻擊,是每台伺服器都應完成的基本防護。
| 項目 | 說明 |
|---|---|
| 更新 | 修補漏洞 |
| 帳號 | 避免 root |
| 防火牆 | 限制連線 |
# 案例一
sudo apt update && sudo apt upgrade -y
# 說明:更新系統
# 案例二
adduser user1
usermod -aG sudo user1
# 說明:建立帳號
# 案例三
sudo ufw enable
# 說明:啟用防火牆
SSH、MySQL 與 Apache 安全設定
SSH: Key登入 + 禁止root
MySQL: 初始化安全
Apache: 隱藏資訊
以下為實務中必做的安全設定案例,涵蓋 SSH、MySQL 與 Apache,確保系統安全。
# SSH 案例一:禁止 root 登入
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
# 說明:避免 root 被攻擊
# SSH 案例二:關閉密碼登入
PasswordAuthentication no
# 說明:改用 SSH Key
# SSH 案例三:變更 Port
Port 2222
# 說明:降低掃描攻擊
# SSH 案例四:限制登入使用者
AllowUsers user1
# 說明:限制可登入帳號
# MySQL 案例一:安全初始化
sudo mysql_secure_installation
# 說明:移除匿名帳號
# MySQL 案例二:禁止遠端 root
UPDATE mysql.user SET Host='localhost' WHERE User='root';
# 說明:限制 root
# MySQL 案例三:重新載入權限
FLUSH PRIVILEGES;
# 說明:套用設定
# Apache 案例一:隱藏版本
sudo nano /etc/apache2/conf-available/security.conf
ServerTokens Prod
ServerSignature Off
# 說明:避免資訊外洩
# Apache 案例二:關閉目錄瀏覽
Options -Indexes
# 說明:防止檔案列出
# Apache 案例三:限制存取
Require all denied
# 說明:限制敏感目錄
常見錯誤與解決:
- ❌ SSH 無法登入 → 檢查 Port 與防火牆設定
- ❌ MySQL 登入失敗 → 重設密碼
- ❌ Apache 無法啟動 → 檢查設定檔語法
FAQ 常見問題
Linux 是否一定要做安全設定?
是的,否則容易被攻擊。
SSH Key 有必要嗎?
建議使用,可提升安全性。
MySQL 預設安全嗎?
不完全,需要手動設定。
Apache 需要設定嗎?
需要,避免資訊外洩。
Fail2ban 有用嗎?
非常有用,可防暴力破解。
Linux 要常更新嗎?
建議定期更新。
