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

10 ソフトウエア管理 Edit source

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

# zypper packages -i

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

# zypper info パッケージ名

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

# zypper rm -D パッケージ名

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

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

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

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

# zypper rm -u パッケージ名

10.2 Linux システムへの修正の適用 Edit source

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

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

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

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

10.2.1 YaST オンライン更新 Edit source

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

10.2.2 自動オンライン更新 Edit source

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

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

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

このページを印刷