RHEL10 移行に際する squid の変更点のお話

こんにちは。サイオステクノロジー OSS サポート担当 山本 です。

今回は 2025年5月末にリリースされた RHEL10 へのアップグレードに関するお話です。
RHEL9 から RHEL10 に移行する場合の、RHEL 同梱版 squid の変更点について確認したいと思います。

ご存じのとおり、squid は必須のソフトウェアというわけではないので、使っている場合にのみ気にする必要がある、程度のものですが、何かの参考になればと思います。

■メジャーバージョンの更新

ベースとなるバージョンが squid 6.10 になりました。(RHEL9 では squid 5.2 がベース)

Red Hat 社から公表されている情報は、確認時点では (Red Hat 社が用意している squid 導入マニュアル等も含めて) このベースバージョンについての情報以外に RHEL9 のものから特に変更は確認できません。

しかし、メジャーバージョンが変わっているので、機能追加や動作改善などを含め変更点は多数存在しているでしょう。
実際に squid 公式 github ページの Releases で squid 6 系の一番最初のリリース情報を確認してみると、以下のとおり非常に多数の項目が確認できます。
(末尾の方には “… and ~” と一まとめにされた内容もあるので、細かく見れば変更箇所は相当な数になるでしょう…)

 ・Release v6.0.1

今回はそんな変更点の一部を確認していきます。

■一部機能の削除

一部の機能やツールなどが削除されました。

ただしその殆どは以下のページで説明されているとおり、削除されたものの大半は (過去に使われてはいたけれど) 既に完全に使用されておらず、消されすらせずに放置されていたもの別の機能に置き換えられて使われなくなったものです。

 ・Schedule for Feature Removals

他、squid の内部管理に使用する “Cache Manager” へのアクセス手段の一つである “cache_object://” という URL スキームが削除されていますが、こちらは使っているとしても別のアクセス手段を使えば問題ないでしょう。

 ・cache_object:// URI Scheme
 ・The Cache Manager

その他、一部環境への対応が打ち切られたりしていますが、これらの機能削除によって影響を受けることはまずないと言ってよさそうです。

■ヘッダの変更

レスポンス時に使用されていた http ヘッダ “X-Cache” と “X-Cache-Lookup” が、2022年に標準化された http ヘッダ “Cache-Status” に置き換えられました。

 ・RFC 9211: The Cache-Status HTTP Response Header Field

squid のレスポンスを利用しており、かつこれらのヘッダを使用していた場合には確認と変更が必要になります。

■ログ機能の強化

squid が確立した TLS 接続 (SSLBump なども含む) に関する秘密鍵や暗号化などの情報を、wireshark などのツールで確認できるようなログとして記録することができる機能と、この機能を利用するための設定項目 “tls_key_log” が追加されました。
このログの情報を利用すれば通信内容を復号できてしまう可能性があるので、扱いには細心の注意が必要です。

 ・tls_key_log

また、設定項目 “logformat” に、例えば接続の内部 ID を記録する “transport::>connection_id” など、いくつかの設定が追加されています。

 ・logformat (v6)
 ・logformat (v5)

これらのように、ログに関連する機能が強化されています。

■その他設定項目の変更点

ログ関連以外の設定項目の変更点としては、キャッシュエントリのヒットごとに整合性の検証をする設定である “paranoid_hit_validation” という項目が追加されています。

 ・paranoid_hit_validation

他には追加・削除された設定項目はなく、各設定項目について設定を行わなかった場合のデフォルト値も変更はないようです。
ただし、例えばデフォルト値は “設定なし” で変更はありませんが、設定ファイルの設定がデフォルト値の “設定なし” の場合の実際の内部的なデフォルト値が変更されている “sslcrtvalidator_program” や、機能の使用に必要となるインストールオプションが変わっている “loadable_modules” などのように中身に変更が入っているものもあります。

 ・sslcrtvalidator_program (v6)
 ・sslcrtvalidator_program (v5)

 ・loadable_modules (v6)
 ・loadable_modules (v5)

このため、バージョンアップという節目を機に、一度現在の設定の状態や意味・意図を見直しておくとよりよいでしょう。

■最後に

今回は RHEL9 → RHEL10 へのアップグレードに係る、同梱版 squid の変更点を確認しました。

確認してきたとおり、レスポンスヘッダの変更など若干の変更点はありますが基本的な動作へ大きく影響を与える変更はほぼなく、ほとんどの場合は特に問題なく移行できるはずです。

これは squid に限った話ではありませんが、バージョンが変わったからと言ってそのソフトウェアの基本的な役割や基本的な動作ががらりと変わることは稀であり、大体の場合の変更内容は

 ・コードの改善 (効率化・高速化や安全性の強化など)
 ・不具合や問題点の修正
 ・より便利にするための機能追加 (今回の話で言えばログ機能の強化など)
 ・標準仕様への準拠 (今回の話で言えばヘッダ変更など)
  ・廃止された標準仕様や危険のある仕様などの排除 (例えば、古いバージョンの TLS など)

など、利便性の向上か必要に迫られてのものが多い……はずです。

もちろんバージョンアップにより変更が加えられている以上、例えば「安全性の強化により動作がブロックされるようになってしまった」「コード改善により偶然影響を受けてしまった」「廃止された標準仕様を使っていた」……などなど、バージョンアップ後に想定通りの動作をしてくれなくなってしまうケースが発生する可能性は否定できません

このため、バージョンアップの際にはきちんと検証を行なって動作に問題ないかを確認し、問題があれば対応を行なってからバージョンアップを実施するようにしましょう。
(システムの安全・効率的な運用のためには、バージョンアップは必ず必要になってくるものです。対応の手間を嫌わず、きちんと実施するようにしましょう。)

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です