Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
コンテンツコンテンツ
セキュリティ強化ガイド
  1. 前書き
  2. 1 セキュリティと機密保持
  3. 2 コモンクライテリア (Common Criteria)
  4. I 認証
    1. 3 PAM を利用した認証
    2. 4 NIS の使用
    3. 5 YaST を利用した認証クライアントの設定
    4. 6 389 LDAP ディレクトリサービス
    5. 7 Kerberos を利用したネットワーク認証
    6. 8 Active Directory サポート
    7. 9 FreeRADIUS サーバの構築
  5. II ローカルセキュリティ
    1. 10 物理的なセキュリティ
    2. 11 seccheck を利用した自動的なセキュリティチェック
    3. 12 ソフトウエア管理
    4. 13 ファイルの管理
    5. 14 パーティションやファイルの暗号化
    6. 15 cryptctl を利用したアプリケーション向けのストレージ暗号化
    7. 16 ユーザ管理
    8. 17 Spectre/Meltdown チェッカー
    9. 18 YaST を利用したセキュリティの設定
    10. 19 PolKit による認可制御
    11. 20 Linux でのアクセス制御リスト
    12. 21 証明書ストア
    13. 22 AIDE を利用した侵入検知
  6. III ネットワークセキュリティ
    1. 23 X Window System と X 認証
    2. 24 SSH: 機密を保持するネットワーク操作
    3. 25 マスカレードとファイアウオール
    4. 26 VPN サーバの設定
    5. 27 X Window System で動作する PKI マネージャ XCA による管理
  7. IV AppArmor による権限の制限
    1. 28 AppArmor の紹介
    2. 29 入門
    3. 30 プログラムに対する予防接種
    4. 31 プロファイルのコンポーネントと文法
    5. 32 AppArmor のプロファイルリポジトリ
    6. 33 YaST を利用したプロファイルの構築と管理
    7. 34 コマンドラインからのプロファイル構築
    8. 35 チェンジハット機能による Web アプリケーションのプロファイル作成
    9. 36 pam_apparmor によるユーザの制限
    10. 37 プロファイルを作成したアプリケーションの管理
    11. 38 サポート
    12. 39 AppArmor 用語集
  8. V SELinux
    1. 40 SELinux の設定
  9. VI Linux 監査フレームワーク
    1. 41 Linux 監査システムの概要
    2. 42 Linux 監査フレームワークの設定
    3. 43 監査ルールセットの紹介
    4. 44 その他の情報源
  10. A GNU ライセンス
ナビゲーション
適用先 openSUSE Leap 15.2

12 ソフトウエア管理

12.1 不要なソフトウエアパッケージ (RPM) の削除

Linux システムの安全性を高める際に非常に重要なことは、 Linux サーバの主な機能や役割を決めることです。機能や役割がはっきりしていないと、システムのどの場所を主に守るべきなのかがはっきりせず、作業の効率も落ちてしまいます。まずはインストールされているソフトウエアパッケージの一覧を確認して、不要なパッケージやセキュリティポリシーに合致しないパッケージを削除することが重要です。

一般的には RPM ソフトウエアパッケージには下記のものが含まれています:

  • インストール時に RPM データベース内に書き込まれる、パッケージのメタデータ。

  • 同梱されるファイルとディレクトリ。

  • インストールやアンインストールの前後に動作するスクリプト。

また、下記のいずれかの条件に合致するパッケージについては、セキュリティ上のリスクとなる可能性があります:

  1. setuid ビットもしくは setgid ビットの設定されたファイルを含むもの

  2. グループもしくは全てのユーザが書き込み可能なファイルやディレクトリを含むもの

  3. インストール時や有効化時に自動的にサービスが有効化されるもの。

上記 3 つの条件のいずれにも該当しなければ、パッケージは単なるファイル集であるとみなしてかまいません。このようなパッケージをインストールしてもアンインストールしても、システムのセキュリティには影響がありません。

しかしながら、お使いのシステムにインストールするパッケージはできる限り少なくしておくことをお勧めします。パッケージを減らすことで更新の手間を減らすことができますし、それによって発生しうる問題も減らすことができるからです。また本番サーバには開発用のパッケージやデスクトップ環境のソフトウエア (例: X サーバ) 等をインストールしないようにするのが最適です。もちろん Apache Web サーバや Samba ファイル共有サーバなど、サービスが不要であればインストールしないのが望ましいです。

重要
重要: サードパーティ製のインストーラの要件について

Oracle 社や IBM 社等の提供するサードパーティ製のインストーラは、インストーラ自身を動作させるのにデスクトップ環境を求めるものがあります。本番サーバにデスクトップ環境をインストールしないようにするため、多くの組織では開発環境で無人インストール用のファイル (応答ファイル) を作成して回避しています。

