2026.10.23

【2026年版】CentOS 7などサポートが終わったLinuxからの移行手順|PwnEscapeとAlmaLinux・Rocky Linuxへの移り方

はじめに

この記事では、CentOS 7 など、サポートが終わった Linux で動いているサーバーを、サポート中の OS に移す方法をまとめました。

まず:2026 年 10 月の Linux カーネルの脆弱性「PwnEscape」

2026 年 10 月 15 日、Linux カーネルの深刻な脆弱性 CVE-2026-99999(通称「PwnEscape」)が公表されました。深刻度は CVSS 9.3 です。

  • カーネルのネットワーク処理(IPv4 のチェックサムまわり)の不具合で、仮想マシンの中から、ホストの Linux のメモリを読み書きできるおそれがあります。条件がそろえば、ホストでプログラムを動かされます
  • 原因のコードは 2008 年(カーネル 2.6.27)からあるとされ、古いカーネルも広く含まれます
  • 修正版は、7.2.11・6.18.57・6.12.113・6.6.159・6.1.190・5.15.223・5.10.272 などの各系列で出ています。ディストリビューションごとの対応は、まだそろっていません(10 月 23 日時点)

国内でも、さくらインターネットが一部のサービスで新規の申し込みを止めて対策するなど、VPS やクラウドの事業者が対応に追われました。VPS やクラウドを借りている場合は、ホストを直すのは事業者なので、事業者の告知を確かめましょう。自分で仮想化のホストを動かしている場合は、ホストのカーネルを修正版に上げる必要があります。

サポートの終わった OS には修正が出ない

CentOS 7 のカーネル(3.10 系)も、原因のコードが入った範囲に含まれます。しかし CentOS 7 は 2024 年 6 月でサポートが終わっているので、この脆弱性の修正は出ません。これからも同じことがくり返されるので、サポートの終わった OS は移すしかありません。

OS無償のサポート備考
CentOS 72024 年 6 月 30 日に終了修正は一切出ない
CentOS 8・CentOS Stream 8終了(2021 年 12 月・2024 年 5 月)
RHEL 72024 年 6 月 30 日に通常のサポートが終了有償の延長サポート(ELS)は 2028 年 6 月まで
Ubuntu 18.042023 年 5 月に終了Ubuntu Pro(ESM)は 2028 年 4 月まで
Ubuntu 20.042025 年 5 月に終了Ubuntu Pro(ESM)は 2030 年 4 月まで
Debian 102024 年 6 月に終了
Debian 112026 年 8 月 31 日に終了(LTS)

移行先を選ぶ

移行先サポートの期限向いている場合
AlmaLinux 9 / 109 は 2032 年 5 月、10 は 2035 年 5 月CentOS と同じ使い勝手のまま移りたい。ELevate でのアップグレードもできる
Rocky Linux 9 / 10AlmaLinux とほぼ同じCentOS と同じ使い勝手。新しく作る場合
RHEL 9 / 10有償(個人の開発用は 16 台まで無償)メーカーのサポートが要る業務システム
Ubuntu 24.04 / 26.04 LTS24.04 は 2029 年 5 月、26.04 は 2031 年 5 月(無償の期間)クラウドや新しいソフトを使うことが多い

CentOS で動いていたものを、なるべくそのまま動かしたいなら AlmaLinux か Rocky Linux が第一候補です。どちらも RHEL と互換で、コマンドや設定の場所が CentOS とほぼ同じです。

移し方は 2 通り

A. 新しく作って移す(おすすめ)

新しいサーバー(仮想マシン)に新しい OS を入れ、アプリやデータを移す方法です。古いサーバーはそのまま残るので、うまくいかなければすぐ戻せます。大事なシステムは、こちらがおすすめです。

  1. 今のサーバーで動いているものを洗い出す:サービス、cron、設定ファイル、ユーザー、ファイアウォール、証明書
  2. 新しいサーバーを用意して、ミドルウェアを入れる:Web サーバー・DB・言語(PHP・Python など)。OS が新しくなるとバージョンも上がるので、アプリ側の対応も必要
  3. データを移す:DB はダンプして戻す。ファイルは rsync など
  4. 動作を確かめてから、DNS や IP を切り替える
