简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

站内搜索

搜索

活动公告

11-02 12:46
10-23 09:32
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,将及时处理!
10-23 09:31
10-23 09:28
通知:签到时间调整为每日4:00(东八区)
10-23 09:26

Ubuntu 18.04 LTS安全补丁全解析保障系统安全的必要步骤与最佳实践

3万

主题

424

科技点

3万

积分

大区版主

木柜子打湿

积分
31917

三倍冰淇淋无人之境【一阶】财Doro小樱(小丑装)立华奏以外的星空【二阶】⑨的冰沙

发表于 2025-9-30 02:40:02 | 显示全部楼层 |阅读模式 [标记阅至此楼]

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
引言

Ubuntu 18.04 LTS(Bionic Beaver)是Canonical公司发布的一个长期支持版本,其标准支持将持续到2023年4月,而扩展安全维护(ESM)将持续到2028年4月。作为服务器和桌面系统的主流选择之一,Ubuntu 18.04 LTS的安全性对于企业和个人用户都至关重要。本文将全面解析Ubuntu 18.04 LTS的安全补丁管理机制,并提供保障系统安全的必要步骤与最佳实践。

Ubuntu 18.04 LTS安全架构概述

Ubuntu 18.04 LTS建立在Linux内核之上,采用了多层安全架构来保护系统免受各种威胁。其核心安全特性包括:

1. AppArmor:一个强制访问控制(MAC)系统,通过限制程序可访问的资源来增强系统安全性。
2. 内核安全模块:包括seccomp过滤器、命名空间和控制组(cgroups)等,用于隔离进程和资源。
3. 安全启动:使用UEFI安全启动功能,确保系统只加载经过签名的代码。
4. 编译时保护:包括地址空间布局随机化(ASLR)、堆栈保护(Stack Protector)等,使系统更难受到缓冲区溢出等攻击。

这些安全特性为Ubuntu 18.04 LTS提供了强大的基础保护,但定期的安全补丁仍然是保持系统安全的关键。

安全补丁的重要性与类型

安全补丁的重要性

安全补丁是修复软件中发现的漏洞的关键更新。这些漏洞可能被攻击者利用来获取未授权访问、执行恶意代码或导致系统拒绝服务。及时应用安全补丁对于维护系统安全至关重要,原因如下:

1. 减少攻击面:修复已知漏洞,减少系统被攻击的可能性。
2. 防止数据泄露:许多安全漏洞可能导致敏感数据泄露。
3. 符合合规要求:许多行业标准和法规要求系统必须保持最新的安全补丁。
4. 维护系统稳定性:安全补丁不仅修复安全问题,也常常提高系统稳定性。

安全补丁的类型

Ubuntu 18.04 LTS的安全补丁主要分为以下几类:

1. 重要安全更新(Critical Security Updates):修复严重的安全漏洞,如远程代码执行、特权提升等。
2. 标准安全更新(Standard Security Updates):修复中等或低严重性的安全漏洞。
3. 扩展安全维护(ESM)更新:在标准支持期结束后,Ubuntu 18.04 LTS用户可以选择订阅ESM服务,继续接收重要的安全更新。
4. 实时内核补丁(Livepatch):允许在不重启系统的情况下应用重要的内核安全更新。

安全补丁管理

Ubuntu安全公告(USN)

Ubuntu安全公告(Ubuntu Security Notice,USN)是Ubuntu安全团队发布的官方安全通知。每个USN包含以下信息:

1. 受影响的软件包
2. 漏洞的详细描述
3. 漏洞的严重性级别
4. 修复的版本号
5. 更新说明

用户可以通过订阅Ubuntu安全邮件列表或访问Ubuntu安全网站来获取最新的USN。

补丁等级划分

Ubuntu安全团队将漏洞划分为不同的严重性等级,以帮助用户确定更新的优先级:

1. Critical(严重):可能允许远程攻击者获取系统完全控制权的漏洞。
2. High(高):可能导致数据泄露或系统功能严重受损的漏洞。
3. Medium(中等):影响系统安全性但影响范围有限的漏洞。
4. Low(低):影响最小或难以利用的漏洞。

