Commit Graph
66 Commits
Author SHA1 Message Date
Diego Louzán f8295d5248 fix(os_hardening): cast expected int types in pam tasks
Signed-off-by: Diego Louzán <[email protected]>
2022-10-27 16:50:08 +02:00
schurzi a1b80fe657 adopt all current suggestions from ansible-lint (#592) 2022-10-24 09:42:23 +02:00
donestefan 464d8df8e8 add hardening of root user account(s) (#579) 2022-10-21 11:05:43 +02:00
Sebastian Gumprich 9ac01fb358 add always-tag to include so other tags can be used (#569)
Signed-off-by: Sebastian Gumprich <[email protected]>

Signed-off-by: Sebastian Gumprich <[email protected]>
2022-08-26 13:45:05 +02:00
Sebastian Gumprich 11d187e62e update supported OS in meta and fix linting (#572)
Signed-off-by: Sebastian Gumprich <[email protected]>

Signed-off-by: Sebastian Gumprich <[email protected]>
2022-08-26 13:44:51 +02:00
divialth fb8b9142c8 rework filesystem hardening (#555)
* rework filesystem hardening

-  removed a lot duplicated code by using a loop
-  added new hardening options for /tmp
-  added new options "passno" and "dump" for every filesystem.
   currently ansible changed that values to 0 for every fs
   new default depends on fstype, can be overwriten in config
-  removed default fstype in config
   the type will now be autodetected,  can be overwriten in config
-  mount src setting is now optional
   the source will now be autodetected,  can be overwriten in config
-  it will be now checked, if it is really a mount
-  changed fs reload to handler
-  removed check os_auditd_enabled on /var/log/audit

Signed-off-by: divialth <[email protected]>

* fix lint errors

Signed-off-by: divialth <[email protected]>

* implemented the name suggestions

Signed-off-by: divialth <[email protected]>

Signed-off-by: divialth <[email protected]>
2022-08-22 11:16:57 +02:00
PhilippFunkandPhilipp Funk fd3fc1cfba add option to bypass .netrc check function (#563)
add option to whitelist specific user that need a .netrc file in there home dirs
add test for .netrc files if option os_netrc_enabled is false

Signed-off-by: Philipp Funk <[email protected]>

Signed-off-by: Philipp Funk <[email protected]>
Co-authored-by: Philipp Funk <[email protected]>
2022-08-17 09:09:00 +02:00
8c82af9c98 Only run hardening if /var/log/audit exists (#550)
* Only run harding if /var/log/audit exists

Signed-off-by: GitHub <[email protected]>

* Update roles/os_hardening/tasks/minimize_access.yml

* add more conditionals to when auditd show be hardened

Signed-off-by: Sebastian Gumprich <[email protected]>

* add more tests to the os-hardening vm tests

Signed-off-by: Sebastian Gumprich <[email protected]>

* Revert "add more tests to the os-hardening vm tests"

This reverts commit c05fe8b520.

Signed-off-by: Sebastian Gumprich <[email protected]>

Co-authored-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2022-07-15 11:41:01 +02:00
Martin Schurz 0f631c1405 add sysctl exclude
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 09:39:52 +02:00
Martin Schurz 5d50b5b130 add sysctl exclude
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 09:32:02 +02:00
Martin Schurz 28baf0d581 add sysctl exclude
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 09:17:44 +02:00
Martin Schurz 92dc094022 add sysctl exclude
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 09:05:58 +02:00
Martin Schurz cd45a58683 fix yum gpg-check task
Signed-off-by: Martin Schurz <[email protected]>
2022-07-10 20:22:39 +02:00
Martin Schurz fa7f8597d9 fix bug in check for /boot
Signed-off-by: Martin Schurz <[email protected]>
2022-07-10 13:36:19 +02:00
Sebastian Gumprich 73f84ae2a9 fix wrong indentation
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-07-08 16:04:37 +02:00
Sebastian Gumprich 9b50392d8a fix linting
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-07-07 16:12:06 +02:00
488ff6a7c3 Harden mountpoints (#531)
* first testing with tasks and variables

Signed-off-by: Ludwig Bayerlein <[email protected]>

* update variables for dir options

Signed-off-by: Ludwig Bayerlein <[email protected]>

* updated permissions and defaults

Signed-off-by: Ludwig Bayerlein <[email protected]>

* fix home dir permissions

Signed-off-by: Ludwig Bayerlein <[email protected]>

* updated tasks with useful variables

Signed-off-by: Ludwig Bayerlein <[email protected]>

* reorder tasks. first remount, then manage fstab and fix permissions on directories. Renaming task names with mountpoints (slashes)

Signed-off-by: Ludwig Bayerlein <[email protected]>

* shorten tasks with list items

Signed-off-by: Ludwig Bayerlein <[email protected]>

* change defaults for /boot directory, because its a bad behaviour, if ansible changes boot entries with a default value

Signed-off-by: Ludwig Bayerlein <[email protected]>

* Update documentation for new parameters to manage mountpoints

Signed-off-by: Ludwig Bayerlein <[email protected]>

* Update roles/os_hardening/tasks/minimize_access.yml

Co-authored-by: Sebastian Gumprich <[email protected]>
Signed-off-by: Ludwig Bayerlein <[email protected]>

* Update roles/os_hardening/tasks/minimize_access.yml

Co-authored-by: Sebastian Gumprich <[email protected]>
Signed-off-by: Ludwig Bayerlein <[email protected]>

* Fix state on every new task

Signed-off-by: Ludwig Bayerlein <[email protected]>

* loop instead of list

Signed-off-by: Ludwig Bayerlein <[email protected]>

* testing remount with register

Signed-off-by: Ludwig Bayerlein <[email protected]>

* add remounts with loop over all changed folders

Signed-off-by: Ludwig Bayerlein <[email protected]>

* testing and solving trouble with variable names

Signed-off-by: Ludwig Bayerlein <[email protected]>

* optimize default permissions for var-log-audit

Signed-off-by: Ludwig Bayerlein <[email protected]>

* optimize default permissions for var-log-audit

Signed-off-by: Ludwig Bayerlein <[email protected]>

* change to new optimizied permissions of var-log-audit

Signed-off-by: Ludwig Bayerlein <[email protected]>

* fix some defaults in fstab to configure as mounted

Signed-off-by: Ludwig Bayerlein <[email protected]>

* add stat and check, if boot folder exists

Signed-off-by: Ludwig Bayerlein <[email protected]>

Co-authored-by: Ludwig Bayerlein <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2022-07-07 09:02:25 +02:00
abejotaRandAbraham Rebori 8edd650135 change permissions of the tmout.sh file (#520)
Co-authored-by: Abraham Rebori <[email protected]>
2022-02-21 14:01:19 +01:00
Sebastian Gumprich 2ba40b0891 move sysctls to debian specific vars (#524)
* fix ansible-lint issue

https://github.com/ansible-community/ansible-lint/issues/1795
Signed-off-by: rndmh3ro <[email protected]>

* move 2 sysctls to debian specific

Signed-off-by: rndmh3ro <[email protected]>

* fix ansible-lint issue

https://github.com/ansible-community/ansible-lint/issues/1795
Signed-off-by: rndmh3ro <[email protected]>

* add arch linux sysctls

* simplify sysctl settings

Signed-off-by: rndmh3ro <[email protected]>

* ove overwrite to the bottom to let it acutally overwrite something

Signed-off-by: rndmh3ro <[email protected]>

* fix typo

Signed-off-by: rndmh3ro <[email protected]>
2022-02-18 15:30:32 +01:00
lbayerleinandLudwig Bayerlein 1a97c6cf87 new feautre tmout in a new pr (#516)
Signed-off-by: Ludwig Bayerlein <[email protected]>

Co-authored-by: Ludwig Bayerlein <[email protected]>
2021-12-16 11:39:24 +01:00
Sebastian Gumprich 8f22ce788c Feature coredump (#513)
* restructure limits-tasks

* disable coredumps in tests

* use notify-task for systemd-reload

Signed-off-by: rndmh3ro <[email protected]>

* add notify to another task

Signed-off-by: rndmh3ro <[email protected]>

* rm obsolete task and rename handler

Signed-off-by: rndmh3ro <[email protected]>
2021-12-10 22:10:14 +01:00
lbayerleinandLudwig Bayerlein bb8e3e375e add feature to disable coredump to limit task (#511)
Signed-off-by: Ludwig Bayerlein <[email protected]>

Co-authored-by: Ludwig Bayerlein <[email protected]>
2021-12-08 14:25:49 +01:00
alegrey91 8805d9c14a fix: change hidepid mount task state to mounted 2021-11-29 22:37:21 +01:00
René Scheibe bbe4ce16a1 Add whitelist option for yum repository files (#487)
Files in this whitelist should not be altered.

Currently this is only relevant for enforcing the gpg check.

Signed-off-by: René Scheibe <[email protected]>
2021-11-07 11:56:59 +01:00
1bf31a197b disable ctrl-alt-del key combination (#496)
* new function to disable ctrl-alt-del to avooid reboot virtual machines f.e.

Signed-off-by: Ludwig Bayerlein <[email protected]>

* fix variable documentation for ctrlaltdel

Signed-off-by: Ludwig Bayerlein <[email protected]>

* added ctrlaltdel variable for molecule

Signed-off-by: Ludwig Bayerlein <[email protected]>

* optimize ctrlaltdel function with a 'when' query. thanks to rndmh3ro

Signed-off-by: Ludwig Bayerlein <[email protected]>

* fix typo in new file

Co-authored-by: Ludwig Bayerlein <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2021-10-28 10:31:58 +02:00
Claudius Heine 384c097f8a feat(os_hardening): extend file permission tasks to cover more files (#489)
The tasks `Change shadow ownership to root and mode to 0600` and `Change
passwd ownership to root and mode to 0644` only handle
`/etc/shadow` and `/etc/passwd` respectively. But there multiple
adjacent files that should be handled with these rules as well:

- `/etc/gshadow`
- `/etc/shadow-`
- `/etc/gshadow-`
- `/etc/group`
- `/etc/shadow-`
- `/etc/group-`

This change adds those files to the rules, so that permissions are
handled in the same way.

Closes: #488

Signed-off-by: Claudius Heine <[email protected]>
2021-10-21 09:51:20 +02:00
rndmh3ro cf17f80374 skip linting on special task
Signed-off-by: rndmh3ro <[email protected]>
2021-08-15 20:16:56 +02:00
蚯蚓 27c6b93d04 add "when" statements in hardening.yml(#453) (#455)
* add "when" statements in hardening.yml(#453)

Signed-off-by: jqiuyin <[email protected]>

* add "when" statements in hardening.yml(#453)

Signed-off-by: jqiuyin <[email protected]>

* add "when" statements in hardening.yml(#453)

Signed-off-by: jqiuyin <[email protected]>
2021-07-01 11:25:14 +02:00
Sebastian Gumprich 4ca4f09453 Cleanup old OS-support and simplify vars (#458)
* use os_family instead of distribution for debian systems

Signed-off-by: rndmh3ro <[email protected]>

* remove tasks related to rhel6 or debian 6

Signed-off-by: rndmh3ro <[email protected]>
2021-06-30 13:09:46 +02:00
Sebastian Gumprich 72ec118a6d add rocky linux 8 tests and make sure that all relevant tasks are execd (#457)
* add rocky linux 8 tests and make sure that all relevant tasks are executed

Signed-off-by: rndmh3ro <[email protected]>

* fix missing quote

Signed-off-by: rndmh3ro <[email protected]>
2021-06-30 13:09:12 +02:00
schurzi 29e10e5c3b add tag always to os dependent vars task (#456)
when our collection is used with tags, the os dependent variables are
not resolved. This task should run every time, so the behaviour is
correct.

Signed-off-by: Martin Schurz <[email protected]>
2021-06-29 13:07:25 +02:00
Colin Adler 8cbeeff501 Use include_tasks for os_hardening/main.yml (#451)
When `import_tasks` is used, the task `Fetch OS dependent variables`
always runs, even when excluded by an upstream tag.

When `Fetch OS dependent variables` runs while excluded via tags, it
will always fail with the following.

```
fatal: [alpha]: FAILED! => {"msg": "No file was found when using first_found. Use errors='ignore' to allow this task to be skipped if no files are found"}
```

This brings os_hardening's main.yml in line with ssh_hardening's
main.yml, which doesn't have this issue.

Signed-off-by: Colin Adler <[email protected]>
2021-06-23 11:28:08 +02:00
schurzi 2882a15ee1 Merge pull request #427 from dev-sec/snoopotic-fix/add_auditd_restart_handler
add restart-auditd handler after configuration change
2021-03-29 21:15:46 +02:00
Farid Joubbi 7af432e1cf Uppercased first letter of task names. (#422)
Signed-off-by: Farid Joubbi <[email protected]>
2021-03-25 13:52:56 +01:00
Sebastian Gumprich 02c689eaa0 fix loop for home_directories
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-22 11:18:51 +01:00
Sebastian Gumprichandschurzi bf82736787 Update roles/os_hardening/tasks/user_accounts.yml
Co-authored-by: schurzi <[email protected]>
2021-03-22 11:18:51 +01:00
Sebastian Gumprich c86bdcb4c7 linting
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-22 11:18:51 +01:00
Sebastian Gumprich b5ca78a9cd chmod /home directories to 0700
This is based on https://github.com/dev-sec/ansible-collection-hardening/pull/277
and updated to work with the new collection.

Thanks to @aardbol for this initial implementation!

Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-22 11:18:51 +01:00
Felix Herzog eca93cc80b add restart-auditd handler as after configuration change (e.g. of os_auditd_max_log_file_action) you need to restart. Sadly on rhel7 systems you cannot use systemd. And as debian derivates use service as alias and it works I kept it that simple. also adding 'auditd'-tag to make it easy only run that config change if needed.
Signed-off-by: Felix Herzog <[email protected]>
2021-03-19 14:42:31 +01:00
Martin Schurz b2dd73d27e remove unneeded tasks
Signed-off-by: Martin Schurz <[email protected]>
2021-03-15 23:53:40 +01:00
Martin Schurz ec9d7d2cb8 cleanup and typos
Signed-off-by: Martin Schurz <[email protected]>
2021-03-15 23:39:12 +01:00
Martin Schurz 5f97dffddf Merge branch 'master' into tally
Signed-off-by: Martin Schurz <[email protected]>
2021-03-11 19:26:37 +01:00
schurzi 103135ce9a fix task naming
Signed-off-by: Martin Schurz <[email protected]>
2021-03-11 17:21:32 +01:00
Farid Joubbi 4158e0bfb4 Created a list of files/dirs to be looped instead of two tasks per file/dir.
Signed-off-by: Farid Joubbi <[email protected]>
2021-03-11 16:54:25 +01:00
Farid Joubbi 4bad4779cd Fixed copy-paste error by doing og-rwx instead of numerical.
Signed-off-by: Farid Joubbi <[email protected]>
2021-02-22 22:13:18 +01:00
Martin Schurz 75fc31b80c remove cracklib
Signed-off-by: Martin Schurz <[email protected]>
2021-02-22 19:10:45 +01:00
Farid Joubbi 91a0d62305 Ensure permissions on /etc/crontab are configured. #375
Signed-off-by: Farid Joubbi <[email protected]>
2021-02-19 23:19:00 +01:00
Farid Joubbi 60d24db460 Ensure permissions on /etc/crontab are configured. #375
Signed-off-by: Farid Joubbi <[email protected]>
2021-02-19 22:40:16 +01:00
Martin Schurz 28c6bf5c66 put force on the right task
Signed-off-by: Martin Schurz <[email protected]>
2021-02-14 23:31:24 +01:00
Martin Schurz 26c73ed1c9 fix debian faillock config
Signed-off-by: Martin Schurz <[email protected]>
2021-02-14 23:13:14 +01:00