こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
こちら「面の個人日記」では、セキュリティで面白そうなものや、脆弱性情報でも詳細な情報が出てきていないもの、予告や動向など、雑多な情報等をお送りします。
尚、以下は個人の立場で書いていますので、この記事に関する事柄につきましては、サイオステクノロジー社へのご質問等はご遠慮ください。
Rocky Linux 8.4リリースとOpenSCAP/ComplianceAsCodeのバグフィックス
Rocky Linux 8.4が2021/06/21にリリースされました。
こちらのRocky LinuxのサイトのDownloadからダウンロードできます。
ちなみに筆者は(個人として)セキュリティ部分の特にOpenSCAPとComplianceAsCode(コンテンツ)に関わっています。
こちらに、Rocky 8用のComplianceAsCodeコンテンツ(Rockyのオフィシャル)があります。基本的に最新のComplianceAsCodeに追随しており、いずれ機会を見て本家のComplianceAsCodeのコンテンツにマージしようと思っています。
「ComplianceAsCodeとは何か」「OpenSCAPとは何か」ですが、@ITで過去に連載しておりましたので、そちらの記事を参照して下さい。いずれこちらのブログの方でも更新版を載せるかもしれません。
Rocky Linux 8.4でRocky8用のComplianceAsCodeコンテンツが動かない!
Rocky Linux 8.4が無事にリリースされたのですが、「前述のリンクで提供しているコンテンツを用いてoscapコマンド等でスキャンすると、結果が全部エラーになる(このコンテンツはこちらのOSで使えません!と言われている)」という報告が上がってきました。
原因
Rocky Linux ではMattermostを用いてチャットや情報交換を行っていますが、そちら経由で筆者の方に問い合わせが来ましたので確認を行いました。結果として、Rocky8用のComplianceAsCodeコンテンツではOS情報を/etc/os-releaseから取っているのですが、そちらの情報が異なっている事が原因であることがわかりました。
Rocky Linux 8.3では/etc/os-releaseが下記のようになっています。
NAME="Rocky Linux"
VERSION="8"
ID="rocky"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:rocky:rocky:8"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky Linux"
ROCKY_SUPPORT_PRODUCT_VERSION="8"
一方で、Rocky Linux 8.4では/etc/os-releaseが下記のようになっています。
NAME="Rocky Linux"
VERSION="8.4 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel fedora"
VERSION_ID="8.4"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.4 (Green Obsidian)"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:rocky:rocky:8.4:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky Linux"
ROCKY_SUPPORT_PRODUCT_VERSION="8"
となっており、内容が結構異なっています。今回のケースでは、VERSION_IDがRocky Linux 8.3の時は「8」だったのが、Rocky Linux 8.4では「8.4」となっており、これが原因となっていました。
ComplianceAsCodeのRocky Linux用コンテンツでは、こちらの「VERSION_ID」からOSのバージョンを引っ張ってきていましたが、こちらが8ではないように見えていたため、「OSバージョンが違う」とエラーを履いていました。
解決策
結果として、筆者のComplianceAsCodeのコードで、バージョンIDを引っ張ってくる所の正規表現を書き直すことで、8.4でも正常に動くようになりました。そちらはPRを出して、現時点でのバージョンでは修正されています。
まとめ
まずは、Rocky Linux 8.4がリリースされてめでたい(色々やってたんで・・)という筆者の気持ちがありますが、上述のようにまだまだバグだし・検証が必要になっている状態です。ぜひ皆様、コントリビュートしましょう!!