温馨提示×

Ubuntu环境下如何进行安全设置

小樊
55
2025-09-20 22:01:59
栏目: 智能运维

Ubuntu环境下安全设置的关键步骤

1. 系统更新与补丁管理

保持系统最新是防范已知漏洞的基础。定期运行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
启用自动更新(仅安装安全补丁),避免遗漏重要修复:
sudo apt install unattended-upgrades
编辑配置文件 /etc/apt/apt.conf.d/50unattended-upgrades,确保包含以下内容:
Unattended-Upgrade::Allowed-Origins { "$distro_id:$distro_codename-security"; };
自动更新可每日凌晨执行,减少手动操作风险。

2. SSH安全加固

SSH是远程管理的主要通道,需重点防护:

  • 禁用root直接登录:编辑 /etc/ssh/sshd_config,设置 PermitRootLogin no,避免root账户暴露在暴力破解风险中。
  • 使用密钥认证替代密码:生成密钥对(ssh-keygen -t rsa -b 4096),将公钥复制到服务器(ssh-copy-id username@server_ip),然后在配置文件中禁用密码登录:PasswordAuthentication no
  • 更改默认端口:将SSH默认端口22改为非标准端口(如2222),减少自动化工具的扫描:sudo ufw allow 2222/tcp(需同步修改配置文件中的Port参数)。
    修改后重启SSH服务:sudo systemctl restart sshd

3. 防火墙配置(UFW)

UFW(Uncomplicated Firewall)是Ubuntu默认的防火墙工具,需合理设置规则:

  • 启用UFWsudo ufw enable(启用后默认拒绝所有传入连接,允许所有传出连接)。
  • 设置默认策略sudo ufw default deny incoming(拒绝未明确允许的传入连接)、sudo ufw default allow outgoing(允许所有传出连接)。
  • 允许必要服务:仅开放业务所需的端口,如HTTP(80/tcp)、HTTPS(443/tcp)、SSH(22/tcp或自定义端口):sudo ufw allow 80/tcpsudo ufw allow 443/tcp
  • 基于IP的限制:允许特定IP访问敏感端口(如SSH),减少暴露范围:sudo ufw allow from 192.168.1.100 to any port 22
  • 启用日志记录sudo ufw logging on(日志路径为/var/log/ufw.log),便于后续审计异常连接。

4. 用户与权限管理

遵循“最小权限原则”,避免过度授权:

  • 创建普通用户:避免直接使用root账户日常操作,创建用户并分配sudo权限:sudo adduser usernamesudo usermod -aG sudo username
  • 设置sudo超时:编辑sudoers文件(sudo visudo),添加Defaults timestamp_timeout=5(5分钟后需重新输入密码),减少sudo权限的滥用风险。
  • 文件/目录权限:设置合理的权限,如目录755(所有者可读写执行,其他用户可读执行)、文件644(所有者可读写,其他用户可读):sudo chmod 755 /path/to/directorysudo chmod 644 /path/to/file
  • ACL细粒度控制:对需要更严格权限的文件/目录,使用访问控制列表(ACL):sudo setfacl -m u:username:rwx /path/to/file(允许特定用户读写执行)。

5. 暴力破解防护(Fail2ban)

Fail2ban可自动封禁多次尝试登录的IP地址,降低暴力破解风险:

  • 安装Fail2bansudo apt install fail2ban
  • 配置规则:复制默认配置文件并修改(sudo cp /etc/fail2ban/jail.local /etc/fail2ban/jail.local.bak),调整[sshd]部分的参数,如maxretry=3(3次失败后封禁)、bantime=600(封禁10分钟)。
  • 启动服务sudo systemctl start fail2bansudo systemctl enable fail2ban

6. 防病毒与恶意软件扫描

虽然Linux系统感染病毒的概率较低,但仍需定期扫描:

  • 安装ClamAVsudo apt install clamav clamav-daemon
  • 更新病毒库sudo freshclam(确保能检测最新威胁)。
  • 扫描系统sudo clamscan -r /(递归扫描根目录,-r表示递归)。

7. 数据加密与备份

  • 敏感数据加密:使用LUKS(Linux Unified Key Setup)加密硬盘或分区,防止物理设备丢失导致数据泄露:sudo apt install cryptsetup,然后按照提示初始化加密分区并挂载。
  • 定期备份:使用rsync或专业备份工具(如Deja Dup)定期备份重要数据,存储到异地(如云存储):sudo rsync -av /path/to/source /path/to/destination

8. 日志审计与监控

日志是发现异常行为的关键,需定期检查:

  • 启用auditdsudo apt install auditd audispd-plugins,启动服务:sudo systemctl enable auditdsudo systemctl start auditd
  • 查看审计日志sudo ausearch -i(实时查看审计事件,-i表示人性化输出),重点关注/var/log/auth.log(认证日志)中的异常登录记录。

0