常見 Linux 資安漏洞與修補

Linux 資安強化完整教學|SSH、MySQL、Apache 安全設定(新手到進階)

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 要常更新嗎?

建議定期更新。

    PAGE TOP