1 セキュリティ原則の概要

この項では、システム・セキュリティの概要を簡潔に示し、Oracle Linuxシステムでのセキュリティの強化方法について原則をいくつか示します。

Oracle Linuxは、ビジネスクリティカルな本番環境に必要なパフォーマンス、データ整合性およびアプリケーション稼働時間を提供できる、セキュアなエンタープライズクラスのOSです。

Oracleの何千もの本番システムでOracle Linuxが実行されており、多数の社内開発者が開発プラットフォームとしてOracle Linuxを使用しています。Oracle Linuxは、Oracle Cloud Infrastructureと、Oracle Exadata Database Machine、Oracle Private Cloud ApplianceおよびOracle Database Applianceを含む複数のOracle Engineered Systemの中核をなしています。Oracle Linuxは、インフラストラクチャ、データベース・サービスまたはその他のSoftware-as-a-Service (SaaS)のいずれであっても、Oracleクラウド全体でも使用されます。

Oracleサポートに支えられて、これらのミッションクリティカルなシステムおよびデプロイメントは、Oracle Linuxに組み込まれているセキュリティおよび信頼性の機能に本質的に依存しています。

Oracleは、Linuxコミュニティの定期的な参加者であり、メインラインのLinuxカーネルのコード拡張に貢献しています。Oracleは、Oracle Cluster File SystemやBtrfsファイル・システムなどの多くのオープン・ソース・イニシアティブにも貢献しています。セキュリティの観点から、オープン・ソースをルーツにしていることは大きな利点となっています。

Linuxコミュニティの数多くの経験豊富な開発者やセキュリティ・エキスパートが、投稿されたLinuxコードを、テストやリリースを行う前に広範囲にわたってレビューします。オープン・ソースのLinuxコミュニティは長年にわたって、アクセス制御リスト(ACL)、暗号ライブラリ、信頼できるユーティリティなど、数多くのセキュリティの改善を提供してきました。Oracleではこのようなツールに基づき、堅牢で安全なOSを提供しています。

Oracleでは、Oracle Linuxを使用するときに、いくつかの基本的なセキュリティ原則に従うことをお薦めします。これらの原則は、管理者がセキュリティ・ポリシーを構築するために使用できるガイドラインです。

ソフトウェア・フットプリントの最小化と保護

攻撃ベクトルを最小限にするには、Oracle Linuxシステムの目的、デプロイメント構成およびソフトウェア要件を事前に計画する必要があります。デプロイメントの設計フェーズでは、周辺機能やコンポーネントなど、特定の構成またはデプロイメント・シナリオで不要または使用されていないコンポーネントやサービスをアンインストールまたは無効化できます。デプロイメント要件は時間の経過とともに変化する可能性があるため、特定の構成またはデプロイメント・シナリオで不要または使用されない機能をアンインストールおよび無効化するためのプロセスも必要です。また、OSの基本コンポーネントのみをデフォルトでインストールする最小インストール・ベースの環境の使用を検討することもできます。キックスタート構成ファイルを使用してOracle Linuxをインストールする場合、最小インストールには@baseおよび@coreパッケージが含まれます。

これらのインストール・オプションの詳細は、Oracle Linux 8: Oracle Linuxのインストールを参照してください。

dnf group list -vコマンドを実行することで、使用可能な様々なベース環境の詳細を確認します。このコマンドでは、Oracle Linux GUIインストーラのソフトウェア選択画面にあるベース環境のリストと同じリストが表示されます。次に例を示します。

dnf group list -v 
Last metadata expiration check: 0:55:03 ago on Tue 18 Jul 2023 12:19:06 PM GMT.
Available Environment Groups:
   Server with GUI (graphical-server-environment)
   Server (server-product-environment)
   Minimal Install (minimal-environment)
...
Installed Environment Groups:
   Server with GUI (graphical-server-environment)
Installed Groups:
   Container Management (container-management)
...
Available Groups:
   Legacy UNIX Compatibility (legacy-unix)
...

最小環境グループに含まれている内容を確認するには、dnf group infoコマンドを実行します。次に例を示します。

