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

11 seccheck を利用した自動的なセキュリティチェック

seccheck SUSE セキュリティチェッカーは、システム内のローカルセキュリティを自動チェックするために設定された、シェルスクリプト集です。定期的にチェックを行うことができるほか、レポートを root ユーザのほか、管理者側で指定した任意のユーザに送信することができます。

お使いのシステム内に seccheck がインストールされていない場合は、 sudo zypper in seccheck コマンドでインストールを行うことができます。これらのスクリプトは systemd タイマーで起動するようになっていて、既定では有効化されていません。そのため、管理者側で意図的に有効化する必要があります。

11.1 seccheck タイマー

seccheck には 4 種類のタイマーが用意されています:

  • /usr/lib/systemd/system/seccheck-daily.timer

  • /usr/lib/systemd/system/seccheck-monthly.timer

  • /usr/lib/systemd/system/seccheck-weekly.timer

  • /usr/lib/systemd/system/seccheck-autologout.timer

seccheck-daily.timer , seccheck-monthly.timer , seccheck-weekly.timer は、それぞれ 11.3項 「日次/週次/月次のチェック」 で説明している複数のチェックを動作させるものです。残りの seccheck-autologout.timer はしばらく何もしていないユーザを自動的にログアウトさせる仕組みで、こちらは 11.4項 「自動ログアウト」 で説明しています。

seccheck が root から送信するメールの宛先については、 /etc/sysconfig/seccheck ファイルで設定します。下記の例では、 firewall という名前の管理者にメールを送信します:

SECCHK_USER="firewall"

11.2 seccheck タイマーの有効化

systemctl でのタイマー制御は、通常の systemd タイマー制御と同じです。下記の例では、 seccheck-daily.timer を有効化して開始しています:

tux > sudo systemctl enable --now seccheck-daily.timer

有効化したタイマーを一覧表示するには、下記のように入力して実行します:

tux > sudo systemctl list-timers

有効化/無効化に関わらず全てのタイマーを一覧表示するには、下記のように入力して実行します:

tux > sudo systemctl list-timers --all

11.3 日次/週次/月次のチェック

seccheck では下記のような定期チェックを行います:

/etc/passwd のチェック

各項目の長さ/数/内容。 UID と GID のそれぞれ 0 と 1 が root と bin になっているかどうか

/etc/shadow のチェック

各項目の長さ/数/内容。パスワードの無いユーザ

/etc/group のチェック

各項目の長さ/数/内容

root ユーザのチェック

umask と PATH の値

/etc/ftpusers

主なシステムユーザが書かれているかどうか

/etc/aliases

プログラムを実行するメール別名のチェック

.rhosts のチェック

ユーザの .rhosts ファイルに + 記号が書かれているかどうか

ホームディレクトリ

ホームディレクトリが誰か別のユーザによって書き込み可能であったり、所有されていたりしていないかどうか

ドットファイルのチェック

ホームディレクトリ内に存在する多数のドットファイルに対して、誰か別のユーザによって書き込み可能であったり、所有されていたりしていないかどうか

メールボックスのチェック

メールボックスがユーザ自身によって所有されていて、読み込み可能かどうか

NFS エクスポートのチェック

エクスポートがグローバルに公開されていないかどうか

NFS インポートのチェック

NFS のマウントに nosuid オプションが設定されているかどうか

promisc のチェック

ネットワークカードにプロミスキャスモードが設定されていないかどうか

モジュールの一覧

読み込まれたモジュールの一覧表示

ソケットの一覧

開いているポートの一覧

下記の表には、週次でのチェック項目が書かれています:

パスワードのチェック

パスワードファイルに対して john プログラムを動作させるチェック (不合格であればパスワードを変更するようユーザに電子メールを送信)

RPM MD5 のチェック

RPM の MD5 チェック機能を利用したファイルの変更チェック

suid/sgid のチェック

suid/sgid の設定された全ファイルの一覧表示

グループ

グループもしくは全ユーザが書き込み可能な全実行ファイルの一覧表示

書き込み可能かどうかのチェック

全ユーザが書き込み可能な全ファイルの一覧表示 (実行ファイルを含む)

デバイスのチェック

全てのデバイスの一覧表示

重要
重要: john によるパスワードの監査

パスワードの監査を行うには、まず john (John the Ripper) パッケージをインストールする必要があります。このパッケージは openSUSE Build Service 内で公開されていますので、 https://build.opensuse.org/package/show/security/john にアクセスしてください。

月次のチェックでは完全なレポートの出力のほか、日次/週次に作成されたチェック結果の差分も報告します。

11.4 自動ログアウト

seccheck-autologout.timer タイマーは 10 分おきに動作するタイマーで、何も操作をしていないローカル/リモートの端末セッションがいれば、一定時間の待機ののちにセッションを自動終了させる処理を行います。

待機時間は /etc/security/autologout.conf ファイルを設定してください。ここでは既定の無操作時間のほか、ログアウト時の遅延時間や特定のユーザ/グループ/TTY デバイス/SSH セッションに対する最大無操作時間の設定を行うことができます。詳しくは /etc/security/autologout.conf ファイル内に書かれている設定例を参照してください。

このページを印刷