当前位置:网站首页 >  攻略

停更三年以上的老旧Linux服务器核心安全运维实操指南

时间:2026年06月05日 01:20:30 来源:易频IT社区

一、准备工作:先锁死变更环境

老旧系统最怕变崩,操作前必须做可回溯的备份,锁定所有非维护人员的登录:

  • 备份全系统:挂载至少100G可用的外接NFS/CIFS共享盘(本地盘空间足够也可以),执行以下命令(root权限):
    • CentOS/RHEL 6/7老版本用dump(ext2/3/4):dump -0u -f /mnt/backup/$(hostname -s)_full_$(date +%Y%m%d).dump /dev/sda1(/dev/sda1替换为根分区实际挂载盘)
    • Ubuntu 12/14用rsync:rsync -aAXv --exclude={"/dev/","/proc/","/sys/","/tmp/","/run/","/mnt/","/media/","/lost+found"} / /mnt/backup/$(hostname -s)_full_$(date +%Y%m%d)/
  • 锁定SSH登录(除当前维护IP外):备份原sshd_config:cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak_$(date +%Y%m%d),然后添加AllowUsers或AllowGroups规则,最后加Match Address锁定更稳妥:
    • 打开配置:vi /etc/ssh/sshd_config
    • 在文件最后一行追加: Match Address 192.168.1.100/32 替换为你的维护IP/32 AllowUsers root admin 替换为你的维护账户
    • 重启SSH(CentOS/RHEL 6:service sshd restart;Ubuntu 12:service ssh restart;CentOS/RHEL 7/Ubuntu 14:systemctl restart sshd

二、关闭所有不必要的服务与端口

老旧系统的漏洞大多来自未用服务的暴露,必须做“瘦化”处理:

2.1 查看所有开放端口

执行以下命令(root权限): netstat -tulnp CentOS/RHEL 6自带;Ubuntu 12需先确认有net-tools:apt-get update; apt-get install -y net-tools ss -tulnp 替代netstat,部分老系统自带

2.2 识别并关闭非必要服务

  • 先列出所有开机自启服务:
    • CentOS/RHEL 6(SysVinit):chkconfig --list
    • Ubuntu 12(Upstart):initctl list
    • CentOS/RHEL 7/Ubuntu 14(Systemd过渡):systemctl list-unit-files --type=service
  • 默认可安全关闭的服务(根据业务调整,关闭前先stop看业务是否正常):
    • CentOS/RHEL系列:bluetooth、cups、avahi-daemon、nfslock、rpcgssd、rpcidmapd、sendmail、postfix(不用邮件的话)、ypbind
    • Ubuntu系列:bluetooth、cups、avahi-daemon、whoopsie、landscape-client(不用Ubuntu Landscape的话)、rpcbind
  • 关闭并禁用开机自启:
    • CentOS/RHEL 6:service 服务名 stop; chkconfig 服务名 off
    • Ubuntu 12:service 服务名 stop; echo manual > /etc/init/服务名.override
    • CentOS/RHEL 7/Ubuntu 14:systemctl stop 服务名; systemctl disable 服务名

三、替换停更的YUM/APT源为归档源

停更系统官方源已关闭,必须换归档源才能安装必要的安全工具:

3.1 CentOS/RHEL 6

停更三年以上的老旧Linux服务器核心安全运维实操指南

备份原yum.repos.d目录:mv /etc/yum.repos.d /etc/yum.repos.d.bak_$(date +%Y%m%d); mkdir /etc/yum.repos.d,然后创建/etc/yum.repos.d/CentOS-Archive.repo,复制以下内容: [CentOS-Archive-Base] name=CentOS-6 - Base - Archive baseurl=http://vault.centos.org/6.10/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [CentOS-Archive-Updates] name=CentOS-6 - Updates - Archive baseurl=http://vault.centos.org/6.10/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [CentOS-Archive-Extras] name=CentOS-6 - Extras - Archive baseurl=http://vault.centos.org/6.10/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

3.2 Ubuntu 12.04(Precise Pangolin)

备份原sources.list:cp /etc/apt/sources.list /etc/apt/sources.list.bak_$(date +%Y%m%d),然后替换为以下内容: deb http://old-releases.ubuntu.com/ubuntu/ precise main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse deb http://old-releases.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse

最后执行更新:apt-get update(CentOS/RHEL 6:yum clean all; yum makecache

四、安装必要的安全防护工具

归档源没有新补丁,只能靠轻量级工具补基础防护:

  • iptables防火墙加固(别开firewalld,老系统firewalld不稳定):
    • 清空现有规则:iptables -F; iptables -X; iptables -Z
    • 设置默认规则(默认拒绝入站,允许出站,允许回环): iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
    • 允许已建立的连接入站:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    • 开放业务端口(比如Web 80/443,SSH 22,MySQL 3306仅允许业务服务器访问): iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100/32 -j ACCEPT 替换维护IP iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp --dport 3306 -s 10.0.0.0/24 -j ACCEPT 替换业务网段
    • 保存规则(CentOS/RHEL 6:service iptables save;Ubuntu 12:apt-get install -y iptables-persistent; iptables-save > /etc/iptables/rules.v4
  • rkhunter/clamav扫描(查杀木马/后门):
    • 安装工具:CentOS/RHEL 6先装epel-release归档源,再装: rpm -ivh http://vault.centos.org/6.10/extras/x86_64/Packages/epel-release-6-8.noarch.rpm yum install -y rkhunter clamav clamav-update Ubuntu 12:apt-get install -y rkhunter clamav clamav-freshclam
    • 更新rkhunter/clamav数据库: rkhunter --update 可能失败,归档源版本较老,失败就跳过 freshclam 可能失败,可手动下载http://database.clamav.net/main.cvd/daily.cvd/bytecode.cvd到/var/lib/clamav/,权限设为clamav:clamav
    • 全系统扫描: rkhunter --check --skip-keypress 检查可疑文件 clamscan -r / --exclude-dir={"/dev","/proc","/sys","/tmp","/run","/mnt","/media","/lost+found"} --remove=no 只查杀不自动删除,防止误杀

五、验证恢复机制

这步绝对不能省,备份后要快速验证:

  • 检查备份文件完整性:dump的用restore -t,rsync的用diff -r比较根分区和备份的重要目录(/etc、/var/www、/home)
  • 找一台同配置(至少同内核、同文件系统)的虚拟机,挂载备份盘尝试恢复,验证核心业务能正常运行

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图