dnf group info minimal-environment
Last metadata expiration check: 0:04:29 ago on Tue 18 Jul 2023 12:55:49 PM GMT.
Environment Group: Minimal Install
 Description: Basic functionality.
 Mandatory Groups:
   Core
 Optional Groups:
   Guest Agents
   Standard

同じコマンドを使用して、コア・グループに含まれているパッケージを確認します。次に例を示します。

dnf info core
Last metadata expiration check: 0:04:46 ago on Tue 18 Jul 2023 12:55:49 PM GMT.

Group: Core
 Description: Smallest possible installation
 Mandatory Packages:
   NetworkManager
   audit
   basesystem
   bash
...
 Default Packages:
   NetworkManager-team
   NetworkManager-tui
...
 Optional Packages:
   dracut-config-generic
...

個々のパッケージの詳細を確認するには、そのパッケージに対してdnf infoコマンドを実行してください。次に例を示します。

dnf info bash
Last metadata expiration check: 0:10:14 ago on Tue 18 Jul 2023 12:55:49 PM GMT.
Installed Packages
Name         : bash
Version      : 4.4.20
Release      : 4.el8_6
Architecture : x86_64
Size         : 6.5 M
Source       : bash-4.4.20-4.el8_6.src.rpm
Repository   : @System
From repo    : ol8_baseos_latest
Summary      : The GNU Bourne Again shell
URL          : https://www.gnu.org/software/bash
License      : GPLv3+
Description  : The GNU Bourne Again shell (Bash) is a shell or command language
             : interpreter that is compatible with the Bourne shell (sh). Bash
             : incorporates useful features from the Korn shell (ksh) and the C shell
             : (csh). Most sh scripts can be run by bash without modification.

Oracle Linuxシステムを安全にするためのもう1つの重要な方法は、必要な機能を実行するために不可欠なソフトウェア・パッケージのみをインストールすることです。追加の機能およびコンポーネントは、セキュリティ・リスクを増大させる可能性があるため、必要に応じて削除またはアンインストールできます。

安全で既知かつ信頼できるソースからソフトウェアをインストールすることは、適切なセキュリティ・プラクティスと考えられます。Oracleは、管理者がソフトウェア・パッケージの来歴と信頼性を確認できるように、GPGキーを使用してパッケージに署名します。また、Oracleでは、TLSを使用して、Oracle Linuxに付属するソフトウェア・インストールおよび更新ツールのネットワーク・アクションを保護します。

ソフトウェアの最新状態の維持

適切なセキュリティ・プラクティスの原則の1つとして、すべてのソフトウェア・バージョンおよびパッチを最新に保つことがあげられます。Oracleでは、Oracle Linux yumサーバーおよびUnbreakable Linux Network (ULN)を使用して、ソフトウェアとリリースのエラッタを保守し、パッチ更新を適用します。

Oracle Linuxにインストールされているソフトウェアを更新して脆弱性にパッチを適用し、できるだけ頻繁に攻撃面を最小化することは、適切なセキュリティ・プラクティスと考えられます。詳細は、「更新の重要性について」を参照してください。

また、通常のシステム更新に加えてOracle Kspliceを使用し、システムを停止する必要なく、openSSLやglibcなどの実行中のカーネルおよび共通ユーザー・スペース・ライブラリに自動的にパッチを適用することを検討してください。Kspliceの詳細は、『Oracle Linux Kspliceユーザーズ・ガイド』を参照してください。

クリティカル・サービスへのネットワーク・アクセスの制限

中間層アプリケーションとデータベースの両方をファイアウォールの内側に置くと、それらのシステムへのアクセスが、監視および制限できる既知のネットワーク・ルートに制限されます。また、ファイアウォール・ルーターを複数の独立したファイアウォールの代替として使用することもできます。

ファイアウォールを使用できない場合は、IPアドレスに基づいてアクセスできます。IPアドレスによってデータベース・アクセスを制限すると、しばしばアプリケーションのクライアント/サーバー・プログラムでDHCPクライアントが失敗します。この問題を解決するには、静的IPアドレス、ソフトウェア/ハードウェアVPNまたはWindows Terminal Servicesなどの使用を検討してください。

