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

パート II ローカルセキュリティ Edit source

9 物理的なセキュリティ

物理的なセキュリティ確保はとても重要です。 Linux の本番サーバは、セキュリティチェックを通過した人間のみがアクセスできる、鍵のかかったデータセンター内に配置されるべきです。環境や状況にもよりますが、ブートローダに対してパスワードを設定することも検討すべきです。

10 ソフトウエア管理

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

11 ファイルの管理

サーバには一般に、 / , /boot , /var , /tmp , /home などの個別のファイルシステムが設定されています。それぞれ別々のパーティション内に配置することで、 /var/tmp のディレクトリ内にあるログや一時ファイルなどが容量を大きく浪費して、ルートパーティションに書き込めなくなってしまうような事態を防ぐことができます。場合によっては、サードパーティ製のアプリケーションを配置する /opt ディレクトリを別のパーティションに配置する必要がある場合もあります。

12 パーティションやファイルの暗号化

ファイルやパーティション、ディスク全体の暗号化を行うことで、お使いのデータに対する不正なアクセスを保護し、ファイルや文書に対する機密を保護することができます。

13 cryptctl を利用したアプリケーション向けのストレージ暗号化

データベースなどのアプリケーションは、サードパーティ製の製品として提供される専用のサーバの形態で提供されることがあります。そのような環境を使用する場合、メーカー側のスタッフと連携してデータセンターのメンテナンスタスクを実行する必要があります。また、プライバシーの要件を満たすためにディスクの暗号化を行う必要があるかもしれません。

14 ユーザ管理

ログインに使用していないシステムアカウントやベンダーのアカウントについては、ロック (施錠) を行っておくのが重要です。 /etc/shadow ファイル内のパスワード欄が ! や * で始まって いない ものが、ロックされていないアカウントになります。また passwd -l コマンドや usermod -L コマンドでアカウントをロックすると、同ファイルのパスワード欄の冒頭に ! が追加されますので、これによって簡単にロックを行うことができます。また、多くのシステムアカウントや共有アカウントは、既定で * , !!, !* のいずれかがパスワード欄に設定されていますが、これらも暗号化された…

15 cronat の制限

本章では、システムのセキュリティを改善するため、 cronat デーモンへのアクセスを制限する方法について説明しています。

16 Spectre/Meltdown チェッカー

spectre-meltdown-checker は、直近の 20 年間に製造されたほぼ全ての CPU 内に存在する投機的実行機能に関する脆弱性が、お使いのシステムに存在しているかどうかをテストするためのスクリプトです。この脆弱性はハードウエアの欠陥に起因するものであり、攻撃者はこの脆弱性を悪用することで、システム内に存在する全てのデータを読み取ることができる可能性があります。クラウド型のコンピューティングシステムの場合、 1 台の物理ホスト内に複数の仮想マシンが動作する仕組みであることから、この脆弱性を悪用できてしまうと、全ての仮想マシン内のデータを読み取ることができる可能性があることになります。この脆弱性を根本から解決するには、 CPU の再設計と入れ替えが必要になってしまいますが、それができるまでの間の回避策として、これらの脆弱性を緩和するためのソフトウエア修正が提供されています。お使いの SUSE システムを最新の状態に維持しておくことで、これらの修正は全てインストールされることになります。

spectre-meltdown-checker は詳細なレポートを生成します。お使いのシステムに脆弱性が存在しないことを保証する仕組みではありませんが、緩和策が正しく適用され、潜在的な脆弱性が存在していないことを確認することができます。

17 YaST を利用したセキュリティの設定

YaST のモジュールである セキュリティセンター を利用することで、 openSUSE Leap に対するセキュリティ関連の設定を一括で変更することができます。ログイン処理やパスワードの生成に関する設定のほか、起動の許可に関する設定やユーザの作成、既定のファイルアクセス許可などの設定が含まれています。このモジュールは、 YaST コントロールセンターから セキュリティとユーザ › セキュリティセンター を選択することで、起動を行うことができます。起動を行うと、 セキュリティセンター ダイアログは、 セキュリティの概要 が選択された状態で始まりますが、それ以外の設定分野については、左側のペインで選択して表示させてください。

18 Polkit 認可フレームワーク

Polkit はグラフィカルな Linux デスクトップ環境で使用される認可フレームワークで、システムでの権限管理をより精密に行うための仕組みです。従来の Linux システムでは、最高位のシステム権限を持つユーザとして root を規定し、それ以外のユーザやグループと分離していましたが、サウンドハードウエアにアクセスするための audio グループなどのように、 root とは別の権限構成も存在していました。このような構成では、特定の状況下に対応できなくなってしまうほか、一時的に許可するようなことも実現できませんでした。

このような場合、通常は sudo コマンドなどで root に成り代わり、特権を得て作業を行うことになりますが、 Polkit では要件に応じて特定のユーザやグループに対して、必要な権限のみを与えることができます。権限は処理と権限内容を記した設定ファイル内で動的に対応することができます。

19 Linux でのアクセス制御リスト

POSIX ACL (アクセス制御リスト) は、ファイルシステム内のオブジェクト (ファイルやディレクトリなど) に対して設定することのできる、従来型のパーミッション (アクセス許可) の拡張です。 ACL を使用することで、従来型のパーミッションよりも柔軟な構成をとることができるようになります。

20 AIDE を利用した侵入検知

システムの機密を保持することは、代替のきかないシステムの管理者にとっては必須の課題となります。常にシステムが安全な状態にあることは誰も保証できませんので、定期的に (たとえば cron などで) 追加のチェックを行い、システムが正しく制御されていることを確認することが重要となります。このような要件を満たすことができるのが AIDE (Advanced Intrusion Detection Environment; 高度な侵入検知環境) です。

このページを印刷