Raspberry Pi 2 に 32bit FreeBSD/arm 13.2 をインストール後の、セキュリティー対策のメモ。
FreeBSD13.2 がリリースから現時点に至るまでに何個かの脆弱性が報告され、64bit FreeBSD ではFixするためのパッチがリリースされましたが、32bit OSではソース対応。
一昨日から、ソースビルドを始め、昨日セキュリティー対策されているはずのカーネルをビルドしてインストールしました。
その結果、今朝届いたセキュリティーレポートから、OSが受け持つ脆弱性は解決したものの、次の脆弱性はそのまま。
脆弱性が含まれているのが、カーネルじゃなく、コマンドなので、当然といえば当然。
FreeBSD-13.2 is vulnerable: FreeBSD -- Network authentication attack via pam_krb5 CVE: CVE-2023-3326 WWW: https://vuxml.FreeBSD.org/freebsd/9b0d9832-47c1-11ee-8e38-002590c1f29c.html FreeBSD -- Potential remote code execution via ssh-agent forwarding CVE: CVE-2023-38408 WWW: https://vuxml.FreeBSD.org/freebsd/291d0953-47c1-11ee-8e38-002590c1f29c.html FreeBSD -- bhyve privileged guest escape via fwctl CVE: CVE-2023-3494 WWW: https://vuxml.FreeBSD.org/freebsd/ab437561-47c0-11ee-8e38-002590c1f29c.html FreeBSD -- Network authentication attack via pam_krb5 CVE: CVE-2023-3326 WWW: https://vuxml.FreeBSD.org/freebsd/41af0277-47bf-11ee-8e38-002590c1f29c.html 4 problem(s) in 1 installed package(s) found.
こっちは、主に /sbin や /usr/sbin などに含まれるコマンド全部を新しいコードで作り直すしか、コマンド準備されていない模様。または、脆弱性があるファイルを特定してそれだけビルド、インストールし直すか。予想される結果だったので、カーネル更新後、すぐに、次のビルドを始めて、make buildworld を行っていました。-j4 で約18時間、インストール installworld に15分くらい。
ソースからアプリケーションバイナリーをビルドする作業は、過去、何度もやってきましたが、FreeBSD OS全体をビルドし直して成功したのは初めて。非常にスムーズで、必要だったのは時間だけ。
そして最後の大仕事。ここで起動に失敗したら意味がない。
RPI2を再起動したところ、無事にFreeBSD 13.2 が立ち上がってきました。あとは、上記のセキュリティー脆弱性が解決されるかどうか。
翌朝到着したセキュリティーレポートを見てみると、上記の脆弱性レポートは無くなっており、ソースレベル更新を行っているホストに脆弱性レポートが届いた後、行うべき作業内容を確認できました。一応この流れで良さそう。
13.2 → 13.3 の更新手順もソースレベルでやるの?と考えると、ちょっとやり方を考える必要がありますけどね。