それ以外にも、どうしても必要となる場合を除いて、 FTP や Telnet デーモンもインストールしないことをお勧めします。これらは ssh , scp , sftp 等で代替可能です。

また、一般に Linux システムを構築するにあたっては、システムやアプリケーションで必要となるパッケージのほか、メンテナンスやトラブルシューティングで必要なパッケージ のみ をインストールするようにすべきです。まずは RPM の最小リストから出発して、必要なパッケージを追加していくとよいでしょう。この作業は手間のかかるものではありますが、手間をかけただけの価値はあるはずです。

ヒント
ヒント: Just enough Operating System (JeOS) について

SUSE Appliance Program では JeOS (Just Enough Operating System; 必要十分なシステム) と呼ばれるコンポーネントを提供しています。 JeOS は非常に小さいイメージで、そこから必要に応じてカスタマイズを行うこともできます。 JeOS は主にハードウエア/ソフトウエアアプライアンスや仮想マシンの開発を行うために作られていて、効率的で高性能、そしてセキュリティの確保とシンプルな管理を目指して作られています。

JeOS ではご満足いただけない場合は、最小インストールパターンでもかまいません。

インストールされている全てのパッケージを一覧表示するには、下記のようなコマンドを入力して実行します:

root # zypper packages -i

特定のパッケージに関する詳細を表示するには、下記のようなコマンドを入力して実行します:

root # zypper info パッケージ名

パッケージを削除する際に発生しうる、矛盾関係や依存関係の問題を表示したい場合は、下記のようなコマンドを入力して実行します:

root # zypper rm -D パッケージ名

このコマンドは非常に便利な仕組みです。事前にテストを行っておかないと、ほとんどの場合、多くの問題点に直面し、複雑な依存関係の問題に悩まされる結果になります。

重要
重要: 必須パッケージの削除について

パッケージを削除する場合は、システムで必須となるパッケージを削除してしまわないように注意してください。必須のパッケージを削除してしまうと、システムは全く起動できなくなってしまうばかりか、修復もできなくなってしまいます。不安な場合は、削除を行う前にシステムの完全バックアップを作成しておき、その後にパッケージを削除してください。

1 つまたは複数のパッケージを削除する場合は、 zypper コマンドに -u オプションを追加することをお勧めします。これはパッケージを削除することによって不要となったパッケージを併せて削除するためのものです:

root # zypper rm -u パッケージ名

12.2 Linux システムへの修正の適用

修正を管理するためのインフラストラクチャの構築は、 Linux の本番環境を積極的に維持していくために非常に重要な項目です。

なお、明示的なセキュリティポリシーを作成しておき、 Linux のセキュリティ更新や問題に対する処理方針を定めておくことをお勧めします。たとえばセキュリティポリシーで修正の評価やテストの方法、そして修正の適用について時間枠を設定しておくなどのことが考えられます。また、ネットワーク関連のセキュリティ脆弱性の場合には、より高い優先度を設定し、より短い時間での解決を目指すなどの方針も考えられます。このほか評価フェーズではテスト環境内でのテストを行い、まずは開発環境から修正を適用するなどの方針をとるのもよいでしょう。

また、個別のセキュリティ記録を残しておき、受け取った Linux のセキュリティアナウンスと修正の検証状況や問題点の解決状況、そして修正の適用日時などを残しておくとよいでしょう。

SUSE では修正を 3 種類に分類しています。それぞれセキュリティ、推奨、オプションと呼んでいます。また、システムに対して修正を適用し、最新の状態に保つにあたってはいくつかの方式が提供されています。それぞれのシステムには同梱されている YaST ツールである YaST オンライン更新を利用して、 SUSE Update の Web サイトに登録を行ってダウンロードすることができるようになっています。また、 SUSE では リポジトリミラーリングツール (RMT) と呼ばれる、修正や更新などをローカルの環境にコピーし、インターネット側への通信量を減らすためのツールも用意されています。このほか SUSE では、 SUSE Manager と呼ばれる Linux システムのメンテナンス/修正適用/レポートシステムも用意されています。こちらは SUSE だけでなく、他のディストリビューションを管理することもできます。

12.2.1 YaST オンライン更新

サーバごとに重要な更新や改善を適用したい場合は、 YaST オンライン更新ツールをお使いください。 SUSE Linux Enterprise ファミリに対する更新は、修正を含む製品ごとの更新カタログを介して提供されています。修正の適用は YaST から ソフトウエア オンライン更新 を選択してください。これを実行すると、オプション指定であるものを除き、未適用の全ての修正を自動的に選択します。後は 了解 ボタンを押すだけで、適用が行われます。