更新源配置

正确配置更新源是获取安全补丁的前提。Ubuntu 18.04 LTS的更新源配置文件位于/etc/apt/sources.list和/etc/apt/sources.list.d/目录下。

默认情况下,Ubuntu 18.04 LTS的配置已经包含安全更新源:
  1. deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted
  2. deb http://security.ubuntu.com/ubuntu/ bionic-security universe
  3. deb http://security.ubuntu.com/ubuntu/ bionic-security multiverse
复制代码

用户可以通过编辑这些文件来添加或修改更新源,例如使用本地镜像源以提高下载速度。

系统安全的必要步骤

1. 系统更新与补丁管理

手动更新Ubuntu 18.04 LTS系统的步骤如下:

1. 更新软件包列表:sudo apt update
2. 列出可用的更新:apt list --upgradable
3. 应用所有可用更新:sudo apt upgrade
4. 如果有内核更新,可能需要执行:sudo apt dist-upgrade
5. 清理不再需要的软件包:sudo apt autoremove

更新软件包列表:
  1. sudo apt update
复制代码

列出可用的更新:
  1. apt list --upgradable
复制代码

应用所有可用更新:
  1. sudo apt upgrade
复制代码

如果有内核更新,可能需要执行:
  1. sudo apt dist-upgrade
复制代码

清理不再需要的软件包:
  1. sudo apt autoremove
复制代码

在某些情况下,管理员可能只想安装安全更新,以避免其他更新可能带来的兼容性问题:
  1. sudo apt unattended-upgrade
复制代码

或者使用以下命令:
  1. sudo apt -s upgrade | grep "^Inst.*-security" | cut -d" " -f2 | xargs sudo apt install -y
复制代码

2. 自动安全更新配置

配置自动安全更新可以确保系统及时收到重要的安全补丁。Ubuntu 18.04 LTS提供了unattended-upgrades包来实现这一功能:

1. 安装unattended-upgrades包:sudo apt install unattended-upgrades
2. 配置自动更新:sudo dpkg-reconfigure -plow unattended-upgrades
3.
  1. 或者直接编辑配置文件/etc/apt/apt.conf.d/50unattended-upgrades,设置如下:Unattended-Upgrade::Allowed-Origins {
  2. "${distro_id}:${distro_codename}";
  3. "${distro_id}:${distro_codename}-security";
  4. // "${distro_id}:${distro_codename}-updates";
  5. // "${distro_id}:${distro_codename}-proposed";
  6. // "${distro_id}:${distro_codename}-backports";
  7. };
复制代码
4.
  1. 配置自动更新的邮件通知(可选):Unattended-Upgrade::Mail "your-email@example.com";
  2. Unattended-Upgrade::MailOnlyOnError "true";
复制代码
5.
  1. 启用自动更新:
  2. 编辑/etc/apt/apt.conf.d/20auto-upgrades文件,设置如下:APT::Periodic::Update-Package-Lists "1";
  3. APT::Periodic::Unattended-Upgrade "1";
复制代码

安装unattended-upgrades包:
  1. sudo apt install unattended-upgrades
复制代码

配置自动更新:
  1. sudo dpkg-reconfigure -plow unattended-upgrades
复制代码

或者直接编辑配置文件/etc/apt/apt.conf.d/50unattended-upgrades,设置如下:
  1. Unattended-Upgrade::Allowed-Origins {
  2. "${distro_id}:${distro_codename}";
  3. "${distro_id}:${distro_codename}-security";
  4. // "${distro_id}:${distro_codename}-updates";
  5. // "${distro_id}:${distro_codename}-proposed";
  6. // "${distro_id}:${distro_codename}-backports";
  7. };
复制代码

配置自动更新的邮件通知(可选):
  1. Unattended-Upgrade::Mail "your-email@example.com";
  2. Unattended-Upgrade::MailOnlyOnError "true";
