| name | cis-ubuntu1604-v200-5-1-8 |
| description | Ensure cron is restricted to authorized users |
| category | cis-iam |
| version | 2.0.0 |
| author | cyberstrike-official |
| tags | ["cis","ubuntu","linux","ubuntu-16.04","access-control"] |
| cis_id | 5.1.8 |
| cis_benchmark | CIS Ubuntu Linux 16.04 LTS Benchmark v2.0.0 |
| tech_stack | ["ubuntu","linux"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
CIS Ubuntu Linux 16.04 LTS Benchmark v2.0.0 - 5.1.8
Profile Applicability
- Level 1 - Server
- Level 1 - Workstation
Description
Configure /etc/cron.allow to allow specific users to use this service. If /etc/cron.allow does not exist, then /etc/cron.deny is checked. Any user not specifically defined in this file is allowed to use cron. By removing the file, only users in /etc/cron.allow are allowed to use cron.
Notes:
- Other methods, such as
systemd timers, exist for scheduling jobs. If another method is used, cron should be removed, and the alternate method should be secured in accordance with local site policy
- Even though a given user is not listed in
cron.allow, cron jobs can still be run as that user
- The
cron.allow file only controls administrative access to the crontab command for scheduling and modifying cron jobs
Rationale
On many systems, only the system administrator is authorized to schedule cron jobs. Using the cron.allow file to control who can run cron jobs enforces this policy. It is easier to manage an allow list than a deny list. In a deny list, you could potentially add a user ID to the system and forget to add it to the deny files.
Impact
None.
Audit Procedure
Command Line
Run the following command and verify that /etc/cron.deny does not exist:
stat /etc/cron.deny
Run the following command and verify Uid and Gid are both 0/root and Access, does not grant write or execute to group, and does not grant permissions to other for /etc/cron.allow:
stat /etc/cron.allow
Expected Result
The first command should return:
stat: cannot stat '/etc/cron.deny': No such file or directory
The second command should return:
Access: (0640/-rw-r-----) Uid: ( 0/ root) Gid: ( 0/ root)
Remediation
Command Line