bash
# 今のサーバーで動いているサービスと、自動起動の一覧
systemctl list-units --type=service --state=running
systemctl list-unit-files --state=enabled

# cron の一覧(ユーザーごと・システム全体)
for u in $(cut -d: -f1 /etc/passwd); do crontab -l -u "$u" 2>/dev/null | sed "s/^/$u: /"; done
ls /etc/cron.d /etc/cron.daily

# 入っているパッケージの一覧(新しいサーバーと見比べる用)
rpm -qa --qf '%{NAME}\n' | sort > packages-centos7.txt

B. その場でアップグレードする(ELevate)

AlmaLinux の「ELevate」を使うと、CentOS 7 を入れ直さずに AlmaLinux 8 へアップグレードできます。そこから AlmaLinux 9・10 へも、同じ道具で順に上げられます。サーバーを用意し直せない場合の選択肢です。

  • CentOS 7 から AlmaLinux 9・10 へは一度に上げられない:7 → 8 → 9(→ 10)と段階を踏む
  • Rocky Linux への ELevate は、2025 年 11 月で対象外になりました
  • 必ずバックアップかスナップショットを取り、まず検証用のコピーで試す
bash
# 1. CentOS 7 のリポジトリは止まっているので、AlmaLinux が用意したミラーに切り替える
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo
sudo yum update -y
sudo reboot

# 2. ELevate と、アップグレードの道具(Leapp)を入れる
sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
sudo yum install -y leapp-upgrade leapp-data-almalinux

# 3. 事前チェック(最初は止まる。/var/log/leapp/leapp-report.txt を読んで直す)
sudo leapp preupgrade

# 4. CentOS 7 でよく止まる箇所の直し方(公式の手順より)
sudo rmmod pata_acpi
echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True

# 5. アップグレードして再起動(再起動中にアップグレードが進む)
sudo leapp upgrade
sudo reboot

手順 4 では、root で SSH ログインできる設定を足しています。アップグレードが終わったら、/etc/ssh/sshd_config の PermitRootLogin yes を消して元に戻しましょう。

bash
# アップグレード後の確認
cat /etc/redhat-release
rpm -qa | grep el7      # CentOS 7 のパッケージが残っていないか
cat /var/log/leapp/leapp-report.txt

移すときに気をつけたいこと

  • 言語やミドルウェアのバージョンも上がる:OS 付属の PHP・Python・MySQL などが新しくなるので、アプリが動かないことがある。言語ごとの注意は下の記事を参考に
  • yum が dnf に、iptables が firewalld(nftables)に:コマンドは似ているが、設定の書き方が違うところがある
  • 古い暗号が使えなくなる:新しい OS は古い暗号(SHA-1 の署名など)を既定で使えないので、古い機器や古いクライアントとつながらないことがある
  • Python 2 は入っていない:OS の道具やスクリプトで Python 2 を使っていたら、書き換えが必要

まとめ

  • 2026 年 10 月の PwnEscape(CVE-2026-99999)は、サポートの終わった CentOS 7 などには修正が出ない
  • VPS・クラウドはホストを直すのは事業者。告知を確かめる
  • 移行先は AlmaLinux・Rocky Linux(CentOS と同じ使い勝手)か、Ubuntu LTS
  • 大事なシステムは新しく作って移す。サーバーを用意できないなら ELevate で 7 → 8 → 9 と段階的に

OS を移すと言語のバージョンも上がります。PHP 5 系から 8 系へ・PHP 7 系から 8 系へ・Python・Node.js・Java 8 から 21・25 への記事もあわせてどうぞ。

参考

各ディストリビューションの公式の情報と、国内の報道(2026 年 10 月 23 日時点)をもとにまとめています。

Linuxカーネルの深刻な脆弱性「PwnEscape」 - Publickey

ELevate - AlmaLinux

ELevate Quickstart Guide - AlmaLinux Wiki

TFT
soflan108本の記事