复制代码

启用自动更新:
编辑/etc/apt/apt.conf.d/20auto-upgrades文件,设置如下:
  1. APT::Periodic::Update-Package-Lists "1";
  2. APT::Periodic::Unattended-Upgrade "1";
复制代码

3. 内核实时补丁(Livepatch)

Ubuntu Livepatch服务允许在不重启系统的情况下应用重要的内核安全更新。这对于需要高可用性的服务器尤其重要。

1.
  1. 注册Ubuntu One账户(如果还没有):
  2. 访问https://ubuntu.com/livepatch并创建账户。
复制代码
2. 获取Livepatch令牌:
登录Ubuntu One账户后,在Livepatch页面获取您的令牌。
3. 安装Livepatch客户端:sudo snap install canonical-livepatch
4. 启用Livepatch服务:sudo canonical-livepatch enable <your-livepatch-token>
5. 检查Livepatch状态:canonical-livepatch status --verbose

注册Ubuntu One账户(如果还没有):
访问https://ubuntu.com/livepatch并创建账户。

获取Livepatch令牌:
登录Ubuntu One账户后,在Livepatch页面获取您的令牌。

安装Livepatch客户端:
  1. sudo snap install canonical-livepatch
复制代码

启用Livepatch服务:
  1. sudo canonical-livepatch enable <your-livepatch-token>
复制代码

检查Livepatch状态:
  1. canonical-livepatch status --verbose
复制代码

注意:免费账户最多可以使用3台计算机的Livepatch服务。

4. 系统加固

Ubuntu 18.04 LTS默认使用ufw(Uncomplicated Firewall)作为防火墙管理工具:

1. 启用ufw:sudo ufw enable
2. 设置默认策略:sudo ufw default deny incoming
sudo ufw default allow outgoing
3. 允许特定服务:sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
4. 查看防火墙状态:sudo ufw status verbose

启用ufw:
  1. sudo ufw enable
复制代码

设置默认策略:
  1. sudo ufw default deny incoming
  2. sudo ufw default allow outgoing
复制代码

允许特定服务:
  1. sudo ufw allow ssh
  2. sudo ufw allow http
  3. sudo ufw allow https
复制代码

查看防火墙状态:
  1. sudo ufw status verbose
复制代码

禁用不必要的服务可以减少系统的攻击面:

1. 查看运行中的服务:systemctl list-units --type=service --state=running
2. 禁用不必要的服务:sudo systemctl disable <service-name>
sudo systemctl stop <service-name>

查看运行中的服务:
  1. systemctl list-units --type=service --state=running
复制代码

禁用不必要的服务:
  1. sudo systemctl disable <service-name>
  2. sudo systemctl stop <service-name>
复制代码

SSH是远程管理Linux系统的常用工具,但也是攻击者的主要目标。以下是一些SSH安全配置建议:

1. 编辑SSH配置文件:sudo nano /etc/ssh/sshd_config
2. 修改以下配置:
“`禁用root登录PermitRootLogin no

编辑SSH配置文件:
  1. sudo nano /etc/ssh/sshd_config
复制代码

修改以下配置:
“`

PermitRootLogin no

# 禁用密码认证,使用密钥认证
   PasswordAuthentication no

# 更改默认端口
   Port 2222

# 仅允许特定用户
   AllowUsers username1 username2

# 禁用空密码
   PermitEmptyPasswords no
  1. 3. 重启SSH服务:
复制代码

sudo systemctl restart sshd
  1. #### 文件系统权限
  2. 正确设置文件系统权限是保护系统安全的重要步骤:
  3. 1. 设置关键目录权限:
复制代码

