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

15 cronat の制限 Edit source

概要

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

15.1 cron デーモンの制限 Edit source

cron は指定した時間に裏でコマンドを自動的に実行させるためのデーモンです。 cron そのものに関する詳細は、 15.1.2項 「cron パッケージ」 をお読みください。

cron.allow ファイルは cron を利用してジョブを実行することのできるユーザを指定するためのファイルです。このファイルは既定では存在していないため、 cron.deny ファイルに記載されている場合を除いて、全てのユーザがジョブを作成できるようになっています。

root 以外のユーザが cron ジョブを作成できないようにするには、下記の手順を実施します。

  1. まずは空の /etc/cron.allow ファイルを作成します:

    tux > sudo touch /etc/cron.allow
  2. cron ジョブの作成を許可するユーザ名を、下記のようにして追加していきます:

    tux > sudo echo "tux" >> /etc/cron.allow
  3. 動作を確認したい場合は、 root 以外でかつ cron.allow 内に追加したユーザになってから cron ジョブを作成してみます。下記のようなメッセージが (一瞬だけですが) 表示されるはずです:

    tux > crontab -e
    no crontab for tux - using an empty one

    crontab のエディタを終了し、今度は上記のファイル内に追加していないユーザで同じことを実施します (もちろんユーザを追加する前に行ってもかまいません):

    wilber > crontab -e
    You (wilber) are not allowed to use this program (crontab)
    See crontab(1) for more information
重要
重要: 既存の cron ジョブについて

cron.allow はユーザに対して、新しい cron ジョブの作成を許可するための設定です。 ユーザが cron.deny 内に登録されていた場合でも、既にそのユーザのジョブが存在していれば、それらは実行されてしまいます。既存のジョブについても禁止したい場合は、上述の手順でファイルを作成したあと、 /var/spool/cron/tabs ディレクトリ内にあるユーザの crontab ファイルを削除してください。

注記
注記: systemd タイマーユニットへの切り替えについて

systemd タイマーユニットへの切り替えについても検討しておくことをお勧めします。systemd タイマーユニットではさらに高度な設定が可能になっているほか、タスクの実行に対しても信頼性が高められています。既定では、一般ユーザはログインしていない限り、コードを実行することができないように設定されています。これにより、ユーザが接続していない場合のシステムとの対話を制限しています。

systemd のタイマーユニットに関する詳細は、 10.7項 「systemd タイマーユニット」 をお読みください。

15.2 at スケジューラの制限 Edit source

at ジョブ実行システムは、ユーザに対して 1 回限りのジョブ実行の機能を提供します。 at.allow ファイルは at を利用してジョブを実行することのできるユーザリストを指定するためのファイルです。このファイルは既定では存在していないため、 at.deny ファイルに記載されている場合を除き、全てのユーザがジョブを作成できるようになっています。

at ジョブを root 以外のユーザが利用できないようにするには、下記の手順を実施します。

  1. まずは空の /etc/at.allow ファイルを作成します:

    tux > sudo touch /etc/at.allow
  2. at ジョブを作成できるユーザのユーザ名を、下記のようにして追加していきます:

    tux > sudo echo "tux" >> /etc/at.allow
  3. 動作を確認したい場合は、 root 以外でかつ at.allow 内に追加したユーザになってからジョブを作成してみます。下記のようなメッセージが表示されるはずです:

    tux > at 00:00
    at>

    CtrlC を押して at プロンプトを抜け、今度は上記のファイル内に追加していないユーザで同じことを実施します (もちろんユーザを追加する前に行ってもかまいません):

    wilber > at 00:00
    You do not have permission to use at.
注記
注記: at のアンインストールについて

at は現在、一般的には使用されていません。明確な用途がある場合を除き、使用を制限するのではなくデーモンをアンインストールしておくことをお勧めします。

このページを印刷