ネットワーク・アクセスを制限および保護する方法の詳細は、「パケット・フィルタリング・ファイアウォールについて」および「SSH接続へのアクセスの制限」を参照してください。

認証メカニズムの制御およびパスワード制限の強制

システムへのアクセスを制御するために様々な認証メカニズムを選択できます。多くのシステムが関与する環境では、複数の異なるシステムにまたがってアカウントを保持する必要がないように、集中管理された認証ツールの使用を検討してください。

また、使用可能な様々なタイプの認証メカニズムも検討してください。パスワードレベルのアクセスは便利ですが、キー、証明書または2要素認証を頻繁に使用するトークン・ベースの認証など、より制限的なメカニズムを提供することで、環境をさらに保護できます。

パスワードスタイルのアクセスを使用すると、一般的なパスワード、短いパスワード、または解読されやすいパスワードを防ぐための制限を適用できます。従来のパスワード・ポリシーに従わないことを提案している、『NIST 800-63 Digital Identity Guidelines』を検討してください。頻繁な有効期限と強制的なシステム・ロックアウトで複雑なパスワードを強制するのではなく、推測や解読が簡単ではなく、既知のパスワード辞書に対してチェックされるパスワードを要求することを検討してください。

詳細は、「ユーザー認証およびパスワード・ポリシーの構成」を参照してください。

最小権限の原則の順守

最小権限の原則は、ジョブの実行に必要な最小限の権限をユーザーに付与することを示しています。特に組織の存続期間の早い段階において、厳しい期限内に作業を完了する必要のある従業員がほとんどいない場合、過度に権限を付与すると、システムが悪用される余地をもたらす可能性があります。現在の職責と一致するようにユーザー権限を定期的に確認することは、適切なセキュリティ・プラクティスと考えられます。

この原則では、ユーザーに独自のログイン・アカウントが割り当てられている必要があります。ユーザーがある目的のために管理者アクセス権を必要とする場合は、sudoを使用して特定の目的に対するアクセス権を付与します。

rootユーザーのパスワードを配布することは、セキュリティ上の問題があるとみなされます。rootパスワードが長く、推測が難しく、様々な特殊文字が含まれるようにすることで、セキュリティを強化できます。

詳細は、「ユーザーのアカウントおよび権限の確認」を参照してください。

システム・アクティビティの監視

堅牢なシステム・セキュリティは、最新のセキュリティ・プロトコル、正しいシステム構成および頻繁なシステム監視の3つの原則に基づいています。監査および監査レコードの確認は、この3つめの要件に対処します。システム内の各コンポーネントには、多くの場合、ある程度の監視機能が備わっています。このドキュメントの監査アドバイスに従って、監査レコードを監視できます。

詳細は、「システム監査および監視の使用」「拡張侵入検出環境の使用」および「システム・プロセス・アカウンティングの実装」を参照してください。

また、Ksplice拡張クライアントがインストールされているシステムで、Kspliceの既知の脆弱性を検出する機能を使用することを検討します。この機能は、既知の攻撃ベクトルからの攻撃の試行を報告します。Kspliceで新しい共通脆弱性(CVE)が検出され、パッチが適用されると、異常な状態がトリガーされたときに記録するコードにトリップワイヤが追加されるため、管理者は疑わしいアクティビティがないかシステムを監視できます。Kspliceの詳細は、『Oracle Linux Kspliceユーザーズ・ガイド』を参照してください。

最新のセキュリティ情報による最新状態の維持

一般的な脆弱性やエクスポージャおよびエラッタについて情報を入手するには、ULNを使用するか、Oracle Linuxメーリング・リストのいずれかにサインアップします。詳細は、「エラッタとCVE通知の取得」を参照してください。最新情報については、https://docs.oracle.com/en/operating-systems/oracle-linux/およびhttps://blogs.oracle.com/linux/にあるOracleの広範なドキュメント、チュートリアル、およびブログ投稿も確認してください。