sudo chmod 700 /root
   sudo chmod 750 /home/*
  1. 2. 设置重要配置文件权限:
复制代码

sudo chmod 640 /etc/passwd
   sudo chmod 600 /etc/shadow
   sudo chmod 640 /etc/group
   sudo chmod 600 /etc/gshadow
  1. 3. 查找并修复权限不正确的文件:
复制代码

sudo find / -type f -perm /o+w -exec ls -l {} \;
  1. ### 5. 安全审计与监控
  2. #### 安装审计工具
  3. 安装并配置审计工具可以帮助监控系统活动并检测潜在的安全问题:
  4. 1. 安装auditd:
复制代码

sudo apt install auditd audispd-plugins
  1. 2. 配置审计规则:
  2.    编辑`/etc/audit/rules.d/audit.rules`文件,添加以下规则:
复制代码

# 监控文件访问
   -w /etc/passwd -p wa -k identity
   -w /etc/shadow -p wa -k identity
   -w /etc/group -p wa -k identity
   -w /etc/sudoers -p wa -k identity

# 监控系统调用
   -a always,exit -F arch=b64 -S chmod -S fchmod -S fchmodat -F auid>=1000 -F auid!=-1 -k perm_mod
   -a always,exit -F arch=b64 -S chown -S fchown -S fchownat -S lchown -F auid>=1000 -F auid!=-1 -k perm_mod
  1. 3. 重启auditd服务:
复制代码

sudo systemctl restart auditd
  1. #### 配置日志管理
  2. 正确配置日志管理可以帮助及时发现和分析安全问题:
  3. 1. 安装rsyslog(如果尚未安装):
复制代码

sudo apt install rsyslog
  1. 2. 配置日志轮转:
  2.    编辑`/etc/logrotate.conf`和`/etc/logrotate.d/`下的配置文件,设置日志轮转策略。
  3. 3. 配置远程日志服务器(可选):
  4.    编辑`/etc/rsyslog.d/50-default.conf`,添加以下行将日志发送到远程服务器:
复制代码

.@remote-syslog-server:514
  1. 4. 重启rsyslog服务:
复制代码

sudo systemctl restart rsyslog
  1. #### 使用入侵检测系统
  2. 入侵检测系统(IDS)可以帮助检测和响应潜在的安全威胁:
  3. 1. 安装AIDE(Advanced Intrusion Detection Environment):
复制代码

sudo apt install aide
  1. 2. 初始化AIDE数据库:
复制代码

sudo aideinit
  1. 3. 移动数据库到安全位置:
复制代码

sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
  1. 4. 配置定期检查:
  2.    编辑`/etc/crontab`,添加以下行:
复制代码

0 5 * * * root /usr/bin/aide –check
  1. 5. 安装OSSEC(另一种IDS选项):
复制代码

sudo apt install ossec-hids-server
  1. ## 安全最佳实践
  2. ### 1. 最小权限原则
  3. 最小权限原则是系统安全的基本原则之一,即用户和进程只应拥有完成其任务所需的最小权限。
  4. 1. 为每个用户创建单独的账户,避免共享账户。
  5. 2. 使用`sudo`而不是直接以root身份登录。
  6. 3. 为每个服务创建专用的系统用户。
  7. 4. 定期审查用户权限和组成员资格。
  8. ### 2. 定期备份与恢复测试
  9. 定期备份是应对数据丢失和勒索软件攻击的关键措施:
  10. 1. 配置自动备份:
复制代码

sudo apt install deja-dup
  1. 然后配置Deja Dup进行定期备份。
  2. 2. 使用rsnapshot进行增量备份:
复制代码

sudo apt install rsnapshot
  1. 编辑`/etc/rsnapshot.conf`配置备份计划。
  2. 3. 测试恢复流程:
  3.    定期测试备份文件的恢复过程,确保备份可用。
  4. ### 3. 安全的网络配置
  5. 1. 使用VPN进行远程访问:
复制代码

sudo apt install openvpn
  1. 配置OpenVPN服务器以提供安全的远程访问。
  2. 2. 禁用IPv6(如果不使用):
  3.    编辑`/etc/sysctl.conf`,添加:
复制代码

net.ipv6.conf.all.disable_ipv6 = 1
   net.ipv6.conf.default.disable_ipv6 = 1
   net.ipv6.conf.lo.disable_ipv6 = 1
  1. 3. 配置网络参数以增强安全性:
  2.    编辑`/etc/sysctl.conf`,添加:
复制代码

# 防止IP欺骗
   net.ipv4.conf.all.rp_filter = 1
   net.ipv4.conf.default.rp_filter = 1

# 忽略ICMP重定向请求
   net.ipv4.conf.all.accept_redirects = 0
   net.ipv6.conf.all.accept_redirects = 0
   net.ipv4.conf.default.accept_redirects = 0
   net.ipv6.conf.default.accept_redirects = 0

# 忽略发送ICMP重定向请求
   net.ipv4.conf.all.send_redirects = 0
   net.ipv4.conf.default.send_redirects = 0

# 不接受源路由包
   net.ipv4.conf.all.accept_source_route = 0
   net.ipv6.conf.all.accept_source_route = 0
   net.ipv4.conf.default.accept_source_route = 0
   net.ipv6.conf.default.accept_source_route = 0

# 启用TCP SYN Cookie保护
   net.ipv4.tcp_syncookies = 1
  1. 4. 应用配置:
复制代码

sudo sysctl -p
  1. ### 4. 应用安全
  2. 1. 使用AppArmor保护应用程序:
复制代码

sudo apt install apparmor apparmor-utils
  1. 2. 查看AppArmor状态:
复制代码

sudo aa-status
  1. 3. 为特定应用启用或禁用AppArmor配置文件:
复制代码

sudo aa-enforce /path/to/profile
   sudo aa-complain /path/to/profile
  1. 4. 使用安全的应用仓库:
  2.    只从官方或受信任的仓库安装应用程序。
  3. 5. 定期清理不需要的软件包:
复制代码

sudo apt autoremove
   sudo apt autoclean
  1. ### 5. 安全的密码策略
  2. 1. 安装密码质量检查工具:
复制代码

sudo apt install libpam-pwquality
  1. 2. 配置密码策略:
  2.    编辑`/etc/security/pwquality.conf`,设置密码复杂度要求:
复制代码

minlen = 12
   minclass = 3
   maxrepeat = 3
   dcredit = -1
   ucredit = -1
   lcredit = -1
   ocredit = -1
  1. 3. 配置密码过期策略:
  2.    编辑`/etc/login.defs`,设置:
复制代码

PASS_MAX_DAYS   90
   PASS_MIN_DAYS   10
   PASS_WARN_AGE   7
  1. 4. 启用密码历史记录:
  2.    编辑`/etc/pam.d/common-password`,添加:
复制代码

password        [success=1 default=ignore]      pam_unix.so obscure sha512 remember=5
  1. ### 6. 安全的SSH访问
  2. 1. 使用SSH密钥对代替密码:
复制代码

ssh-keygen -t rsa -b 4096
   ssh-copy-id username@hostname
  1. 2. 使用fail2ban防止暴力破解:
复制代码

sudo apt install fail2ban
   sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  1. 编辑`/etc/fail2ban/jail.local`,配置SSH保护:
复制代码

[sshd]
   enabled = true
   port = 22,2222
   filter = sshd
   logpath = /var/log/auth.log
   maxretry = 3
   bantime = 3600
  1. 启动fail2ban:
复制代码

sudo systemctl restart fail2ban
  1. 3. 限制SSH访问的IP地址:
  2.    编辑`/etc/hosts.allow`,添加:
复制代码

sshd: 192.168.1.0/24, 10.0.0.5
  1. 编辑`/etc/hosts.deny`,添加:
复制代码

sshd: ALL
  1. ### 7. 定期安全审计
  2. 1. 使用Lynis进行系统安全审计:
复制代码

sudo apt install lynis
   sudo lynis audit system
  1. 2. 使用OpenVAS进行漏洞扫描:
复制代码

sudo apt install openvas
   sudo gvm-setup
  1. 3. 定期检查系统日志:
复制代码

sudo tail -f /var/log/auth.log
   sudo tail -f /var/log/syslog
  1. 4. 使用Tripwire监控文件完整性:
复制代码

sudo apt install tripwire
   sudo tripwire –init
   sudo tripwire –check
  1. ## 常见安全问题及解决方案
  2. ### 1. 拒绝服务攻击(DoS)
  3. 拒绝服务攻击旨在使系统或网络资源对合法用户不可用。
  4. **解决方案**:
  5. 1. 配置内核参数以缓解DoS攻击:
  6.    编辑`/etc/sysctl.conf`,添加:
复制代码

# 防止SYN洪水攻击
   net.ipv4.tcp_syncookies = 1
   net.ipv4.tcp_max_syn_backlog = 2048
   net.ipv4.tcp_synack_retries = 2
   net.ipv4.tcp_syn_retries = 5

# 增加文件描述符限制
   fs.file-max = 65535
  1. 2. 使用iptables限制连接速率:
复制代码

sudo iptables -A INPUT -p tcp –dport 80 -m limit –limit 50/minute –limit-burst 200 -j ACCEPT
  1. 3. 使用专门的DoS防护工具,如`fail2ban`或`dos-deflate`。
  2. ### 2. 恶意软件和病毒
  3. 虽然Linux系统相对较少受到恶意软件的威胁,但仍然需要保持警惕。
  4. **解决方案**:
  5. 1. 安装防病毒软件:
复制代码

sudo apt install clamav clamav-daemon
   sudo freshclam
   sudo clamscan -r /home
  1. 2. 定期更新系统和软件包:
复制代码

sudo apt update && sudo apt upgrade
  1. 3. 使用`rkhunter`检查rootkit:
复制代码

sudo apt install rkhunter
   sudo rkhunter –checkall
  1. ### 3. 权限提升漏洞
  2. 权限提升漏洞允许普通用户获取root权限。
  3. **解决方案**:
  4. 1. 定期更新系统和软件包,修复已知漏洞。
  5. 2. 使用AppArmor限制应用程序权限。
  6. 3. 配置审计系统监控权限提升尝试。
  7. 4. 限制sudo使用:
  8.    编辑`/etc/sudoers`,使用`visudo`命令,设置:
复制代码

# 限制特定用户只能执行特定命令
   username ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl restart nginx

# 要求输入密码
   Defaults timestamp_timeout=15
  1. ### 4. 数据泄露
  2. 数据泄露可能导致敏感信息暴露。
  3. **解决方案**:
  4. 1. 加密敏感数据:
复制代码

sudo apt install cryptsetup
   sudo cryptsetup luksFormat /dev/sdb1
   sudo cryptsetup luksOpen /dev/sdb1 encrypted_data
  1. 2. 使用文件系统加密:
复制代码

sudo apt install e4crypt
  1. 3. 配置防火墙限制对敏感服务的访问:
复制代码

sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp
  1. 4. 定期审计访问日志:
复制代码

sudo grep ‘Accepted’ /var/log/auth.log
   “`

总结

Ubuntu 18.04 LTS作为一个长期支持版本,为用户提供了稳定和安全的操作系统基础。然而,仅仅安装系统是不够的,必须采取积极的安全措施来保护系统免受各种威胁。本文详细介绍了Ubuntu 18.04 LTS的安全补丁管理、系统加固、安全审计和最佳实践等方面的内容。

通过实施本文中提到的必要步骤和最佳实践,用户可以显著提高Ubuntu 18.04 LTS系统的安全性,减少安全事件的风险。这些措施包括但不限于:定期应用安全补丁、配置自动更新、使用内核实时补丁、系统加固、安全审计和监控等。

最后,需要强调的是,系统安全是一个持续的过程,而不是一次性的任务。管理员必须保持警惕,定期评估系统安全状况,及时应对新的安全威胁,以确保Ubuntu 18.04 LTS系统的长期安全和稳定运行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

频道订阅

频道订阅

加入社群

加入社群

联系我们|TG频道|RSS

Powered by Pixtech

© 2025 Pixtech Team.