12.2.2 自動オンライン更新

YaST では自動更新にも対応しています。 ソフトウエア › 自動オンライン更新 を選択してください。あとは毎日もしくは毎週を選択するだけです。カーネル更新など、ユーザ側での操作を必要とする修正の場合は、自動でインストールしようとしても止まってしまいますので、このような場合は 対話操作が必要な修正を飛ばす を選択してください。

上記を選択した場合は、適宜手動でのオンライン更新を行い、対話操作が必要な修正を忘れずにインストールしておいてください。

また、 修正のダウンロードのみ を選択すると、指定したタイミングで修正をダウンロードするものの、インストールは行われなくなります。ダウンロードした修正は、 rpmzypper を利用してインストールする必要があります。

12.2.3 リポジトリミラーリングツール—RMT

SUSE Linux Enterprise 向けに提供されている リポジトリミラーリングツール はオンライン更新をプロキシ経由で行うよりもさらに一歩進んだ仕組みを提供します。この リポジトリミラーリングツール は、ファイアウオールの内側でソフトウエア更新を集中管理しながら、その更新の適用はそれぞれのサーバで個別に行う構造を維持することができます。これにより、企業内のセキュリティポリシーや法律の規制に準拠できるようになります。

ダウンロード形式で提供されている RMT ( http://download.suse.com/ ) は SUSE Customer Center ( https://scc.suse.com/ ) とも統合され、リポジトリと登録ターゲットの両方を提供します。これは大規模なサーバ構築には非常に便利な仕組みで、エンタイトルメント (契約状況) の追跡も行うことができます。 RMT では SUSE Customer Center の全ての機能を管理できますので、より安全な集中管理を行うことができます。 RMT は全ての SUSE Linux Enterprise サブスクリプションに含まれていますので、どの環境でも完全にサポートされています。

通常のサーバ構成では、それぞれのサーバに対して外向きの接続許可を設定する必要がありましたが、 RMT ではそのようなことはありません。外向きの接続の許可は企業内のセキュリティポリシーに違反することがあり、それ自身が脅威として捉えられることがあるためです。 SUSE Customer Center と RMT を組み合わせて使用することで、それぞれのサーバに外向きの接続許可を与えることなく、かつネットワーク帯域の浪費を防ぎながら、必要な修正を適用することができるようになります。

また RMT では、組織内で使用しているローカルの SUSE Linux Enterprise デバイス (サーバ/デスクトップ/ PoS 端末) の追跡を行うこともできます。物理的にサーバ類を探し回って更新が必要なエンタイトルメント数を数える必要はなく、中央で簡単に数えることができるようになります。

このほか RMT は SUSE Linux Enterprise デバイスに対して、利用可能なソフトウエア更新の情報提供も行います。それぞれのデバイスは RMT からソフトウエア更新を受け取る形になります。 RMT を使用することで、ネットワーク内の SUSE Linux Enterprise デバイスが更新を受け取る方法も単純化されます。 RMT は 1 インスタンスあたり数百台以上もの SUSE Linux Enterprise デバイスを扱うことができます (用途によります) ので、追跡の正確性と効率性をもたらすことになります。

端的に言うと、 SUSE Linux Enterprise 向けの リポジトリミラーリングツール は下記のようなことを行います:

  • ファイアウオールと規制準拠への対応

  • ソフトウエア更新に必要なネットワーク帯域の削減

  • SUSE のサブスクリプション契約での完全サポート

  • SUSE Customer Center による既存のカスタマーインターフェイスによるメンテナンス

  • 正確なサーバエンタイトルメント追跡とサブスクリプション使用の効率的な追跡

  • エンタイトルメントの合計数を簡単に計算できる自動化プロセス (表計算は不要です!)

  • SUSE Customer Center とサーバエンタイトルメントを自動的に同期するシンプルなインストール処理

12.2.4 SUSE Manager

SUSE Manager は Linux サーバを自動管理するための仕組みで、サーバをより素早く正確に配置し、管理する機能を提供します。単一のコンソールから各 Linux サーバの稼働状況を監視できるため、ビジネスに影響する性能問題を素早く識別できるようになります。また、物理サーバから仮想サーバ、クラウド環境にまで対応しますので、データセンターの稼働率を上げる支援にもなります。 SUSE Manager は Linux における完全なライフサイクルマネージメントとなります:

  • 資産管理

  • プロビジョニング

  • パッケージ管理

  • パッチ管理

  • 設定管理

  • 再配備

SUSE Manager に関する詳細については、 https://www.suse.com/products/suse-manager/ をお読みください。

このページを印刷