最初に
OCIには無償で利用できるセキュリティサービスが数多くありますが、今回はその中の保護インスタンスを利用してみました。
保護インスタンス機能を使用することでコンピュートのファームウェア・セキュリティを強化して悪意のあるブートレベルのソフトウェアから保護することが可能となります。
保護インスタンスで利用されるコンポーネント
コンポーネント | 内容 |
---|---|
セキュアブート | UEFIの機能、PC の起動 (ブート) 時に悪意のあるソフトウェアが読み込まれないように設計されたセキュリティ機能。 |
測定ブート | セキュアブートを補完する機能。最初のブートで測定されたベースラインを基準にチェック。(VMのみ対応でベアメタルを利用できない) |
TPM(Trusted Palatform Module | デバイス上で様々なセキュリティ機能を提供するためのモジュール。 |
利用前提
これは利用する中で分かったのですが、全てのインスタンスで利用できるわけではありません。
インスタンス作成画面で盾アイコンがあるものだけが利用可能対象となります。
※仮に保護インスタンス利用可能なインスタンスであっても作成後に有効化することはどうやら不可のようです。作成時に有効化しておく必要があるようです。
保護インスタンスの作成
インスタンスの作成画面より、イメージとシェイプの両方に盾アイコンがある組み合わせの場合、拡張オプションより、保護インスタンス機能を有効化できます。
※薄いチェックなのですが、測定ブートを有効化すると他2つも自動的に有効化されます
イメージ(=OS)についてはWindowsOS以外すべて対応しているようです。
Shapeは(2022年5月時点では)"専門と前世代"欄にあるIntelのものが対応しておりました。
※Intel,AMD問わず、最新のFlexタイプ(=CPUとメモリをユーザで自由に調整できるもの)が対応していないようです。
インスタンスを作成するとインスタンス名の横に盾マークが表示されます。
起動後の初回は黄色アイコンとなっているので、"保護インスタンス"タブより、"ゴールデン測定のリセット"を実施します。
以下のような盾の中にチェックマークが入ったアイコンになれば正常に保護インスタンスが機能しています。
ベースラインの変更
検証のため、ssh接続にて先ほど作成したインスタンスのカーネルのバージョンアップを実施することで先ほど実施した"ゴールデン測定"のベースラインから外れるように更新してみます。
yum update
更新完了後にインスタンスを再起動しみると、盾アイコンが赤く状態になることが確認できます。
赤いアイコンは対象インスタンスで、セキュア・ブートまたは測定ブートの検証が失敗したことを示します。
今回は意図的にカーネルバージョンを上げて、ベースラインから外したので、再度"ゴールデン測定のリセット"を実行し、ベースラインをカーネルのバージョンアップをした状態にしました。
それにより、アイコンが正常に戻ります。
今回は保護インスタンス機能の動きを確認するため、カーネルのバージョンアップを実施しましたが、こういった作業を実施していないのにも関わらず、赤の異常アイコンになっていた場合は原因追及など実施する必要があるのだと思います。(何かしらの攻撃をされた可能性もあるかもしれません)
最後に
現状、保護インスタンスを有効化するためには特定のインスタンス・タイプしか選択できないのが残念ポイントですが、今後のアップデートで対応範囲が広がればと思います。
特に保護インスタンスは設定が非常に簡単なので念のため実装しておいても良いのでは感じました。
OCIは多くのセキュリティ機能があり、それらが無償であることも良い特徴の1つだと思っているので、他の機能についても色々情報収集をしようと思います。
脆弱性スキャンは無償で利用できるかつ、簡単に実装できる機能ですので、興味があれば是非利用してみてください。
別のセキュリティ機能についても調べてみたので興味のある方はご参照ください。
OCI 無償セキュリティ機能 脆弱性スキャンを利用してみた
参考
マニュアル:https://docs.oracle.com/ja-jp/iaas/Content/Compute/References/shielded-instances.htm