Amazon Linuxの"セキュリティ修正のバックポート"を理解して思い込みから解放された話
Amazon Linuxの"セキュリティ修正のバックポート"を理解して思い込みから解放された話
はじめに
今さらかもしれないけど、Amazon Linux 2 や Amazon Linux 2023 では、ソフトウェア(例:Pythonなど)を常に最新版にアップデートしなくても、セキュリティ対策がなされているっていうこと、ちゃんと知らなかった。
ずっと「古いバージョン=危ない」って思い込んでたけど、それは完全には正しくなくて、Amazonがセキュリティパッチだけを選んで、既存のバージョンに"バックポート"してるという仕組みがあるってことを、最近知った。
バックポートとは?
バックポートとは、ざっくり言えば:
「新しいバージョンで修正されたセキュリティ問題を、古い(でもまだサポートされている)バージョンに"逆輸入"して適用すること」
つまり、見た目のバージョンは古くても、中身は修正済みということがある。
AWSの公式ドキュメントでも「Amazon Linux, like most Linux distributions, routinely backports security fixes to stable package versions」(Amazon Linuxは他の多くのLinuxディストリビューションと同様に、安定したパッケージバージョンにセキュリティ修正を定期的にバックポートします)と明記されている。
具体例:Python 2.7の場合
分かりやすい例がPython 2.7。Python 2.7は2020年1月にサポート終了したけれど、Amazon Linux 2では2023年6月まで(Amazon Linux 2のサポート終了まで)重要なセキュリティパッチを提供し続けていた。
これは、アップストリームが終了しても、AmazonがLTSコミットメントに従ってセキュリティ修正を継続していたから。
現在の状況(2025年時点)
Amazon Linux 2
- サポート終了:2026年6月30日
- Python 2.7は既にサポート終了
- セキュリティパッチのバックポートは継続中
Amazon Linux 2023
- サポート終了:2028年まで
- Python 3.9がシステムPythonとして固定(AL2023の存続期間中変更なし)
- Python 3.9は2028年3月までセキュリティサポート
- 新しいPythonバージョン(3.11、3.12など)は別パッケージとして提供
なぜこれに気づかなかったのか?
おそらく「セキュリティ=最新バージョン」っていう前提で考えてたから。「古いから危険」と思い込んで、Amazon LinuxにプリインストールされてるPythonが3.7とか3.9だったら、即アップデートしたくなってた。
でも、実際にはAmazonがしっかりセキュリティ維持してくれてるっていう前提があったんだね。これは完全に盲点だった。
セキュリティ修正の確認方法
1. コマンドによる確認(要インターネット接続)
# セキュリティアップデート一覧確認
sudo yum updateinfo list --security
# 特定のCVEの対応状況確認
sudo yum updateinfo info CVE-YYYY-XXXX
# Amazon Linux 2023の場合はdnf
sudo dnf updateinfo list --security
注意: これらのコマンドはリポジトリから最新情報を取得するため、インターネット接続が必要。オフライン環境では実行できない。
2. Amazon Linux Security Center (ALAS)
https://alas.aws.amazon.com/ で公式のセキュリティ情報を確認できる。
- どのCVEがどのパッケージバージョンで修正されているか
- セキュリティアドバイザリの詳細
- 影響を受けるAmazon Linuxのバージョン
3. 重要な注意点
バージョン番号だけに依存するセキュリティスキャナーは、バックポートされた修正を検出できない場合がある。そのため、ALASで正確な状況を確認することが重要。
今後どうする?
- セキュリティ統括やガイドラインで「3.11.4以上」とか指定がある場合は、それに従うべきだけど、
- 自分の中で「古いバージョンだから=即非セキュア」と決めつけないようにしたい。
- そして、Amazon Linuxの「バージョンアップ≠常に正解」っていう思想も、少し理解していきたい。
- 何より、ALASでの確認を習慣化したい。
おわりに
これは別に誰かの役に立つ情報というより、自分の思い込みに気づいた備忘録です。
でももしかしたら、昔の自分と同じように悩む人がいたら、「こういう考え方もあるんだよ」「確認方法もあるよ」と伝えられたら嬉しいな。
Amazon Linuxを使うなら、ALASは必須の情報源だということも学んだ。
Discussion