はじめに
CentOS7.7が出ていたのでRHEL7.7のリリースノートをギル祭周回しながら読んだ結果。
ながらで読んだので思い出せるよう気になった点のまとめ。
なお、そもそもLinuxに触って2年目くらいの雑魚キャラが個人的に気になったところなので、重要な点が抜けていると思います。
python3パッケージ追加
CentOS8のデフォらしい。Ansibleの対応状況とかも調べないといけない。
新しいパッケージ - python3
RHEL 7 では、Python 3.6 インタープリターと、pip ユーティリティーおよび setuptools ユーティリティーを提供する、新しい python3 パッケージが利用できます。以前は、Red Hat Software Collections で、Python 3 バージョンが利用できました。
Python 3 のインストール時、起動時、対話時には、Python のメジャーバージョンを常に指定します。たとえば、Python 3 をインストールする場合のコマンドは、yum install python3 になります。Python 関連のすべてのコマンドでバージョンを指定する必要があります (例: pip3)。
Python 3 は、RHEL 8 におけるデフォルトの Python 実装であるため、Python 2 のコードを Python 3 に移行することが推奨されます。大規模なコードベースを Python 3 に移行する方法は 「The Conservative Python 3 Porting Guide」 を参照してください。
Kernel ライブパッチ
カーネルアップデート時に再起動などが不要になる仕組みができるらしい。
kpatch-patch-3_10_0-1062
が必要な模様。
日本語版リリースノートには記載がない?様子。
カーネルのライブパッチが利用可能になりました
カーネルのライブパッチkpatchは、プロセスを再起動または再起動することなく、実行中のカーネルにパッチを適用するメカニズムを提供します。 重要なCVEと重要なCVEを修正するために、 Extended Update Support(EUS)ポリシーの対象となるRHELの選択されたマイナーリリースストリームに対して、カーネルのライブパッチが提供されます。
カーネルのRHEL 7.7バージョンのkpatchストリームをサブスクライブするには、 RHEA-2019:2011アドバイザリが提供するkpatch-patch-3_10_0-1062パッケージをインストールします。
詳細については、 『カーネル管理ガイド』の「 カーネルライブパッチによるパッチの適用 」を参照してください。
Spectre V2対応方法の変更
Spectre・・正月・・・うっ・・・頭が・・・・・となる人が多そう(当時関係薄い業務だったのであまり体感はない)
セキュリティ的に影響は少ないと思われるがこのパラメーターにするのはどうなんだ、という議論が起きそう。
RHEL 7.7 の新規インストールで、Spectre V2 の軽減策のデフォルトが、IBRS から Retpoline へ変更
RHEL 7.7 の新規インストールで、第 6 世代 Intel Core プロセッサーと、その類似の派生製品 [1] が搭載されているシステムにおける Spectre V2 脆弱性 (CVE-2017-5715) のデフォルトの軽減策は、Indirect Branch Restricted Speculation (IBRS) から Retpoline へ変更しました。Red Hat は、Linux コミュニティーで使用されているデフォルトに合わせて、失われたパフォーマンスを回復するようにとの Intel 社からのアドバイスを受け、この変更を実装しました。ただし、状況によっては、Retpoline を使用しても Spectre V2 を完全に軽減できない場合があります。Intel の Retpoline ドキュメント [2] は、露出の例を示しています。この攻撃の危険の程度は、このドキュメントでは、「低」と示されています。
RHEL 7.6 以前のインストールでは、IBRS がデフォルトの移行でした。RHEL 7.7 以降のバージョンでは、カーネルコマンドラインに spectre_v2=retpoline が追加されました。RHEL 7 の以前のバージョンから、RHEL 7.7 へのアップグレードについては、変更がありません。
spectre_v2 の軽減策は選択できます。Retpoline を選択する場合は、カーネルコマンドラインに "spectre_v2=retpoline" フラグを追加するか、ランタイム時に echo 1 > /sys/kernel/debug/x86/ibrs_enabled コマンドを実行します。
IBRS を選択する場合は、カーネルコマンドラインから spectre_v2=retpoline フラグを削除するか、ランタイム時に echo 1 > /sys/kernel/debug/x86/ibrs_enabled コマンドを実行します。
1 つ以上のカーネルモジュールが Retpoline サポートで構築されていない場合、/sys/devices/system/cpu/vulnerabilities/spectre_v2 ファイルは脆弱性を示し、/var/log/messages ファイルでその脆弱性が発生しているモジュールを特定します。詳細は「How to determine which modules are responsible for spectre_v2 returning "Vulnerable: Retpoline with unsafe module(s)"?」を参照してください。
bind デフォルトバージョン変更
DNSサーバーを作ろうとしていてbindをちょうど入れようとしていたので。
これまでは9.9系っぽい(9/19に同期したrepo調べ)
9.9と9.11で結構違う模様。
https://dnsops.jp/event/20180627/DNSSummerDay2018_BIND9.11%E5%A4%89%E6%9B%B4%E7%82%B9auth.pdf
bind がバージョン 9.11 にリベース
bind パッケージがアップストリームバージョン 9.11 にアップグレードし、以前のバージョンにバグ修正および機能拡張が数多く追加されました。
ipset デフォルトバージョン変更
firewall許可を国内だけ許可とかやるのに使っていたので。
これまでは6.38っぽい(9.19に同期したrpeo調べ)
そんなに変わってないといいな。
ipset がバージョン 7.1 にリベース
ipset パッケージがアップストリームバージョン 7.1 にアップグレードし、以前のバージョンにバグ修正および機能拡張が数多く追加されました。
ipset プロトコルのバージョン 7 では、IPSET_CMD_GET_BYNAME および IPSET_CMD_GET_BYINDEX オペレーションが導入されました。また、ユーザー領域のコンポーネントが、カーネルコンポーネントがサポートする正しい互換性レベルを検出できるようになりました。
メモリーリークや、解放済みメモリー領域を使用するバグなど、非常に多くのバグが修正されました。
NetworkManager ブリッジポートでのVLANサポート?
この前のAnsibleもくもく会でVLANってそもそも何レベルだったのでVLANというワードに反応だけ。
NetworkManagerがよくわかっていないので意味がよくつかめていない。ブリッジポートとは。
NetworkManager が、ブリッジインターフェースの VLAN フィルタリングに対応
この機能を使用して、管理者は、対応する NetworkManager 接続プロファイルで、ブリッジインターフェースに仮想 LAN (VLAN) フィルタリングを設定できます。これにより、管理者がブリッジポートで直接 VLAN を定義できます。
NetworkManager ポリシールーティングルールが構成
ルーティングルールってfirewalldとかiptablesでやるものでは?
NetworkManagerよくわからないので調べる。
NetworkManager は、ポリシールーティングルールの設定に対応
以前は、ユーザーが、NetworkManager 以外で (たとえば、NetworkManager-dispatcher-routing-rules パッケージが提供するディスパッチャースクリプトを使用して) ポリシールーティングルールを設定する必要がありました。今回の更新で、ユーザーが接続プロファイルにルールを設定できるようになりました。その結果、NetworkManager は、プロファイルが有効になった場合はルールを追加し、プロファイルが無効になった場合はルールを無効にします。
selinuxのタイプ追加
正直常時OFFのためどうでも良いですがコンフィグファイルのSELINUXTYPEの例には載っていなかった。
そこだけ気になった。
新しい SELinux のタイプ - boltd_t
新しい SELinux のタイプ boltd_t は、Thunderbolt 3 デバイスを管理するシステムデーモン boltd を制限します。その結果、boltd は unconfined_service_t を制限しないで実行することはなくなります。
chrony デフォルトバージョン3.4に変更
これまでは3.2.2っぽい。
chrony がバージョン 3.4 にリベース
chrony パッケージがアップストリームバージョン 3.4 にアップグレードし、以前のバージョンに対するバグ修正および機能拡張が数多く追加されました。主な変更は以下の通りです。
ハードウェアタイムスタンプのサポートが改善しました。
サポートされるポーリング間隔の範囲が広がりました。
burst オプションおよび filter オプションが NTP ソースに追加されました。
chronyd -q コマンドがシステムサービスを破損しないように、pid ファイルが修正されました。
NTPv1 クライアントとの互換性が修正されました。
非推奨パッケージ
3452パッケージ。全部見てないけれどyumプラグインがたくさんあるのは見えた。
CentOSではdnfになるようで。
あとはpython2も非推奨。
Ansible role
CentOSにも適用できるのかな?見てみたくはある。
Ansible を使用した Red Hat Enterprise Linux System Roles
Red Hat Enterprise Linux System Roles の postfix ロールがテクノロジープレビュー
Red Hat Enterprise Linux System Roles は、Red Hat Enterprise Linux サブシステム向けの設定インターフェースです。>Ansible Roles を使用することでシステム設定が容易になります。このインターフェースにより、複数バージョンの Red Hat Enterprise Linux でシステム設定を管理することや、新しいメジャーリリースを導入することもできます。
Red Hat Enterprise Linux 7.4 以降、Red Hat Enterprise Linux System Roles パッケージは Extras チャンネルから配信されています。Red Hat Enterprise Linux System Roles の詳細は「Red Hat Enterprise Linux (RHEL) System Roles」を参照してください。
Red Hat Enterprise Linux System Roles には、現在以下の 5 つのロールから構成されます。
selinux
kdump
network
timesync
postfix
postfix ロールは、Red Hat Enterprise Linux 7.4 以降テクノロジープレビューとして利用できます。
残りのロールは、Red Hat Enterprise Linux 7.6 以降で完全にサポートされます。