在 Ubuntu 系统初次安装后,进行一些基础安全设置可以显著降低被攻击的风险。以下是推荐的核心安全配置步骤:
一、立即更新系统
新系统可能包含未修复的安全漏洞,首先更新所有软件包:
bash
# 更新软件源索引
sudo apt update
# 升级所有可更新的包(包括安全补丁)
sudo apt upgrade -y
# 升级系统版本相关的重要包(可选,谨慎操作)
sudo apt dist-upgrade -y
# 清理过时的包文件
sudo apt autoremove -y && sudo apt autoclean
二、用户与权限管理
创建普通用户(避免直接使用 root)
日常操作应使用普通用户,仅在需要时通过sudo
获取权限:bash
# 创建新用户(替换your_username为实际用户名) sudo adduser your_username # 授予sudo权限(需要时) sudo usermod -aG sudo your_username
禁用 root 直接登录
防止攻击者直接针对 root 账户暴力破解:bash
# 锁定root密码(无法通过密码登录,但仍可通过sudo提权) sudo passwd -l root
三、配置防火墙
Ubuntu 默认预装ufw
(简单防火墙工具),需手动启用并配置规则:
bash
# 启用防火墙
sudo ufw enable
# 允许必要的服务(根据需求添加,示例如下)
sudo ufw allow ssh # 允许SSH远程连接(默认端口22)
sudo ufw allow http # 允许HTTP(80端口,网站服务用)
sudo ufw allow https # 允许HTTPS(443端口,加密网站用)
# 查看当前规则
sudo ufw status verbose
# 禁止所有未允许的入站连接(默认规则,通常已生效)
sudo ufw default deny incoming
sudo ufw default allow outgoing
四、加固 SSH 服务(远程登录关键)
SSH 是远程管理的主要入口,需重点防护:
编辑 SSH 配置文件:
bash
sudo nano /etc/ssh/sshd_config
推荐修改以下配置(去掉注释并修改值):
ini
# 禁用密码登录,仅允许密钥登录(关键!) PasswordAuthentication no # 禁用root直接SSH登录 PermitRootLogin no # 可选:修改默认端口(减少扫描攻击,例如改为2222) Port 2222 # 限制允许登录的用户(替换为你的用户名) AllowUsers your_username # 限制连接尝试次数(防止暴力破解) MaxAuthTries 3
重启 SSH 服务使配置生效:
bash
sudo systemctl restart sshd
配置 SSH 密钥登录(替代密码,更安全):
在本地电脑生成密钥对,将公钥上传到 Ubuntu:bash
# 本地电脑生成密钥(Windows用PowerShell,Linux/macOS用终端) ssh-keygen -t ed25519 -C "your_email@example.com" # 上传公钥到Ubuntu(替换端口和用户名) ssh-copy-id -p 2222 your_username@your_server_ip
五、启用自动安全更新
设置系统自动安装安全补丁,无需手动干预:
bash
# 安装自动更新工具
sudo apt install -y unattended-upgrades
# 启用自动更新配置
sudo dpkg-reconfigure -plow unattended-upgrades
配置后,系统会定期自动下载并安装安全更新。
六、安装恶意软件防护工具
虽然 Linux 恶意软件较少,但关键场景(如文件服务器)仍需防护:
bash
# 安装ClamAV(开源杀毒软件)
sudo apt install -y clamav clamav-daemon
# 更新病毒库
sudo freshclam
# 扫描指定目录(示例:扫描/home)
sudo clamscan -r /home
七、其他重要设置
检查并禁用不必要的服务
减少运行中的服务可降低攻击面:bash
# 查看当前运行的服务 sudo systemctl list-unit-files --type=service --state=enabled # 禁用不需要的服务(示例:禁用FTP服务) sudo systemctl disable --now vsftpd
设置 BIOS/UEFI 密码
防止物理访问者修改启动设置(进入主板 BIOS/UEFI 界面配置)。启用磁盘加密(若未在安装时配置)
对于移动设备或敏感数据,可使用cryptsetup
加密分区(操作复杂,建议安装时选择 "加密整个磁盘")。安装
fail2ban
防御暴力破解
自动封禁多次失败登录的 IP:bash
sudo apt install -y fail2ban # 启用并启动服务 sudo systemctl enable --now fail2ban
八、定期备份数据
安全不仅是防御攻击,还包括数据恢复:
bash
# 示例:用rsync备份/home到外部硬盘(假设硬盘挂载在/mnt/backup)
sudo rsync -av --delete /home /mnt/backup