Ubuntu Minimal安全防護指南
sudo apt update && sudo apt upgrade
命令安裝最新安全補??;啟用unattended-upgrades
包(編輯/etc/apt/apt.conf.d/50unattended-upgrades
),自動安裝安全更新,確保系統始終處于最新狀態。/etc/ssh/sshd_config
文件,將PermitRootLogin
設置為no
,禁止root用戶通過SSH直接登錄,降低賬戶被爆破的風險。/etc/login.defs
文件,設置密碼最長使用天數(如PASS_MAX_DAYS 90
)、最短使用天數(如PASS_MIN_DAYS 1
)、到期警告天數(如PASS_WARN_AGE 7
);使用chage
命令為現有用戶設置密碼過期時間(如chage -M 90 username
)。sudo adduser admin
),將其加入sudo
組(sudo usermod -aG sudo admin
),日常操作使用普通用戶,必要時通過sudo
提升權限,避免長期使用root賬戶。sudo apt install ufw
安裝UFW(Uncomplicated Firewall),使用sudo ufw enable
啟用防火墻(默認拒絕所有傳入流量,允許所有傳出流量)。sudo ufw default deny incoming
(拒絕所有傳入流量)和sudo ufw default allow outgoing
(允許所有傳出流量),確保未明確允許的流量無法進入系統。sudo ufw allow 22/tcp
,HTTP用sudo ufw allow 80/tcp
,HTTPS用sudo ufw allow 443/tcp
);若更改SSH端口(如2222),需同步更新防火墻規則(sudo ufw allow 2222/tcp
)。sudo ufw allow from 192.168.1.0/24
(允許指定網段)或sudo ufw allow from 192.168.1.100
(允許特定IP)限制訪問,減少非法IP的嘗試。/etc/ssh/sshd_config
文件,取消#Port 22
注釋并修改為非標準端口(如Port 2222
),降低自動化掃描攻擊的概率;修改后重啟SSH服務(sudo systemctl restart ssh
)。/etc/ssh/sshd_config
中設置PasswordAuthentication no
,強制使用公鑰認證,避免密碼被猜測或暴力破解。ssh-keygen -t rsa -b 4096
),將公鑰復制到服務器(ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip -p 2222
);確保~/.ssh
目錄權限為700(chmod 700 ~/.ssh
),authorized_keys
文件權限為600(chmod 600 ~/.ssh/authorized_keys
)。/etc/ssh/sshd_config
中添加AllowUsers your_username
(替換為實際用戶名),僅允許指定用戶通過SSH登錄,進一步縮小攻擊范圍。/var/log/auth.log
(認證日志)和/var/log/syslog
(系統日志),識別異常登錄嘗試(如多次失敗的密碼認證)或未授權操作;可使用Logwatch
工具自動生成日志報告(sudo apt install logwatch
)。Fail2Ban
(sudo apt install fail2ban
),監控SSH日志并自動封禁惡意IP地址(如連續3次失敗登錄的IP,封禁600秒);配置文件為/etc/fail2ban/jail.local
,啟用[ssh]
部分并調整參數。auditd
(sudo apt install auditd
),記錄系統調用和文件訪問行為(如sudo auditctl -w /etc/passwd -p wa -k passwd_changes
),便于事后追溯異常操作。/home
)或使用VeraCrypt
加密單個文件/目錄,確保敏感信息(如數據庫文件、配置文件)不被未授權訪問。