Compare commits

...
1604 Commits
Author SHA1 Message Date
Sebastian Gumprich a03ed7a771 Merge branch 'support_more_os' into test_crypto_lib 2022-10-21 09:46:30 +02:00
Sebastian Gumprich b771f52af1 test crypto changes from ssh-baseline
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-21 09:41:17 +02:00
dev-sec CI f1ea1e52f3 update changelog 2022-10-20 13:00:42 +00:00
Benedikt Böhm 802bad48e6 do not manage trusted user ca keys if none exist (#580)
Signed-off-by: Benedikt Böhm <[email protected]>

Signed-off-by: Benedikt Böhm <[email protected]>
2022-10-20 14:44:14 +02:00
Sebastian Gumprich 2bd0a0feae simplify OS-vars files
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-20 14:31:47 +02:00
Sebastian Gumprich 561b59baee add ssh-vars for new OS
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-20 14:31:47 +02:00
Sebastian Gumprich d3b403436f add mysql-vars for new OS 2022-10-20 14:31:47 +02:00
Sebastian Gumprich fc0a90608e add support for centos stream 8 and 9, rocky 9
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-20 14:31:47 +02:00
dev-sec CI d3acab585e update changelog 2022-09-28 08:54:32 +00:00
Sebastian Gumprich 44489dea5f run tests only on pushes to master or to PRs (#581)
Signed-off-by: Sebastian Gumprich <[email protected]>

Signed-off-by: Sebastian Gumprich <[email protected]>
2022-09-28 10:44:31 +02:00
dev-sec CI 64b5d82c5f update galaxy.yml with new version 2022-09-08 13:03:43 +00:00
dev-sec CI f96c2dd8c9 update changelog 2022-09-08 13:00:02 +00:00
hagenbauer 500cd24beb nginx variables for configuration and owner (#578)
Signed-off-by: [email protected] <[email protected]>

Signed-off-by: [email protected] <[email protected]>
2022-09-08 14:58:10 +02:00
dev-sec CI 3835b2a18c update changelog 2022-09-06 14:38:23 +00:00
Simon Baerlocher 883effef82 add centos >8 Support (#573)
Signed-off-by: Simon Baerlocher <[email protected]>

Signed-off-by: Simon Baerlocher <[email protected]>
2022-09-06 16:31:43 +02:00
dev-sec CI 9cc0b254f6 update galaxy.yml with new version 2022-08-26 13:11:17 +00:00
dev-sec CI 80960d5703 update changelog 2022-08-26 11:46:34 +00: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
Sebastian Gumprich fbea75ad18 only run release actions on upstream-repo (#568)
fixes #566

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

Signed-off-by: Sebastian Gumprich <[email protected]>
2022-08-26 09:40:59 +02:00
dev-sec CI 40913a3e6d update changelog 2022-08-26 07:19:56 +00:00
donestefan 38e1c3bbeb fix misleading comment (#571)
also RHEL6 is not supported anymore
2022-08-26 09:17:54 +02:00
dev-sec CI d981a4e545 update galaxy.yml with new version 2022-08-22 11:19:25 +00:00
dev-sec CI 627634d95f update changelog 2022-08-22 10:41:10 +00:00
Sebastian Gumprich 720d7786b5 fix typo 2022-08-22 12:39:21 +02:00
Sebastian Gumprich 84412e99c2 fix typo 2022-08-22 11:25:08 +02:00
dev-sec CI 516f4cfb01 update changelog 2022-08-22 09:18:59 +00: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
dev-sec CI ca266d25df update changelog 2022-08-22 08:05:50 +00:00
schurzi c1cd6c5ac3 change default to allow SFTP (#564)
* change default to allow SFTP

Signed-off-by: Martin Schurz <[email protected]>

* add documentation

Signed-off-by: Martin Schurz <[email protected]>

* diasble sftp for default tests

Signed-off-by: Martin Schurz <[email protected]>

* extend documentation

Signed-off-by: Martin Schurz <[email protected]>

* fix typo

Signed-off-by: Martin Schurz <[email protected]>

* correct ssh version

Signed-off-by: Martin Schurz <[email protected]>

Signed-off-by: Martin Schurz <[email protected]>
2022-08-22 10:03:37 +02:00
dev-sec CI 5e220525cb update changelog 2022-08-17 07:11:00 +00: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
dev-sec CI 6aa01f040a update galaxy.yml with new version 2022-08-16 15:27:27 +00:00
dev-sec CI e3b861bc6c update changelog 2022-08-16 15:23:18 +00:00
Sebastian Gumprich 82bb46d7cc update supported OS 2022-08-16 17:21:06 +02:00
dev-sec CI 6777681ab9 update changelog 2022-08-16 14:02:19 +00:00
dev-sec CI 14edb7d015 update changelog 2022-08-16 13:12:51 +00:00
eef8708918 Add full support for Debian 11 (#538)
* Include Debian 11 into Molecule test suites (#527)

Signed-off-by: Daya Adianto <[email protected]>

* Fix Ansible Lint GitHub Action version (#527)

Signed-off-by: Daya Adianto <[email protected]>

* Update .gitignore

Signed-off-by: Daya Adianto <[email protected]>

* mysql_hardening: Use Python 3 as Ansible interpreter (#527)

Signed-off-by: Daya Adianto <[email protected]>

* Note Debian 11 support for os_hardening & nginx_hardening (#527)

Signed-off-by: Daya Adianto <[email protected]>

* Fix lint issues & Ansible Lint configuration in CI

Signed-off-by: Daya Adianto <[email protected]>

* Try to fix YAML lint issues, again

Re-ordered YAML comments at the end of `.yamllint` file.

Signed-off-by: Daya Adianto <[email protected]>

* rm debian9 from tests, add debian 11 where missing

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

* fix mysql molecule tests

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

Signed-off-by: Daya Adianto <[email protected]>
Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2022-08-16 15:02:27 +02:00
dev-sec CI ebe43504a2 update changelog 2022-08-15 14:03:51 +00:00
Sebastian Gumprich d11595d81a revert debian 9 change, only one tls variable now (#562)
fixes #528

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

Signed-off-by: Sebastian Gumprich <[email protected]>
2022-08-15 16:01:49 +02:00
dev-sec CI beeea1ca66 update changelog 2022-08-15 11:52:04 +00:00
schurzi a806ec8598 add posibility to run ssh_hardening as unprivileged user (#561)
* add VM tests for ssh_hardening

Signed-off-by: Martin Schurz <[email protected]>

* remove VM tests from ssh_hardening

Signed-off-by: Martin Schurz <[email protected]>

* run ssh_hardening test as unprivileged user

Signed-off-by: Martin Schurz <[email protected]>

* add link for documentation

Signed-off-by: Martin Schurz <[email protected]>

* use different config

Signed-off-by: Martin Schurz <[email protected]>

* remove become

Signed-off-by: Martin Schurz <[email protected]>

* re-add become

Signed-off-by: Martin Schurz <[email protected]>

* move become into role

Signed-off-by: Martin Schurz <[email protected]>

* indentation

Signed-off-by: Martin Schurz <[email protected]>

* try args apply

Signed-off-by: Martin Schurz <[email protected]>

* fix linting

Signed-off-by: Martin Schurz <[email protected]>

* add documentation

Signed-off-by: Martin Schurz <[email protected]>

Signed-off-by: Martin Schurz <[email protected]>
2022-08-15 13:19:07 +02:00
dev-sec CI fad6059f6d update changelog 2022-08-15 11:07:07 +00:00
schurzi b56c801574 add basic support for ubuntu22.04 (#554)
Signed-off-by: Martin Schurz <[email protected]>

Signed-off-by: Martin Schurz <[email protected]>
2022-08-15 13:05:09 +02:00
dev-sec CI 7ee757b61c update galaxy.yml with new version 2022-07-26 14:13:14 +00:00
dev-sec CI 1129485e33 update changelog 2022-07-26 13:59:25 +00:00
Benedikt Böhm 2265497e75 Fix broken mode for /var/log/audit (#552)
```
Unable to open /var/log/audit/audit.log (Permission denied)
```

This PR fixes the issue by using the default permission set by auditd (`0700`).

Signed-off-by: Benedikt Böhm <[email protected]>
2022-07-26 15:57:39 +02:00
dev-sec CI 24d3520d69 update changelog 2022-07-15 09:43:19 +00: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
dev-sec CI b6f32948ec update galaxy.yml with new version 2022-07-11 21:14:56 +00:00
dev-sec CI 0a25d486a0 update changelog 2022-07-11 19:59:01 +00:00
schurzi e03e435517 Merge pull request #547 from dev-sec/vm_tests
add VM tests for os_hardening
2022-07-11 21:57:21 +02:00
Martin Schurz 27d091e871 reduce testing on vm
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 16:08:35 +02:00
Martin Schurz c81ce23ed7 disable ctrl+alt+del for vm tests
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 13:04:14 +02:00
Martin Schurz 72cb97c8d5 remove waivers file from docker test config
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 12:36:48 +02:00
Martin Schurz edda7075a2 add badge for tests
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 12:17:34 +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 4b519e8b13 add sysctl exclude
Signed-off-by: Martin Schurz <[email protected]>
2022-07-11 09:13:26 +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 fdc6b333c9 exclude arch
Signed-off-by: Martin Schurz <[email protected]>
2022-07-10 21:30:45 +02:00
Martin Schurz 1825eba27a exclude opensuse
Signed-off-by: Martin Schurz <[email protected]>
2022-07-10 21:08:50 +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 730510c2a7 add opensuse and arch
Signed-off-by: Martin Schurz <[email protected]>
2022-07-10 15:55:08 +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
Martin Schurz b6b2d45f09 speedup ansible
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 15:43:59 +02:00
Martin Schurz 9cfe1f2b9a also harden /boot
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 15:43:11 +02:00
Martin Schurz e49eacd8ec icrease ressources for test vm
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 10:42:20 +02:00
Martin Schurz 7535abd882 remove waiver
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 02:22:35 +02:00
Martin Schurz 400e576984 use correct parameter
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 01:47:59 +02:00
Martin Schurz 0eddf2872b setup python
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 01:19:12 +02:00
Martin Schurz 013a554731 force linking
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 00:59:50 +02:00
Martin Schurz 8f3f724380 call correct molecule task
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 00:57:26 +02:00
Martin Schurz e742330a41 add testing of os_hardning on vm
Signed-off-by: Martin Schurz <[email protected]>
2022-07-09 00:52:58 +02:00
dev-sec CI b00b38ece6 update changelog 2022-07-08 16:12:57 +00:00
schurzi dd919b5cf6 Merge pull request #546 from dev-sec/linting
Linting
2022-07-08 18:10:32 +02:00
Martin Schurz 21df60a71f fix includes
Signed-off-by: Martin Schurz <[email protected]>
2022-07-08 17:24:07 +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 bf372f8493 rename tasks file and remove redundant 'verify'
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-07-08 16:04:24 +02:00
Sebastian Gumprich ef89d52f98 remove duplicate file
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-07-07 16:22:10 +02:00
Sebastian Gumprich 9b50392d8a fix linting
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-07-07 16:12:06 +02:00
Sebastian Gumprich 215c50709b tempt 2022-07-07 15:34:28 +02:00
Sebastian Gumprich a8fdf2de0a fix linting errors
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-07-07 14:59:39 +02:00
dev-sec CI 3528fe9f6d update changelog 2022-07-07 10:08:44 +00:00
Martin Schurz 02b9a20fe7 fix release action
Signed-off-by: Martin Schurz <[email protected]>
2022-07-07 12:06:34 +02:00
Martin Schurz f627d2fbfd fix release action
Signed-off-by: Martin Schurz <[email protected]>
2022-07-07 11:27:51 +02:00
rndmh3ro e28e09cd0e Prettified Code! 2022-07-07 07:02:50 +00: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
dev-sec CI 0251172cd1 update galaxy.yml with new version 2022-06-29 14:02:54 +00:00
dev-sec CI 9b27a6a0fc update changelog 2022-06-29 13:57:35 +00:00
Martin Schurz b32ee28a89 use correct version for github-actions-x/commit
Signed-off-by: Martin Schurz <[email protected]>
2022-06-29 15:55:13 +02:00
Martin Schurz 0c8cbb2185 update GitHub action for checkout
there was a new feature introduced to git, that prevents some of our
actions to run. The updated action handles this properly.

https://github.com/actions/checkout/issues/760

Signed-off-by: Martin Schurz <[email protected]>
2022-06-29 15:34:39 +02:00
Sebastian Gumprich 231036f882 update commit-action version 2022-06-29 12:59:44 +02:00
Sebastian Gumprich 36412f438a upadte commit-action version 2022-06-29 12:56:28 +02:00
Sebastian Gumprich 3f50b6e94b update os-hardening readme with os_ignore_users
fixes #542

Signed-off-by: Sebastian Gumprich <[email protected]>
2022-05-30 13:29:45 +02:00
schurzi 9cf1659742 Merge pull request #541 from dev-sec/doc_update
Improve documentation
2022-05-04 14:25:21 +02:00
Martin Schurz 79fb86d021 fix linter errors
Signed-off-by: Martin Schurz <[email protected]>
2022-05-04 14:12:24 +02:00
Martin Schurz 57944bc56d add ignore to ansible-lint
Signed-off-by: Martin Schurz <[email protected]>
2022-05-04 14:03:33 +02:00
Martin Schurz bff23f82cb update ansible-lint action
Signed-off-by: Martin Schurz <[email protected]>
2022-05-04 13:57:52 +02:00
Martin Schurz 46b436fc9b update description of ssh_client_alive_count
Signed-off-by: Martin Schurz <[email protected]>
2022-05-04 13:48:38 +02:00
Martin Schurz 18d01327eb improve linking to legacy roles
Signed-off-by: Martin Schurz <[email protected]>
2022-05-04 13:44:52 +02:00
dev-sec CI 1d3ea50de6 update changelog 2022-02-28 09:21:42 +00:00
schurzi dc22dc33a2 Merge pull request #530 from dev-sec/delete_drafts
delete obsolete release drafts
2022-02-28 10:20:01 +01:00
Martin Schurz 9d00c8ba29 delete old release drafts
Signed-off-by: Martin Schurz <[email protected]>
2022-02-25 20:10:36 +01:00
dev-sec CI bf276ba14d update changelog 2022-02-21 13:03:04 +00: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
dev-sec CI fce131a75d update changelog 2022-02-21 13:00:41 +00:00
Sebastian Gumprich af14af5954 add waivers to skip controls (#529)
Signed-off-by: rndmh3ro <[email protected]>
2022-02-21 13:58:39 +01:00
dev-sec CI b6677fccd9 update changelog 2022-02-21 11:14:34 +00:00
schurzi 9be3a0520b Merge pull request #526 from dev-sec/nginx_debian_9_tls
debian 9's nginx doesn't support tls1.3
2022-02-21 11:49:34 +01:00
dev-sec CI 1f8c8d1c43 update changelog 2022-02-21 10:46:52 +00:00
schurzi 49b93dc89c Merge pull request #525 from dev-sec/remove_centos_8
remove centos8 tests
2022-02-21 11:39:09 +01:00
rndmh3ro 468e4674b8 debian 9's nginx doesnt support tls1.3
while this could be better solved by checking what nginx version is used, debian9 is eol'd in 4 months. if there will be again a need to check for nginx versions, we'll add it then

Signed-off-by: rndmh3ro <[email protected]>
2022-02-21 10:02:54 +01:00
dev-sec CI 2a4d409339 update galaxy.yml with new version 2022-02-21 08:28:20 +00:00
rndmh3ro b74e88723d remove centos8 tests
Signed-off-by: rndmh3ro <[email protected]>
2022-02-21 08:05:40 +01:00
dev-sec CI e0e76fa675 update changelog 2022-02-18 14:46:02 +00: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
dev-sec CI 798f4b9a99 update galaxy.yml with new version 2021-12-16 11:03:39 +00:00
dev-sec CI 507873f388 update changelog 2021-12-16 10:56:21 +00:00
dev-sec CI 8bdf9bbb21 update changelog 2021-12-16 10:41:14 +00: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
dev-sec CI 73d319cc79 update changelog 2021-12-10 21:12:13 +00: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
dev-sec CI 945d00fd91 update changelog 2021-12-08 13:27:41 +00: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
dev-sec CI db78f612f5 update changelog 2021-11-30 09:24:20 +00:00
schurzi 82be5db515 Merge pull request #510 from alegrey91/master
change hidepid mount task state to mounted
2021-11-30 10:22:24 +01:00
alegrey91 8805d9c14a fix: change hidepid mount task state to mounted 2021-11-29 22:37:21 +01:00
dev-sec CI ed17a6370a update changelog 2021-11-29 09:27:29 +00:00
schurzi ad43f908df prettify nginx options (#509)
Signed-off-by: Martin Schurz <[email protected]>
2021-11-29 10:25:43 +01:00
dev-sec CI 530069ae88 update changelog 2021-11-28 10:40:22 +00:00
schurzi cb3574ed56 Merge pull request #501 from ksaadDE/patch-3
Updated dh_params to 4096
2021-11-28 11:38:39 +01:00
dev-sec CI e95729b431 update changelog 2021-11-26 10:34:51 +00:00
duffn 1d25d4185c Update nginx_add_header README to match default (#506)
Signed-off-by: Nicholas Duffy <[email protected]>
2021-11-26 11:31:47 +01:00
tekicat 88893a5d4a Fix duplicate sysctl config (#505)
Signed-off-by: tekicat <[email protected]>
Signed-off-by: gk <[email protected]>
Signed-off-by: Tekicat <[email protected]>
2021-11-26 11:30:50 +01:00
dev-sec CI b67a28bd09 update galaxy.yml with new version 2021-11-23 10:49:03 +00:00
rndmh3ro 88ea2966db fix tags in galaxy.yml - no dashes allowed
Signed-off-by: rndmh3ro <[email protected]>
2021-11-23 08:20:06 +01:00
dev-sec CI dfa065dcff update changelog 2021-11-23 07:08:47 +00:00
rndmh3ro cb0e00f433 fix tags in galaxy.yml - no dashes allowed
Signed-off-by: rndmh3ro <[email protected]>
2021-11-23 08:06:45 +01:00
dev-sec CI 3bd20265d4 update changelog 2021-11-23 06:46:04 +00:00
Karim f84ff572ac Updated dh_params to 4096
Updated dh_params to 4096
2021-11-15 19:02:59 +00:00
dev-sec CI 8a385b8114 update changelog 2021-11-15 18:43:49 +00:00
schurzi b0393a12ce Merge pull request #470 from ksaadDE/patch-2
Add TLSv1.3 to nginx default configuration
2021-11-15 19:41:49 +01:00
Karim 96d6b47912 Update main.yml
TLSv1.3 should be supported (+security) and soon as possible should be TLSv1.2 EOL.
2021-11-15 19:23:47 +01:00
dev-sec CI 0c840372d8 update changelog 2021-11-07 21:30:06 +00:00
schurzi ff939a2b4c Merge pull request #499 from darxriggs/improvement-arch-linux
Improve testing: install packages on Arch Linux
2021-11-07 22:21:58 +01:00
René Scheibe 0609cf729a Improve installing packages on Arch Linux
This prevents annoying task errors (even though they are ignored)
when testing on non-Arch distributions.

Running the "prepare" command, this was always visible:
> fatal: [instance]: FAILED! => {"changed": false, "msg": "Failed to find required executable \"pacman\" in paths: /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin"}

Signed-off-by: René Scheibe <[email protected]>
2021-11-07 13:53:03 +01:00
dev-sec CI c9c6819892 update changelog 2021-11-07 10:58:40 +00: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
dev-sec CI 4eb847c90e update changelog 2021-10-28 08:33:53 +00: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
dev-sec CI 1605f304ec update changelog 2021-10-25 09:14:17 +00:00
schurzi 12c1f3dd78 Merge pull request #491 from dev-sec/recreate_tests
revive old tests with custom ssh settings
2021-10-25 11:12:10 +02:00
rndmh3ro 7f17f9b8b2 remove unused verify file
Signed-off-by: rndmh3ro <[email protected]>
2021-10-25 11:04:47 +02:00
Sebastian Gumprich f09b2b6338 fix molecule call 2021-10-25 10:26:56 +02:00
dev-sec CI 2e5e1de407 update changelog 2021-10-24 10:41:11 +00:00
schurzi c1974282b1 add old role names to tags in Galaxy (#495)
We deprecated our roles in Ansible Galaxy the deprecation link contains
a search keyword with the role name and our new collection should be
found, if someone clicks this link.

Signed-off-by: Martin Schurz <[email protected]>
2021-10-24 12:39:16 +02:00
dev-sec CI 09958ccb91 update changelog 2021-10-24 09:30:03 +00:00
schurzi 08b0fd14f4 Merge pull request #494 from dev-sec/sysctl-34
implement sysctl-34 - link protection settings
2021-10-24 11:21:14 +02:00
schurzi ff37289879 Merge pull request #493 from dev-sec/rndmh3ro-patch-1
update minimum ansible version for roles
2021-10-24 11:09:37 +02:00
Sebastian Gumprichandschurzi 9f372c285c Update roles/os_hardening/defaults/main.yml
Co-authored-by: schurzi <[email protected]>
2021-10-24 10:59:49 +02:00
dev-sec CI aaf6d307b8 update galaxy.yml with new version 2021-10-22 10:51:29 +00:00
dev-sec CI 3cd532fe41 update changelog 2021-10-21 07:53:07 +00: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 346b064682 implement sysctl-34 - link protection settings
Signed-off-by: rndmh3ro <[email protected]>
2021-10-20 20:59:49 +02:00
Sebastian Gumprich be0d501bc8 update minimum ansible version for roles
fixes #407

Signed-off-by: rndmh3ro <[email protected]>
2021-10-20 20:42:05 +02:00
rndmh3ro 12aaa7d955 add new files to labeler config
Signed-off-by: rndmh3ro <[email protected]>
2021-10-20 15:32:45 +02:00
rndmh3ro f32b2c2c5e fix match address test 2021-10-20 15:18:01 +02:00
rndmh3ro 3877a9bab1 fix comment
Signed-off-by: rndmh3ro <[email protected]>
2021-10-18 22:00:01 +02:00
rndmh3ro cb7f447d9f fix comment
Signed-off-by: rndmh3ro <[email protected]>
2021-10-18 21:55:01 +02:00
rndmh3ro 55c83ac92d use second molecule scenario for custom ssh tests
Signed-off-by: rndmh3ro <[email protected]>
2021-10-18 21:49:24 +02:00
rndmh3ro bbc827e4a1 use second molecule scenario for custom ssh tests
Signed-off-by: rndmh3ro <[email protected]>
2021-10-18 21:33:45 +02:00
dev-sec CI 999e5fa210 update changelog 2021-10-18 19:14:34 +00:00
schurzi 215c8042ad Merge pull request #490 from dev-sec/change_baseline_urlsa
change baseline urls to full zip-url
2021-10-18 21:04:05 +02:00
rndmh3ro 940819ab84 revive old tests with custom ssh settings
Signed-off-by: rndmh3ro <[email protected]>
2021-10-18 21:01:02 +02:00
dev-sec CI 21ca7c533a update changelog 2021-10-18 18:57:06 +00:00
Sina Tak TehraniandSebastian Gumprich 5debcc0c6f fix filter error in ansible.builtin.file mode parameter (#486)
* fix filter error in ansible.builtin.file mode parameter

* Change cinc supermarket

* fix link to baseline

* fix typo

Co-authored-by: Sebastian Gumprich <[email protected]>
2021-10-18 20:55:24 +02:00
rndmh3ro 92bd94a0cf change baseline urls to full zip-url
the other urls that use git don't work anymore

Signed-off-by: rndmh3ro <[email protected]>
2021-10-18 20:28:19 +02:00
dev-sec CI aea4499805 update galaxy.yml with new version 2021-10-15 13:46:33 +00:00
dev-sec CI 29945527b8 update changelog 2021-08-30 13:47:56 +00:00
ReinerNippes e819f89ccb ssh_allow_tcp_forwarding is not a boolean (#480)
Changed the comment to "Set to 'yes', 'no', 'local', 'all' or 'remote' to allow TCP Forwarding"
2021-08-30 15:46:03 +02:00
dev-sec CI fcb7efc156 update changelog 2021-08-28 13:23:49 +00:00
Roger Meier 8fdb4e55b8 chore(ssh_hardening): set min_ansible_version to >=2.9.10 (#479) 2021-08-28 15:21:59 +02:00
rndmh3ro 8ff3d73bbf Prettified Code! 2021-08-25 10:58:16 +00:00
123quhiwiwk 062dd3f092 Use log_error/datadir from database settings instead of default variable (#478)
Signed-off-by: 123quhiwiwk <[email protected]>
2021-08-25 12:57:46 +02:00
dev-sec CI 37cff01759 update changelog 2021-08-24 07:43:35 +00:00
123quhiwiwk 4671a32062 Execute check of error logfile permissions only when log_error is defined (#477)
Signed-off-by: 123quhiwiwk <[email protected]>
2021-08-24 09:41:55 +02:00
dev-sec CI 78bab3f710 update changelog 2021-08-20 11:02:03 +00:00
Shawn Wilsher 3b33e0a7aa [mysql_hardening] Setup defaults for MySQL on FreeBSD (#474)
Signed-off-by: Shawn Wilsher <[email protected]>
2021-08-20 13:00:12 +02:00
dev-sec CI 2ed9d8e9da update galaxy.yml with new version 2021-08-17 11:29:25 +00:00
dev-sec CI df134e6385 update changelog 2021-08-15 20:55:27 +00:00
schurzi d7eb00f4b7 Merge pull request #475 from dev-sec/ansible_lint
use Ansible lint in separate task
2021-08-15 22:53:41 +02:00
rndmh3ro 7b37e9890e rename ansible-lint task
Signed-off-by: rndmh3ro <[email protected]>
2021-08-15 20:16:56 +02:00
rndmh3ro cf17f80374 skip linting on special task
Signed-off-by: rndmh3ro <[email protected]>
2021-08-15 20:16:56 +02:00
rndmh3ro 6fa7f7a0c8 add new linting action to replace molecules linting
molecule lints multiple times per action

Signed-off-by: rndmh3ro <[email protected]>
2021-08-15 20:16:56 +02:00
rndmh3ro 6c80de270b remove molecule linting, because it has own action now
Signed-off-by: rndmh3ro <[email protected]>
2021-08-15 20:16:56 +02:00
dev-sec CI e20dd076d1 update changelog 2021-08-15 18:04:40 +00:00
Shawn WilsherandSebastian Gumprich 9ab06a5e06 [mysql_hardening] Allow setting the mysql_distribution (#473)
* [mysql_hardening] Allow setting the mysql_distribution

On some operating systems, the package for MySQL is not `mysql-server`,
and so the default check for this will not yield the correct result.
This change adds an escape hatch by letting the user set
`mysql_distribution`.  Additionally, it verifies that it is set to a
legal value if the user has set it.

Closes #472

Signed-off-by: Shawn Wilsher <[email protected]>

* Update roles/mysql_hardening/tasks/main.yml

Co-authored-by: Sebastian Gumprich <[email protected]>
2021-08-15 20:03:07 +02:00
dev-sec CI bfd3f96355 update changelog 2021-08-06 11:42:51 +00:00
Filippo Tessarotto 3a73f6c46a SSH Hardening: backtick typo (#471) 2021-08-06 13:41:05 +02:00
dev-sec CI 4162929d2e update changelog 2021-08-06 11:10:37 +00:00
Sebastian Gumprich 545fd8798f Create LICENSE 2021-08-06 13:08:55 +02:00
dev-sec CI 3bd5eccec0 update changelog 2021-07-23 10:06:49 +00:00
schurzi 430e6c366f Merge pull request #469 from dev-sec/rndmh3ro-patch-1
fix license in galaxy
2021-07-23 12:04:59 +02:00
schurzi b24ee631cb fix double space 2021-07-23 12:04:45 +02:00
Sebastian Gumprich 681047ba52 fix readme in galaxy 2021-07-23 11:06:22 +02:00
dev-sec CI 96685ff0ac update galaxy.yml with new version 2021-07-22 14:41:26 +00:00
dev-sec CI 93ed95fe90 update changelog 2021-07-22 14:34:58 +00:00
Paweł Krawczyk 66bd1f0aec Add CVE-2021-33909 mitigations (#466)
* Add CVE-2021-33909 mitigations

kernel.unprivileged_bpf_disabled: 1
kernel.unprivileged_userns_clone: 0

The first one is also used by Tails.

Signed-off-by: Paweł Krawczyk <[email protected]>

* Clean up whitespaces

Signed-off-by: Paweł Krawczyk <[email protected]>
2021-07-22 16:32:41 +02:00
dev-sec CI 327b1a84c8 update changelog 2021-07-22 08:20:09 +00:00
Maik Stübner 714a34fa55 Allow configuration of password remember in pam (#467)
* Add Configuration of password remember
and set default to 60

see Telekom 2021.07-01 SoC 3.01 Req 25 and SoC 3.65 Req46

Signed-off-by: Maik Stuebner <[email protected]>

* set default for password remember back to 5

Signed-off-by: Maik Stuebner <[email protected]>

* readme default for password remember back to 5

Signed-off-by: Maik Stuebner <[email protected]>
2021-07-22 10:18:01 +02:00
dev-sec CI 488441a7dc update changelog 2021-07-16 07:43:08 +00:00
Leo Gallucci 585f1dc227 Add SUB_UID_MIN/MAX/COUNT, SUB_GID_MIN/MAX/COUNT (#463)
* add SUB_UID_MIN/MAX/COUNT, SUB_GID_MIN/MAX/COUNT

Similar reason as #461

> If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate user IDs)
> allocate SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to SUB_UID_MAX for each new user.
> The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 65536.

Signed-off-by: Leo Gallucci <[email protected]>

* document SUB_UID_MIN/MAX/COUNT, etc

Signed-off-by: Leo Gallucci <[email protected]>
2021-07-16 09:41:37 +02:00
dev-sec CI 2c5cf45573 update changelog 2021-07-13 14:09:08 +00:00
schurzi 5618655ce5 Merge pull request #465 from dev-sec/rndmh3ro-patch-1
update metadata to include community.mysql deps
2021-07-13 16:07:27 +02:00
Sebastian Gumprich da50f20860 update metadata to include community.mysql deps 2021-07-13 14:08:27 +02:00
dev-sec CI c87ac4425c update changelog 2021-07-12 13:33:37 +00:00
Leo Gallucci f92d193d3d add os_auth_uid_max, os_auth_gid_max (#461)
Signed-off-by: Leo Gallucci <[email protected]>
2021-07-12 15:32:02 +02:00
dev-sec CI a075af2f31 update galaxy.yml with new version 2021-07-08 11:35:18 +00:00
dev-sec CI 50f362602f update changelog 2021-07-01 09:26:58 +00: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
dev-sec CI e733906aec update changelog 2021-06-30 11:24:37 +00: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
dev-sec CI 2a43ad9cc6 update changelog 2021-06-30 09:06:30 +00:00
Sebastian Gumprichandschurzi 9cefddd949 make sha rounds configurable and increase no of rounds (#452)
* make sha rounds configurable and increase no of rounds

Fixes #365

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

* Prettified Code!

* make password rounds configurable in pam system-auth

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

* change wording of sha rounds documentation

Co-authored-by: schurzi <[email protected]>

Co-authored-by: schurzi <[email protected]>
2021-06-30 10:41:59 +02:00
dev-sec CI c769db4221 update changelog 2021-06-30 08:13:51 +00:00
Sherwin Daganato 350b5891d1 Add support for Rocky Linux 8 (#454)
Signed-off-by: Sherwin Daganato <[email protected]>
2021-06-30 10:12:07 +02:00
dev-sec CI d6cd67d908 update changelog 2021-06-29 11:10:34 +00: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
dev-sec CI d72db6037c update changelog 2021-06-23 09:29:55 +00: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
dev-sec CI cf6b6e6562 update changelog 2021-05-26 18:15:40 +00:00
Sebastian Gumprich 41cd8485cb enable ipv6 globally (#450)
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-05-26 20:13:45 +02:00
dev-sec CI be2523e5fb update galaxy.yml with new version 2021-05-24 20:16:19 +00:00
dev-sec CI c4ba0763ae update changelog 2021-05-24 19:14:00 +00:00
schurzi 2597854735 Merge pull request #449 from lduesing/enable_ipv6
Removed sysctl that tries to disable IPv6
2021-05-24 21:12:14 +02:00
Lars Düsing 0beeb3ee03 Removed sysctl that tries to disable IPv6. #416
Signed-off-by: Lars Düsing <[email protected]>
2021-05-24 13:33:38 +02:00
dev-sec CI 735c905f71 update changelog 2021-05-05 21:02:55 +00:00
schurzi eb28ebe298 Merge pull request #448 from dev-sec/limit_labels
limit changelog labels to role names
2021-05-05 23:01:12 +02:00
Martin Schurz 8dbeae7b39 limit changelog labels to role names
Signed-off-by: Martin Schurz <[email protected]>
2021-05-05 22:53:20 +02:00
dev-sec CI 0ce08455ef update changelog 2021-05-05 19:08:21 +00:00
schurzi 66b0fa28e5 Merge pull request #446 from rndmh3ro/fixing
add back labels to changelog
2021-05-05 21:06:41 +02:00
rndmh3ro 07a0943c5a Prettified Code! 2021-04-30 12:50:12 +00:00
alimliandHaldun ALIMLI 4f42e0d396 ssh_allow_tcp_forwarding remote option added (#447)
Signed-off-by: Haldun ALIMLI <[email protected]>

Co-authored-by: Haldun ALIMLI <[email protected]>
2021-04-30 14:49:42 +02:00
Sebastian Gumprich 45711874e6 test release workflow with labels
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-29 07:46:06 +02:00
dev-sec CI e9f23f0eac update changelog 2021-04-28 08:37:30 +00:00
Iain R. LearmonthandSebastian Gumprich 93c489d3b2 Adds dependency on ansible.posix and community.general (#415)
* galaxy.yml: Adds dependency on ansible.posix (Fixes: #414)

This is required by the OS hardening role, which uses the mount module.

* add community.general dependency

Co-authored-by: Sebastian Gumprich <[email protected]>
2021-04-28 10:35:46 +02:00
dev-sec CI 180acf9540 update changelog 2021-04-28 07:53:52 +00:00
Martin NeubertandSebastian Gumprich 0324273dce Check for MariaDB Version when selecting users without passwords (#444)
* added version check for MariaDB in Query

MariaDB Uses the authentication_string field since 10.4.0, added this in version check in query for users to delete

Signed-off-by: Martin Neubert <[email protected]>

* Update roles/mysql_hardening/tasks/mysql_secure_installation.yml

Co-authored-by: Sebastian Gumprich <[email protected]>

* Update roles/mysql_hardening/tasks/mysql_secure_installation.yml

Co-authored-by: Sebastian Gumprich <[email protected]>

Co-authored-by: Sebastian Gumprich <[email protected]>
2021-04-28 09:52:09 +02:00
dev-sec CI 22f1802d97 update galaxy.yml with new version 2021-04-27 19:27:03 +00:00
dev-sec CI f9945c41de update changelog 2021-04-27 19:18:34 +00:00
Martin Neubert 284943b699 USER and HOST should be quoted (#443)
USER and HOST should be quoted to avoid errors in drop user statement

Signed-off-by: Martin Neubert <[email protected]>
2021-04-27 21:16:50 +02:00
Paul Seidler b12ee4d23b ssh: Client HostKeyAlgorithms configuration variable (#442)
* ssh: Client HostKeyAlgorithms configuration variable

Introduce a new variable ssh_client_host_key_algorithms to be able to configure
it for the client like for the server.
This fixes #441

Signed-off-by: Paul Seidler <[email protected]>

* sshd: Adapt the ssh_host_key_algorithms description

Linking to the latest version may lead to a broken config so be a bit more
  dynamic

Signed-off-by: Paul Seidler <[email protected]>
2021-04-23 15:54:30 +02:00
dev-sec CI 0f30ebf753 update changelog 2021-04-09 06:17:17 +00:00
Sina Tak Tehrani 4313d6fbfb fixed a typo in comments (#439)
Signed-off-by: Sina Tak Tehrani <[email protected]>
2021-04-09 08:15:11 +02:00
dev-sec CI 45f15aa08b update galaxy.yml with new version 2021-04-01 20:15:31 +00:00
dev-sec CI 07c2931f1d update changelog 2021-04-01 20:07:17 +00:00
schurzi 6e24797d2f Merge pull request #423 from dev-sec/drop_users_wo_passwords
add new tasks to delete mysql users without passwords
2021-04-01 22:04:59 +02:00
Sebastian Gumprich 8c89d78f44 move jmespath installation into github workflow
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich d6a99c995e use fqcn for mysql tasks
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich 5ed100b7ea try to install jmespath on github host
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich c6febf3249 fix linting
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich 7d68c6036c use single ansible fact to delete user
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich d4a4faa16d fix syntax of mysql queries
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich e1f0efb220 move mysql install to prepare step to create a password-less user
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich 73cdd973d7 remove custom tests as we have inspec tests
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich 5e7a0a60f1 fix linting
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
Sebastian Gumprich c3b954a2ab add new tasks to delete users without passwords
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 21:16:04 +02:00
schurzi add303f2be Merge pull request #437 from BenjaminBoehm/bugfix/ssh-kex-sntrup-openssh8.5
Fix ssh kex [email protected] for openssh >= 8.5
2021-04-01 21:13:50 +02:00
dev-sec CI 03a0f26917 update changelog 2021-04-01 19:09:51 +00:00
schurzi fdadb78080 Merge pull request #438 from dev-sec/remove_depracted_secure-auth
remove secure-auth param if mysql >= 8.0.3
2021-04-01 21:07:04 +02:00
Sebastian Gumprich 2fb54bd224 remove secure-auth param if mysql => 8.0.3
Signed-off-by: Sebastian Gumprich <[email protected]>

install collection in molecule

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

remove deprecated ubuntu 16.04 from tests

Signed-off-by: Sebastian Gumprich <[email protected]>
2021-04-01 13:20:58 +02:00
Benjamin 29ee683069 Fix ssh kex [email protected] for openssh >= 8.5
fix #433

Signed-off-by: Benjamin <[email protected]>
Signed-off-by: Benjamin Boehm <[email protected]>
2021-04-01 02:08:24 +02:00
dev-sec CI d758fa5184 update changelog 2021-03-29 19:28:04 +00: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
Sebastian Gumprich 458dfa2b6a use cinc exec supermarket instead of github
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-29 16:16:03 +02:00
Sebastian Gumprich 812c6c5974 skip auditd restart in molecule tests
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-29 10:00:15 +02:00
Sebastian Gumprich ae68f73965 skip auditd restart in molecule tests
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-29 09:29:37 +02:00
dev-sec CI d1d12ca6d7 update changelog 2021-03-25 12:55:51 +00: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
dev-sec CI 2dac5e3289 update changelog 2021-03-24 13:34:39 +00:00
Farid Joubbi c90bbd2c23 Improved comments. (#436)
Signed-off-by: Farid Joubbi <[email protected]>
2021-03-24 14:31:58 +01:00
dev-sec CI aec1f5dcb7 update changelog 2021-03-24 06:57:54 +00:00
Farid Joubbi d1143a06b1 Not accepting source routing for IPv6. This was already done for IPv4. (#424)
Signed-off-by: Farid Joubbi <[email protected]>
2021-03-24 07:55:29 +01:00
dev-sec CI dfa89f7b47 update changelog 2021-03-23 21:04:30 +00:00
schurzi 0f424469be Merge pull request #432 from joubbi/authtok_type
os_auth_pam_pwquality_options: Changed type to authtok_type
2021-03-23 22:01:40 +01:00
Farid Joubbi 240d8acc0c Changed os_auth_pam_pwquality_options type to authtok_type.
Signed-off-by: Farid Joubbi <[email protected]>
2021-03-23 11:16:05 +01:00
dev-sec CI 5eae12005a update galaxy.yml with new version 2021-03-23 09:09:20 +00:00
dev-sec CI 84d7bb5f5f update changelog 2021-03-23 09:01:35 +00:00
schurzi a45eee2204 Merge pull request #431 from joubbi/pwhistory
Use pam_pwhistory.so instead of pam_unix.so for remembering old passwords
2021-03-23 09:59:11 +01:00
Martin Schurz d693a8e200 also use requisite for pwhistory
Signed-off-by: Martin Schurz <[email protected]>
2021-03-23 08:53:49 +01:00
Martin Schurz 0ac56e4c00 Merge branch 'master' into pwhistory
Signed-off-by: Martin Schurz <[email protected]>
2021-03-23 08:53:23 +01:00
dev-sec CI 05bc809ba3 update changelog 2021-03-23 07:42:42 +00:00
schurzi 5be13e878f Merge pull request #430 from joubbi/comment
Remove comments from PAM config file, but keep it in the template
2021-03-23 08:40:20 +01:00
Farid Joubbi 659e5ada6a Changed to pam_pwhistory.so instead of pam_unix.so for remembering old passwords.
Signed-off-by: Farid Joubbi <[email protected]>
2021-03-22 22:28:25 +01:00
Farid Joubbi 0010715039 Remove comment from output file, but keep it in the template.
Signed-off-by: Farid Joubbi <[email protected]>
2021-03-22 19:39:49 +01:00
dev-sec CI a23eb05001 update changelog 2021-03-22 11:52:11 +00:00
schurzi 69193fe249 Merge pull request #428 from dev-sec/harden_user_home_dires
Harden user home dirs
2021-03-22 12:49:48 +01:00
rndmh3ro 369c2986c6 Prettified Code! 2021-03-22 10:23:03 +00: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
dev-sec CI 36bc71fe51 update changelog 2021-03-21 12:20:51 +00:00
schurzi 876cdab430 Merge pull request #429 from dev-sec/proxy
add support for using a proxy to test with molecule
2021-03-21 13:18:03 +01:00
Sebastian Gumprich 6c805f6ca9 add support for using a proxy to test with molecule
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-19 15:52:19 +01:00
Sebastian Gumprich 8cb6732882 add support for using a proxy to test with molecule
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-19 15:45:06 +01:00
Sebastian Gumprich 390f7ad6cc fix linting
Signed-off-by: Sebastian Gumprich <[email protected]>
2021-03-19 14:46:42 +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
dev-sec CI 9614273653 update changelog 2021-03-16 14:52:14 +00:00
schurzi a64838272c Merge pull request #418 from joubbi/documentation2
Improve Documentation for sysctl defaults
2021-03-16 15:49:55 +01:00
dev-sec CI 2076990d5d update galaxy.yml with new version 2021-03-16 10:40:04 +00:00
dev-sec CI 3da5b759a2 update changelog 2021-03-16 10:28:41 +00:00
schurzi 8706246309 Merge pull request #421 from schurzi/imprel
Improve Release Action
2021-03-16 11:26:21 +01:00
Martin Schurz cd4925d411 checkout master between
Signed-off-by: Martin Schurz <[email protected]>
2021-03-16 11:07:21 +01:00
Martin Schurz d1b8e7d7a3 update paths
Signed-off-by: Martin Schurz <[email protected]>
2021-03-16 11:00:40 +01:00
Martin Schurz 19d5a17a99 remove second call to changelog generator
Signed-off-by: Martin Schurz <[email protected]>
2021-03-16 10:56:17 +01:00
dev-sec CI 5cc8b2f42a update changelog 2021-03-16 09:26:22 +00:00
schurzi 976f83e88b Merge pull request #420 from dev-sec/fqcn_docs
remove FQCN from roles in examples
2021-03-16 10:14:03 +01:00
dev-sec CI 6c870aae27 update changelog 2021-03-15 23:12:58 +00:00
schurzi 74c729404b Merge pull request #392 from dev-sec/tally
restructure PAM handling and update for currently supported Linux distributions
2021-03-16 00:10:36 +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
Farid Joubbi 97c55d6e55 Documented rationale for sysctl values set.
Signed-off-by: Farid Joubbi <[email protected]>
2021-03-15 14:01:19 +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
dev-sec CI eeedaeaffb update changelog 2021-03-11 16:46:51 +00:00
schurzi 0b945536e2 Merge pull request #405 from joubbi/crontab
Ensure permissions on cron files and directories are configured
2021-03-11 17:44:26 +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
dev-sec CI fed8bdabd7 update changelog 2021-02-25 07:00:24 +00:00
Sebastian Gumprich f9bbdb20fe add install instructions 2021-02-25 07:57:55 +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
Martin Schurz 10841ced62 case sensitive
Signed-off-by: Martin Schurz <[email protected]>
2021-02-22 18:29:55 +01:00
Martin Schurz 335df545fb correct version
Signed-off-by: Martin Schurz <[email protected]>
2021-02-22 18:15:33 +01:00
Martin Schurz 6d2c92d4ab correct locale
Signed-off-by: Martin Schurz <[email protected]>
2021-02-22 18:14:59 +01:00
Martin Schurz 3334000b97 set locale for test
Signed-off-by: Martin Schurz <[email protected]>
2021-02-22 17:45:46 +01:00
Martin Schurz 26d84b5f84 use custom /tmp dir
Signed-off-by: Martin Schurz <[email protected]>
2021-02-22 16:46:41 +01:00
Martin Schurz 9b6f313065 move pam tests up
Signed-off-by: Martin Schurz <[email protected]>
2021-02-22 15:54:03 +01:00
Martin Schurz 23071a183c add testcases for PAM
Signed-off-by: Martin Schurz <[email protected]>
2021-02-22 15:42:13 +01:00
dev-sec CI 66009496e2 update changelog 2021-02-22 09:24:50 +00:00
Sebastian Gumprich bbf992d9fc Create dependabot.yml 2021-02-22 10:22:38 +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
dev-sec CI 90e0ce7c6b update changelog 2021-02-17 10:37:06 +00:00
schurzi 8e4c22d8d9 remove FQCN from roles in examples (#404)
Ansible does not work with FQCN and collections sepcified for including
roles. It is currently expecting to only get the role name in this
context.

Verified with Ansible 2.10.5

Signed-off-by: Martin Schurz <[email protected]>
2021-02-17 11:34:37 +01:00
Martin Schurz dba53718cf sssd is disabled on Amazonlinus
Signed-off-by: Martin Schurz <[email protected]>
2021-02-16 20:44:28 +01:00
Martin Schurz 4a5fa70507 default faillock to yes
Signed-off-by: Martin Schurz <[email protected]>
2021-02-16 19:31:51 +01:00
Martin Schurz 75683161a5 remove FQCN from roles in examples
Ansible does not work with FQCN and collections sepcified for including
roles. It is currently expecting to only get the role name in this
context.

Verified with Ansible 2.10.5

Signed-off-by: Martin Schurz <[email protected]>
2021-02-15 11:26:59 +01:00
dev-sec CI 2a4b98ab4a update changelog 2021-02-15 10:26:19 +00:00
schurzi 5d55d29fe2 Merge pull request #403 from wzzrd/gssapi_client_support
Extend GSSAPI configuration support to ssh_config
2021-02-15 11:23:57 +01:00
Martin Schurz 64713ce75d add default for new variable
Signed-off-by: Martin Schurz <[email protected]>
2021-02-15 11:17:01 +01:00
Martin Schurz ec36bf5b9c document parameter
Signed-off-by: Martin Schurz <[email protected]>
2021-02-15 00:22:03 +01:00
Martin Schurz 08aad6e80f add documentation
Signed-off-by: Martin Schurz <[email protected]>
2021-02-15 00:13:14 +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
Maxim Burgerhout 54c8e6aedb Split off ssh_gssapi_delegation into own variable
Signed-off-by: Maxim Burgerhout <[email protected]>
2021-02-14 22:07:33 +01:00
Martin Schurz b9e33091e2 fix problems with auth
Signed-off-by: Martin Schurz <[email protected]>
2021-02-14 21:30:35 +01:00
Martin Schurz 7f1765c608 consolidate auth for rhel
Signed-off-by: Martin Schurz <[email protected]>
2021-02-14 17:30:02 +01:00
Martin Schurz 30f0839513 add support for rhel8 and sssd
Signed-off-by: Martin Schurz <[email protected]>
2021-02-14 12:44:20 +01:00
Martin Schurz 532917d956 remove rhel6 support from pam
Signed-off-by: Martin Schurz <[email protected]>
2021-02-14 12:14:54 +01:00
Martin Schurz 04654d0490 correct typo
Signed-off-by: Martin Schurz <[email protected]>
2021-02-14 11:19:12 +01:00
Martin Schurz aa166f43fc split debian and rhel pam config
Signed-off-by: Martin Schurz <[email protected]>
2021-02-14 02:07:25 +01:00
Martin Schurz 19482c319c force create symlink
Signed-off-by: Martin Schurz <[email protected]>
2021-02-13 19:38:57 +01:00
Martin Schurz fc7fb4fc8a make compatible to authconfig
Signed-off-by: Martin Schurz <[email protected]>
2021-02-13 18:09:48 +01:00
Maxim Burgerhout 8baab7516e Extend GSSAPI configuration support to ssh_config
Previously, the ssh_gssapi_support variable only toggled the GSSAPI
settings in sshd_config.

Through this change, setting ssh_gssapi_support to true also enables
support in ssh_config.

It enables both authentication and credential delegation.

Signed-off-by: Maxim Burgerhout <[email protected]>
2021-02-12 13:10:35 +01:00
Martin Schurz 7282187a90 Merge branch 'master' into tally
Signed-off-by: Martin Schurz <[email protected]>
2021-02-10 21:44:55 +01:00
Martin Schurz 157f4fca70 add tasks for faillock on debian
Signed-off-by: Martin Schurz <[email protected]>
2021-02-10 21:43:30 +01:00
dev-sec CI 70cd7bbf1e update changelog 2021-02-10 15:07:15 +00:00
Sebastian Gumprich 6be31fbc3b do not install mysql python package on target host (#401)
this package has to be installed on the host that executes the task

Signed-off-by: Sebastian Gumprich <[email protected]>
2021-02-10 15:57:51 +01:00
Sebastian Gumprich 756839f8f0 make wrong password fail task (#400)
* make wrong password fail task

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

* add name to fail task

Signed-off-by: Sebastian Gumprich <[email protected]>
2021-02-10 15:55:08 +01:00
Sebastian Gumprich c55c1f21ed add restart handler variable for mysql role (#399)
* add restart handler variable for mysql role

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

* add prettierignore file to ignore CHANGELOG

Signed-off-by: Sebastian Gumprich <[email protected]>
2021-02-10 15:54:57 +01:00
dev-sec CI 8d3e452ce3 update galaxy.yml with new version 2021-02-10 13:02:01 +00:00
dev-sec CI d8ea484f92 update changelog 2021-02-10 12:51:07 +00:00
schurzi a98876b350 update ansible-lint to version 5 (#397)
* add ansible to requirements

Signed-off-by: Martin Schurz <[email protected]>

* trigger run

Signed-off-by: Martin Schurz <[email protected]>

* update noqa for ansible-lint 5

Signed-off-by: Martin Schurz <[email protected]>
2021-02-10 13:47:01 +01:00
dev-sec CI 6d369739e4 update changelog 2021-02-10 11:59:07 +00:00
schurzi 2b39258d47 Merge pull request #395 from Normo/update-galaxy-version
fix galaxy action to update local galaxy.yml
2021-02-10 12:56:53 +01:00
Martin Schurz 75a8aca905 fix galaxy action to update local galaxy.yml
Signed-off-by: Martin Schurz <[email protected]>
2021-02-10 12:53:02 +01:00
Martin Schurz 94b9bfc3cd add files for faillock
Signed-off-by: Martin Schurz <[email protected]>
2021-02-10 12:49:12 +01:00
Norman Ziegner b26b4e090c Bump collection version from 7.0.0 to 7.1.1
Signed-off-by: Norman Ziegner <[email protected]>
2021-02-10 10:11:15 +01:00
Norman Ziegner f035053381 Only set default for ssh host key files when hardening the server (#393)
Signed-off-by: Norman Ziegner <[email protected]>
2021-02-09 10:01:41 +01:00
rndmh3ro 0cfdb1954e Prettified Code! 2021-02-09 08:45:31 +00:00
Norman Ziegner 614662b99d Add variable to specify host rsa key size (#394)
Signed-off-by: Norman Ziegner <[email protected]>
2021-02-09 09:44:55 +01:00
Martin Schurz 3ad4fbab0e add guard for tally debian unstable
Signed-off-by: Martin Schurz <[email protected]>
2021-02-08 11:18:50 +01:00
Martin Schurz ebbf6855e8 add rhel faillock config
Signed-off-by: Martin Schurz <[email protected]>
2021-02-08 10:51:16 +01:00
Martin Schurz b210df1233 re-add debian tally config
Signed-off-by: Martin Schurz <[email protected]>
2021-02-08 10:51:03 +01:00
Martin Schurz a55a4d2024 remove pam_tally2
Signed-off-by: Martin Schurz <[email protected]>
2021-02-08 08:09:43 +01:00
dev-sec CI a17f4a6f45 update changelog 2021-02-05 19:42:47 +00:00
schurzi 30f03bc124 Merge pull request #390 from dev-sec/fix_docs
fix minimum required ansible version in docs
2021-02-05 20:40:42 +01:00
schurzi 40bc23d7da Prettified Code! 2021-02-05 19:39:43 +00:00
Martin Schurz c6114278a1 fix minimum required ansible version in docs
Signed-off-by: Martin Schurz <[email protected]>
2021-02-05 20:39:04 +01:00
dev-sec CI e833d1dce4 update changelog 2021-02-05 18:46:35 +00:00
schurzi 4b0819349d use fqcn for community.crypto.openssh_keypair module (#389)
tihis fixes a problem with Ansible 2.9 where the default openssh_keypair
is not supporting every option we need

Signed-off-by: Martin Schurz <[email protected]>
2021-02-05 19:44:23 +01:00
dev-sec CI 2f9cd82615 update changelog 2021-02-02 10:02:38 +00:00
schurzi 9db01d5fbe Merge pull request #386 from dev-sec/changelog_gen_v1
use version tag for changelog action
2021-02-02 11:00:11 +01:00
Martin Schurz e4b0801d22 use version tag for changelog action
Referencing actions by the short SHA will be deprecated soon

Signed-off-by: Martin Schurz <[email protected]>
2021-02-02 10:58:52 +01:00
dev-sec CI 67c40dc021 update changelog 2021-01-22 13:57:21 +00:00
dev-sec CI 9c17f0f7c3 update changelog 2021-01-22 12:59:34 +00:00
schurzi 8a1064ded4 make release workflow manually runnable (#384)
Signed-off-by: Martin Schurz <[email protected]>
2021-01-22 13:57:20 +01:00
dev-sec CI 29b72ea277 update changelog 2021-01-22 11:37:26 +00:00
schurzi 6e84f53a75 run labeler workflow with higher privileges (#383)
Signed-off-by: Martin Schurz <[email protected]>
2021-01-22 12:34:59 +01:00
schurzi 7a560b3d38 remove issue labels from changelog (#382)
Signed-off-by: Martin Schurz <[email protected]>
2021-01-22 12:34:51 +01:00
schurzi 66feb7c2ad Merge pull request #380 from mpraeger/feature/host_certificates
add Support for OpenSSH HostCertificate config option
2021-01-22 10:43:32 +01:00
Maximilian Praeger 4399d3f885 removed: unneccessary conditional
Signed-off-by: Maximilian Praeger <[email protected]>
2021-01-22 07:24:54 +01:00
Maximilian Praeger 6b55b9619c added: comment for HostCertificate
Signed-off-by: Maximilian Praeger <[email protected]>
2021-01-22 07:24:54 +01:00
Maximilian Praeger 8f7bae533c fixed: add empty line after HostCertificate loop
Signed-off-by: Maximilian Praeger <[email protected]>
2021-01-22 07:24:54 +01:00
Maximilian Praeger 9853c7ea45 added: defaults for ssh_host_certificates
Signed-off-by: Maximilian Praeger <[email protected]>
2021-01-22 07:24:54 +01:00
Maximilian Praeger 6e9247bde3 added: support for HostCertificate in sshd conf file
Signed-off-by: Maximilian Praeger <[email protected]>
2021-01-22 07:24:53 +01:00
Sina Tak Tehrani ef31838fa2 Regenerate RSA key with size 4096 bits (#376)
* regenerate RSA key with size 4096 bits

Signed-off-by: Sina Tak Tehrani <[email protected]>

* fixed lint problem

Signed-off-by: Sina Tak Tehrani <[email protected]>

* fixed E301 lint error

Signed-off-by: Sina Tak Tehrani <[email protected]>

* added host keys related vars

Signed-off-by: Sina Tak Tehrani <[email protected]>

* used openssh_keypair module

Signed-off-by: Sina Tak Tehrani <[email protected]>

* changed RSA private key mode to 0640

Signed-off-by: Sina Tak Tehrani <[email protected]>

* specified condition to prevent wrong file mode on debian-based OS

Signed-off-by: Sina Tak Tehrani <[email protected]>
2021-01-21 13:38:48 +01:00
schurzi f010b9a17e Merge pull request #378 from joubbi/iwashere
Added comment on top of templates about which role manages the file
2021-01-20 11:42:38 +01:00
Martin Schurz 0600cdae75 add "role" to comment
Signed-off-by: Martin Schurz <[email protected]>
2021-01-20 11:23:40 +01:00
Farid Joubbi 254b62d980 Added comment on top of template about which role modified the resulting file. https://github.com/dev-sec/ansible-collection-hardening/issues/345
Signed-off-by: Farid Joubbi <[email protected]>
2021-01-19 14:05:33 +01:00
Farid Joubbi d01abb44c0 Syncookie (#372)
* Enabled SYN cookie sysctl.

Signed-off-by: Farid Joubbi <[email protected]>

* Removed SYN cookies from here since it's a default now.

Signed-off-by: Farid Joubbi <[email protected]>
2021-01-15 09:56:29 +01:00
schurzi 16a41412bb check for correct cpu vendor in initramfs-tools (#374)
Signed-off-by: Martin Schurz <[email protected]>
2021-01-12 06:31:13 +01:00
schurzi d83ad9e6a9 Merge pull request #368 from dev-sec/max_startups
reduce maximum unauthenticated ssh sessions
2021-01-11 20:49:29 +01:00
Farid Joubbi 5675589e01 Sorted sysctl values and lists in READMEs alphabetically (No functional changes). (#371)
* Add s's for consistency.

Signed-off-by: Farid Joubbi <[email protected]>

* Sort lists alphabetically.

Signed-off-by: Farid Joubbi <[email protected]>

* Sorted sysctl_config alphabetically.

Signed-off-by: Farid Joubbi <[email protected]>

* Sort removed protocols.

Signed-off-by: Farid Joubbi <[email protected]>

* Added dots in variable descriptions for the sake of consistency.

Signed-off-by: Farid Joubbi <[email protected]>

* Added dots in variable descriptions for the sake of consistency.

Signed-off-by: Farid Joubbi <[email protected]>
2021-01-08 20:45:50 +01:00
tgueldner-mms e8e552f3ae make auditd 'max_log_file' configurable (#370)
* make auditd 'max_log_file' configurable

Signed-off-by: Thomas Gueldner <[email protected]>

* fix documentation for os_auditd_max_log_file

Signed-off-by: Thomas Gueldner <[email protected]>
2021-01-08 13:23:58 +01:00
schurzi b4ca950122 set hidepid=0 on RHEL/CentOS 7 (#369)
Signed-off-by: Martin Schurz <[email protected]>
2021-01-03 12:53:08 +01:00
Martin Schurz 168af7fb6f reduce maximum unauthenticated ssh sessions
Signed-off-by: Martin Schurz <[email protected]>
2021-01-03 00:21:26 +01:00
Sebastian Gumprich faffddbf31 add a runtime.yml to declare minimum ansible version (#363)
* add a runtime.yml to declare minimum ansible version

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

* add minimum ansible version to reamde

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

* Prettified Code!
2020-12-26 21:27:19 +01:00
schurziandSebastian Gumprich a75e2c028b change inclusion of os specific defaults (#353)
* change inclusion of os specific defaults

we now include the os specific options into a separate variable and
merge this with the default ansible namespace, when the corresponding
keys do not already exist (eg. are defined by default oder by user)

Signed-off-by: Martin Schurz <[email protected]>

* simplify check for os specific variables

Signed-off-by: Martin Schurz <[email protected]>

* add test for variable override

Signed-off-by: Martin Schurz <[email protected]>

* move tests to verify stage

Signed-off-by: Martin Schurz <[email protected]>

* correct grep

Signed-off-by: Martin Schurz <[email protected]>

* linting

Signed-off-by: Martin Schurz <[email protected]>

* fix typo

Signed-off-by: Martin Schurz <[email protected]>

* Revert "Merge pull request #351 from sprat/fix-umask"

This reverts commit 9e8e0bc8fb, reversing
changes made to 98c7553016.

Signed-off-by: Martin Schurz <[email protected]>

* move immutable ssh vars to internal vars

Signed-off-by: Martin Schurz <[email protected]>

* move vars to OS files

Signed-off-by: Martin Schurz <[email protected]>

* change default handling for all roles

Signed-off-by: Martin Schurz <[email protected]>

* fix issues

Signed-off-by: Martin Schurz <[email protected]>

* add documentation

Signed-off-by: Martin Schurz <[email protected]>

* Update main.yml

Co-authored-by: Sebastian Gumprich <[email protected]>
2020-12-20 20:46:57 +01:00
Farid Joubbi 83e29b01f5 Removed Protocol statement in later versions of sshd, since the code … (#342)
* Removed Protocol statement in later versions of sshd, since the code for SSH-1 has been removed in sshd.

Signed-off-by: Farid Joubbi <[email protected]>

* Prettified the generated ssh_config. No functional changes, removed spaces and orphan comments.

Signed-off-by: Farid Joubbi <[email protected]>

* Removed Protocol statement in later versions of sshd, since the code for SSH-1 has been removed in sshd.

Signed-off-by: Farid Joubbi <[email protected]>

* Removed blank lines and prettified ssh_config.

Signed-off-by: Farid Joubbi <[email protected]>

* Added note about setting sshd_authenticationmethods if ssh_server_password_login.

Signed-off-by: Farid Joubbi <[email protected]>

* Backticked true.

Signed-off-by: Farid Joubbi <[email protected]>
2020-12-16 19:29:33 +01:00
Sylvain Prat 43ec139d24 Fix #348: make ssh configuration files paths configurable (#350)
Signed-off-by: Sylvain Prat <[email protected]>
2020-12-16 19:24:44 +01:00
schurzi 1ab33482db Prettified Code! 2020-12-16 09:39:43 +00:00
schurzi 9e8e0bc8fb Merge pull request #351 from sprat/fix-umask
make the os_env_umask variable usable
2020-12-16 10:39:11 +01:00
Sylvain Prat ea471b38b7 Fix #344: make the os_env_umask variable usable again
Signed-off-by: Sylvain Prat <[email protected]>
2020-12-15 21:31:51 +01:00
Sebastian Gumprich 98c7553016 remove trailing blank lines
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-12-15 20:09:29 +01:00
Sebastian Gumprich 5341f2a891 Update release.yml 2020-12-15 11:35:54 +01:00
dev-sec CI 53949911a9 update changelog 2020-12-15 10:00:41 +00:00
Sebastian Gumprich 753e517678 fix second changelog generation task, too (#349)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-12-15 10:10:10 +01:00
dev-sec CI c743c93530 update changelog 2020-12-15 09:00:40 +00:00
Sebastian Gumprich 253c5ec3eb fix changelog generation (#341)
* fix changelog generation

the changelog generation fails because we merged other repos into
this one and these commits do not share a common ancestor.
see this issue: https://github.com/github-changelog-generator/github-changelog-generator/issues/665

to workaround this, we change the changelog generation so all tags older than 7.0.0 will be ignored
(--since-tag does not work here because it still works on all tags). This however will remove
 older releases from the changelog so we move these old releases into a separate file.
this is okay for me since these old releases are for ansible-os-hardening  and not the collection.
the new changelog file will contain all changes since 7.0.0.

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

* fix regex in action

Signed-off-by: Sebastian Gumprich <[email protected]>
2020-12-15 09:58:19 +01:00
Sebastian Gumprich 837f99bdf8 update release action 2020-12-13 20:19:03 +01:00
Farid Joubbi 91424ac209 Improvements of comments in opensshd.conf.j2 #338 (#339)
* Fixed some comments that had issues. See #338

* Cut some long comments into two rows for easier reading.

Signed-off-by: joubbi <[email protected]>
2020-12-12 20:35:38 +01:00
szEvEz 13b09a0f23 Improve README for ssh_hardening (#335)
Signed-off-by: szEvEz <[email protected]>
2020-11-24 12:29:46 +01:00
Sebastian Gumprich cade17ec30 fix typo 2020-11-11 21:54:31 +01:00
rndmh3ro 1cf8a6380d Prettified Code! 2020-11-11 20:34:34 +00:00
Sebastian Gumprich 1d2af73ced release collection 7.0.0
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-11-11 21:33:56 +01:00
Sebastian Gumprich 2f19ad1ce2 fix typo in galaxy (#332)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-11-11 21:26:46 +01:00
Sebastian Gumprich 90151c3047 update galaxy version 2020-11-11 21:10:21 +01:00
Sebastian Gumprich b607f61514 Merge branch 'collection' 2020-11-11 21:09:01 +01:00
Sebastian Gumprich f2804c7c19 Merge branch 'master' into collection 2020-11-11 21:08:54 +01:00
Sebastian Gumprich 6b03886b4b update readme to point to old role
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-11-11 20:44:35 +01:00
Sebastian Gumprich 63df6bd3db remove accidental tar-gz push
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-11-11 20:40:02 +01:00
Sebastian Gumprich d857830979 minor readme fixes
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-11-09 20:49:07 +01:00
rndmh3ro c94d973527 Prettified Code! 2020-11-08 10:20:25 +00:00
Sebastian Gumprich c8ada5c13c Merge branch 'migrate_os' into collection 2020-11-08 11:18:38 +01:00
Sebastian Gumprich dd3959276b merge os-hardening role into collection 2020-11-07 22:09:28 +01:00
Sebastian Gumprich 6fc1320298 update for collection
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-11-07 22:08:23 +01:00
Sebastian Gumprich 598f7183f8 remove os submodule 2020-11-07 21:49:25 +01:00
Sebastian Gumprich 66e88a34d1 Merge branch 'migrate_mysql' into collection 2020-11-07 21:48:11 +01:00
Sebastian Gumprich a10e4d7c1a merge mysql-hardening role into collection 2020-11-07 21:48:10 +01:00
Sebastian Gumprich 51a7fed83d remove mysql submodule 2020-11-07 21:48:06 +01:00
Sebastian Gumprich cc48e4761a Merge branch 'migrate_nginx' into collection 2020-11-07 21:47:46 +01:00
Sebastian Gumprich e406349064 merge nginx-hardening role into collection 2020-11-07 21:47:45 +01:00
Sebastian Gumprich 5aa3701de9 remove nginx submodule 2020-11-07 21:47:43 +01:00
Sebastian Gumprich d49e05f8e8 Merge branch 'migrate_ssh' into collection 2020-11-07 21:46:48 +01:00
Sebastian Gumprich a46642ee92 merge ssh-hardening role into collection 2020-11-07 21:46:45 +01:00
Sebastian Gumprich 4e322edc62 remove ssh submodule 2020-11-07 21:46:32 +01:00
Sebastian Gumprich 946760c669 update for collection - rm .github-dir
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-11-07 21:43:07 +01:00
Sebastian Gumprich ac3c12d264 move to collections 2020-11-07 21:19:43 +01:00
Sebastian Gumprich 05da4330e2 fix badge
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-28 21:08:59 +01:00
Sebastian Gumprich 1457530d4a remove note about legacy branch
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-28 21:04:51 +01:00
Sebastian Gumprich f2de986191 remove note about legacy branch
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-28 21:04:35 +01:00
Sebastian Gumprich 0a8e2ccea5 remove note about legacy branch
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-28 21:04:19 +01:00
Sebastian Gumprich 5e6da728a4 WIP - update for collection
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-28 21:03:24 +01:00
Sebastian Gumprich 65273b281c WIP - update for collection
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-28 20:59:26 +01:00
Sebastian Gumprich e639d1b365 WIP - update for collection
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-28 20:56:23 +01:00
dev-sec CI 90d4870f81 update changelog 2020-10-28 10:59:05 +00:00
Daniel Kubat f5f4ae51ed prettier markdown files action added (#322)
Signed-off-by: danielkubat <[email protected]>
2020-10-28 11:56:07 +01:00
dev-sec CI 421fb6da2c update changelog 2020-10-18 12:54:19 +00:00
Sebastian Gumprich 81f1d3df6c Merge pull request #58 from szEvEz/master
Run ansible-lint via github action
2020-10-18 14:52:28 +02:00
szEvEz 0bb2498389 Add ansible-lint badge
Signed-off-by: szEvEz <[email protected]>
2020-10-17 15:49:16 +02:00
szEvEz bd7a5a6d41 add task name and set directory permissions
Signed-off-by: szEvEz <[email protected]>
2020-10-17 15:29:40 +02:00
szEvEz 7f512b3834 Run Ansible-lint via github action
Signed-off-by: szEvEz <[email protected]>
2020-10-17 15:29:40 +02:00
dev-sec CI f2ac796ca1 update changelog 2020-10-17 12:07:26 +00:00
Sebastian Gumprich 35695d979e Merge pull request #57 from szEvEz/master
Fix kitchen and travisci for major distros
2020-10-17 14:05:34 +02:00
szEvEz 8d87d120a1 Remove duplicate vars
Signed-off-by: szEvEz <[email protected]>
2020-10-17 13:53:56 +02:00
szEvEz 99d1d07a96 Fix local kitchen runs and travis-ci, replace geerlingguy-mysql with forked dev-sec-mysql
Signed-off-by: szEvEz <[email protected]>
2020-10-17 13:53:42 +02:00
dev-sec CI 9759c291db update changelog 2020-10-15 06:30:33 +00:00
schurzi 257504f156 add SuSE support (#328)
Signed-off-by: Martin Schurz <[email protected]>
2020-10-15 08:27:23 +02:00
dev-sec CI f0ac6df8df update changelog 2020-10-13 03:25:02 +00:00
Sebastian Gumprich daa49d0f47 Merge pull request #55 from dev-sec/fix_vars
fix missing variables
2020-10-13 05:23:20 +02:00
dev-sec CI 175e38a016 update changelog 2020-10-11 15:54:51 +00:00
Sebastian Gumprich 3cf833f033 Merge pull request #56 from szEvEz/master
Use mysql_query module instead of temporary files
2020-10-11 17:53:13 +02:00
szEvEz 1d20f0b007 Use mysql_query module instead of temporary files, update Gems, fix test playbook, update README
WIP

Make kitchen work for os familiy redhat

Signed-off-by: szEvEz <[email protected]>
2020-10-11 16:07:00 +02:00
dev-sec CI b216607cc3 update changelog 2020-10-09 19:57:41 +00:00
Dan Michael O. Heggø bb96fd17ec Fix PasswordAuthentication for sftp (#327)
Signed-off-by: Dan Michael O. Heggø <[email protected]>
2020-10-09 21:54:43 +02:00
Sebastian Gumprich 9c32eb38d9 fix missing variables
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-09 21:22:34 +02:00
dev-sec CI 87e82cbc60 update changelog 2020-10-05 08:52:55 +00:00
Sebastian Gumprich be67e73a7e this brings the task in line with the baseline (#311)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-05 10:50:07 +02:00
dev-sec CI b6e3b59094 update changelog 2020-10-03 06:25:29 +00:00
Sebastian Gumprich e54061bcd5 Merge pull request #53 from dev-sec/update_docs
update readme to new layout for vars
2020-10-03 08:23:59 +02:00
dev-sec CI aacef86b68 update changelog 2020-10-03 06:20:56 +00:00
Sebastian Gumprich 1e115d9eeb update readme to new layout for vars (#33)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-03 08:18:22 +02:00
Sebastian Gumprich e6f5d0bb69 update readme to new layout for vars (#326)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-03 08:17:48 +02:00
Sebastian Gumprich 7e27948433 update readme to new layout for vars
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-10-02 21:08:56 +02:00
schurziandSebastian Gumprich c954b8af8f Improve Documentation (#315)
* improve formatting

Signed-off-by: Martin Schurz <[email protected]>

* add limitation for vm.mmap_rnd_bits to documentation

Signed-off-by: Martin Schurz <[email protected]>

* Apply suggestions from code review

Co-authored-by: Sebastian Gumprich <[email protected]>
Signed-off-by: Martin Schurz <[email protected]>

Co-authored-by: Sebastian Gumprich <[email protected]>
2020-10-02 20:48:18 +02:00
dev-sec CI ac097014df update changelog 2020-10-02 18:46:29 +00:00
schurzi 9394688158 use touch for 10.hardcore.conf to avoid problems with dry-run (#314)
Signed-off-by: Martin Schurz <[email protected]>
2020-10-02 20:43:35 +02:00
dev-sec CI f3edc579f1 update changelog 2020-09-21 05:36:12 +00:00
Sebastian Gumprich 2f9febef4e Merge pull request #51 from dev-sec/modesagain
add mode to copy task
2020-09-21 07:34:27 +02:00
Sebastian Gumprich f2a8172593 add mode to copy task
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-09-20 22:00:30 +02:00
dev-sec CI 05d9551dfa update changelog 2020-09-20 12:30:06 +00:00
Sebastian Gumprich ab0e5783b9 use touch with no date changes (#310)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-09-20 14:27:09 +02:00
dev-sec CI 6eb48877a5 update changelog 2020-09-19 13:06:06 +00:00
Sebastian Gumprich bfc80e8cfd Merge pull request #50 from dev-sec/modes
add modes to template and file tasks
2020-09-19 15:04:15 +02:00
Sebastian Gumprich 17f214074f add modes to template and file tasks
also use sane defaults for these modes: no permissions for other

Signed-off-by: Sebastian Gumprich <[email protected]>
2020-09-19 14:46:19 +02:00
dev-sec CI 30c282ef5d update changelog 2020-09-19 12:39:44 +00:00
Sebastian Gumprich 5c91da696a do not touch sysctl file to avoid idempotency problems (#309) 2020-09-19 14:36:57 +02:00
schurzi e266decde8 use ansible dhparam module (#32)
* use ansible dhparam module
2020-08-28 12:35:52 +02:00
schurzi 57f7a15b51 imove chmod to end because of generated files (#31)
Signed-off-by: Martin Schurz <[email protected]>
2020-08-24 11:22:33 +02:00
dev-sec CI 29a43568e6 update changelog 2020-08-24 08:46:44 +00:00
schurzi 3028b5ddc7 fix linting issues (#30)
* fix linting issues

Signed-off-by: Martin Schurz <[email protected]>

* set file permissions

Signed-off-by: Martin Schurz <[email protected]>
2020-08-24 10:45:13 +02:00
dev-sec CI 25623b0d0b update changelog 2020-08-23 16:43:49 +00:00
schurzi c69e7efb11 Merge pull request #49 from dev-sec/collection
Fix linting errors and simplivy vars-handling
2020-08-23 18:42:09 +02:00
Sebastian Gumprich 3b059d4c7c simplify vars-handling
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-08-23 13:56:44 +02:00
Sebastian Gumprich 0757a3d1c3 fix linting errors
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-08-23 13:21:46 +02:00
dev-sec CI 30d5641e9b update changelog 2020-08-22 16:18:01 +00:00
schurzi a82e1a7a9f fix litner errors (#322)
* fix litner errors

Signed-off-by: Martin Schurz <[email protected]>

* make linter more happy

Signed-off-by: Martin Schurz <[email protected]>
2020-08-22 18:14:54 +02:00
dev-sec CI 6b465f9cbb update changelog 2020-08-22 13:23:59 +00:00
schurzi b37c2ddb69 Merge pull request #303 from dev-sec/arch_support
Arch support
2020-08-22 15:21:18 +02:00
Sebastian Gumprich de5a7ce506 add archlinux support
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-08-22 14:08:08 +02:00
Andre Lehmann 77434b8a37 Make compatible with ArchLinux
Signed-off-by: Andre Lehmann <[email protected]>
2020-08-22 13:39:44 +02:00
dev-sec CI a806a25af5 update changelog 2020-08-22 06:56:30 +00:00
schurzi 4ddbbb2a61 fix linting for molecule (#301)
Signed-off-by: Martin Schurz <[email protected]>
2020-08-22 08:53:44 +02:00
dev-sec CI 17570fda66 update changelog 2020-08-18 22:08:28 +00:00
schurzi 989f7b0e1e Merge pull request #300 from danielkubat/master
define file permissions explicitly
2020-08-19 00:05:51 +02:00
danielkubat fd10d8e8d2 single quotes added to follow role formatting
Signed-off-by: danielkubat <[email protected]>
2020-08-18 23:50:46 +02:00
danielkubat 34abe1ab03 mode defined in octal form
Signed-off-by: danielkubat <[email protected]>
2020-08-18 22:50:10 +02:00
danielkubat 2a75fc11d3 permissions explicitly defined
Signed-off-by: danielkubat <[email protected]>
2020-08-18 22:38:08 +02:00
dev-sec CI 6f0181b2fc update changelog 2020-08-17 10:17:48 +00:00
Daniel Kubat 7077187a67 replace module parameter fixed (#297)
Signed-off-by: danielkubat <[email protected]>
2020-08-17 12:15:04 +02:00
dev-sec CI e698433939 update changelog 2020-08-16 18:19:59 +00:00
dev-sec CI 37ab009093 update changelog 2020-08-16 18:19:43 +00:00
schurzi 56f6cd0337 Merge pull request #296 from dev-sec/fedora
fix fedora build
2020-08-16 20:17:15 +02:00
schurzi aaece07fe0 Merge pull request #321 from dev-sec/fedora
use systemd in fedora
2020-08-16 20:16:53 +02:00
dev-sec CI 337c7dbbed update changelog 2020-08-16 08:06:54 +00:00
Daniel KubatandSebastian Gumprich 2c4505addd use find module instead of shell (#294)
* use find module to find yum repos, regexp fixes

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

* use loop instead of with_*

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

* Update tasks/yum.yml

Co-authored-by: Sebastian Gumprich <[email protected]>
2020-08-16 10:04:26 +02:00
Sebastian Gumprich 88fecc4f2e try to fix fedora build
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-08-16 09:53:11 +02:00
Sebastian Gumprich 0b38b85a0a install systemd in fedora
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-08-16 09:52:59 +02:00
dev-sec CI c777133050 update changelog 2020-08-13 09:48:20 +00:00
Alex Domoradov 29158e4285 Optimize and unify when clause (#295)
Signed-off-by: Alex Domoradov <[email protected]>
2020-08-13 11:45:44 +02:00
dev-sec CI 5cad140f7b update changelog 2020-08-09 15:04:56 +00:00
Sebastian Gumprich fa2cf790f8 Merge pull request #320 from dev-sec/pam
add separate option for controlling motd via pam
2020-08-09 17:02:02 +02:00
Martin Schurz 5cf53b215f add separate option for controlling motd via pam
makes it possible to set different values for motd via sshd and pam.
Also create a backup file of pam configuration, to allow user to restore
the previous settings.

Signed-off-by: Martin Schurz <[email protected]>
2020-08-08 18:14:38 +02:00
dev-sec CI bbe5ad4707 update changelog 2020-08-07 18:06:25 +00:00
schurzi b3d7acee44 Merge pull request #48 from dev-sec/kitchen_travis
update testing
2020-08-07 20:04:50 +02:00
Sebastian Gumprich 6b42f12434 update testing
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-08-07 19:30:58 +02:00
dev-sec CI eb777fbe2f update changelog 2020-08-07 07:02:27 +00:00
schurzi eaeca04d96 do not blacklist used filesystems (#289)
* add additional check for efi

some systems seem to require vfat because of efi, despite not exposing a
/sys/firmware/efi directory.

Signed-off-by: Martin Schurz <[email protected]>

* make linter happy

Signed-off-by: Martin Schurz <[email protected]>

* rework check to check for all used filesystems

so we don't break existing mounts with our configuration

Signed-off-by: Martin Schurz <[email protected]>

* do not check this on el6

Signed-off-by: Martin Schurz <[email protected]>

* add comment to clarify

Signed-off-by: Martin Schurz <[email protected]>
2020-08-07 08:59:46 +02:00
dev-sec CI 83a6d88c46 update changelog 2020-08-03 19:31:28 +00:00
Sebastian Gumprich 04d19fd195 fix typo 2020-08-03 21:28:23 +02:00
dev-sec CI fe7e37e6e9 update changelog 2020-08-03 13:58:20 +00:00
schurzi 387fc472bd improve testing (#287)
* fix problem with package_facts on SuSE

SuSE Linux does not work with ansibel module packet_facts, so we need to
exclude this task there.

Signed-off-by: Martin Schurz <[email protected]>

* fix local docker tests for all distributions

Signed-off-by: Martin Schurz <[email protected]>

* fix local vagrant tests for all distributions

Signed-off-by: Martin Schurz <[email protected]>

* simplify travis tests

Signed-off-by: Martin Schurz <[email protected]>

* fix opensuse in travis

Signed-off-by: Martin Schurz <[email protected]>

* add fixes for suse

Signed-off-by: Martin Schurz <[email protected]>

* add special case for suse docker

Signed-off-by: Martin Schurz <[email protected]>
2020-08-03 15:55:27 +02:00
dev-sec CI 20bf4eaa99 update changelog 2020-07-28 08:29:59 +00:00
Sebastian Gumprich f1a65f5f44 Merge pull request #318 from dev-sec/fix_kitchen
fix local kitchen tests
2020-07-28 09:24:22 +02:00
Martin Schurz 04f731a08c fix local kitchen tests
somehow a "real" linux needs different options than WSL. This is now
also working on debian 10

Signed-off-by: Martin Schurz <[email protected]>
2020-07-28 09:12:43 +02:00
schurzi 9b14f64f67 Merge pull request #317 from aqw/umask
fix sftp_umask; store as literal not octal
2020-07-28 08:59:12 +02:00
dev-sec CI b7791833a7 update changelog 2020-07-28 06:33:18 +00:00
Sebastian Gumprich f50f22ca66 Merge pull request #294 from aqw/master
add SmartOS support
2020-07-28 08:30:17 +02:00
Alex Waite e59dd46c23 fix sftp_umask; store as literal not octal
Numbers with leading zeros need to be quoted in Ansible, otherwise they
are interpreted as octal. Which the templating happily writes out in...
decimal.

In this case, sftp_umask 0027 was ending up as 23 in sshd.conf.

Signed-off-by: Alex Waite <[email protected]>
2020-07-28 07:44:54 +02:00
Alex Waite 670be01d69 add var ssh_host_keys_dir, for OSes with alternate host key locations
Signed-off-by: Alex Waite <[email protected]>
2020-07-28 07:33:52 +02:00
Alex Waite 1a28c7bdef add SmartOS support
Signed-off-by: Alex Waite <[email protected]>
2020-07-28 07:29:39 +02:00
Alex Waite 1f1c715ec7 add var sshd_path, for OSs with alternate sshd locations
Signed-off-by: Alex Waite <[email protected]>
2020-07-28 07:29:27 +02:00
dev-sec CI 6fddedccb6 update changelog 2020-07-27 14:53:41 +00:00
liteua bf7c4dd46d add ssh_banner_path variable (#316)
Signed-off-by: Volodymyr Litvak <[email protected]>
2020-07-27 16:46:04 +02:00
dev-sec CI 75880c8f48 update changelog 2020-07-22 20:45:26 +00:00
schurzi 760f1206d6 rework CRYPTO_POLICY handling for fedora (#314)
* rework CRYPTO_POLICY handling for fedora

the previous implementation did not handle fedora right. Now we check if
a CRYPTO_POLICY is present regardless of the OS version.

Signed-off-by: Martin Schurz <[email protected]>

* improve tasks for CRYPTO_POLICY

Signed-off-by: Martin Schurz <[email protected]>

* add exception for Archlinux

Signed-off-by: Martin Schurz <[email protected]>

* swap conditions

Signed-off-by: Martin Schurz <[email protected]>
2020-07-22 22:42:28 +02:00
dev-sec CI 740feae180 update changelog 2020-07-22 19:29:59 +00:00
Sebastian Gumprich 65a8fa0c6c move hidepid vars into defaults so theyre overwritable (#285)
fixes #284

Signed-off-by: Sebastian Gumprich <[email protected]>
2020-07-22 21:27:25 +02:00
dev-sec CI e69f5891d9 update changelog 2020-07-22 12:45:52 +00:00
schurzi 395fd030ce improve testing in kitchen and travis (#313)
* improve local testing

don't use privileged mode, since this grants too much permissions.
Fixes several problems with PAM in test images.
REorder options in kitchen configuration to simplify it.

Signed-off-by: Martin Schurz <[email protected]>

* check all controls in travis

Signed-off-by: Martin Schurz <[email protected]>

* set env vars in travis correctly

according to documentation: https://docs.travis-ci.com/user/environment-variables/

Signed-off-by: Martin Schurz <[email protected]>

* add arch linux to local tests

Signed-off-by: Martin Schurz <[email protected]>

* shorten travis config

Signed-off-by: Martin Schurz <[email protected]>

* use correct init command for containers

Signed-off-by: Martin Schurz <[email protected]>

* try privileged again

Signed-off-by: Martin Schurz <[email protected]>

* arch seems to like privilege

Signed-off-by: Martin Schurz <[email protected]>
2020-07-22 14:42:45 +02:00
dev-sec CI 994ea81e64 update changelog 2020-07-21 20:38:28 +00:00
alegrey91andSebastian Gumprich a8e349913d Mount proc filesystem using hidepid option (#283)
* Added task to mount proc fs using hidepid option

Signed-off-by: alessio <[email protected]>
Signed-off-by: alegrey91 <[email protected]>
Signed-off-by: alessio <[email protected]>

* Removed mount shell command due to ci problem

Signed-off-by: alegrey91 <[email protected]>
Signed-off-by: alessio <[email protected]>

* Added task to create mount point before to add fstab entry

Signed-off-by: alegrey91 <[email protected]>
Signed-off-by: alessio <[email protected]>

* Added check to ensure fstab exist

Signed-off-by: alegrey91 <[email protected]>
Signed-off-by: alessio <[email protected]>

* Modified task title

Signed-off-by: alegrey91 <[email protected]>
Signed-off-by: alessio <[email protected]>

* Fixed typo

Signed-off-by: alegrey91 <[email protected]>
Signed-off-by: alessio <[email protected]>

* Fixed typo

Signed-off-by: alegrey91 <[email protected]>
Signed-off-by: alessio <[email protected]>

* Fixed wrong indented lines

Signed-off-by: alegrey91 <[email protected]>
Signed-off-by: alessio <[email protected]>

* Removed useless tasks and improved variables use

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

* removed ansible test tag

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

* removed trailing whitespace

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

* updated documentation

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

* fixed typo

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

* Update README.md

* Update vars/main.yml

Co-authored-by: Sebastian Gumprich <[email protected]>
2020-07-21 22:35:50 +02:00
dev-sec CI 0016239486 update changelog 2020-07-21 20:18:43 +00:00
Arnold 0cbfc29f23 adding specific documentation for IPv6 support (#312)
* adding specific things for IPv6 support

Signed-off-by: Arnold <[email protected]>
2020-07-21 22:15:42 +02:00
dev-sec CI 7ea747af03 update changelog 2020-07-20 09:55:20 +00:00
Sebastian Gumprich 3b75e49c0e fix typo 2020-07-20 11:52:22 +02:00
Sebastian Gumprich 8806f9f06a fix typo 2020-07-18 10:27:21 +02:00
be0e7f7809 add support for CentOS8 (#309)
* add testing for CentOS8

Adds testing environments for CentOS8 to local Kitchen and remote Travis
tests. Currently only local Kitchen Docker tests are verified.

Signed-off-by: Martin Schurz <[email protected]>

* disable system wide CRYPTO_POLICY on RHEL8+

by default sshd will not use the crypto settings from sshd_config. To
make the settings effective we need to disable the system wide
CRYPTO_POLICY.

see: https://access.redhat.com/solutions/4410591

Signed-off-by: Martin Schurz <[email protected]>

* Set volume variable for travis tests to use cgroups mount where needed

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

Co-authored-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2020-07-18 10:20:09 +02:00
dev-sec CI 6626617a4a update changelog 2020-07-13 16:55:06 +00:00
Sebastian Gumprich b4b306484b Merge pull request #307 from nununo/master
README: New section on server port and idempotency
2020-07-13 18:52:38 +02:00
Nuno Godinho 4a11070e2c README: New section on server port and idempotency
Add section called "Changing the default port and idempotency" and reference to role ssh-hardening-fallback, a wrapper around this role which implements a fallback to port 22 when the configured port is unreachable.

Signed-off-by: Nuno Godinho <[email protected]>
2020-07-13 16:26:01 +01:00
dev-sec CI 1b6623b899 update changelog 2020-07-12 07:18:59 +00:00
dev-sec CI 476f2ec8e2 update changelog 2020-07-12 07:18:50 +00:00
Sebastian Gumprich cb407267c0 remove mention of gitter 2020-07-12 09:16:53 +02:00
Sebastian Gumprich 4494ddd132 remove mention of gitter 2020-07-12 09:16:33 +02:00
Sebastian Gumprich 990f95807f remove mention of gitter 2020-07-12 09:16:22 +02:00
Sebastian Gumprich 8e7ce74953 remove mention of gitter 2020-07-12 09:16:04 +02:00
dev-sec CI 10888d72ab update changelog 2020-07-09 11:55:15 +00:00
Sebastian Gumprich 147a26c27a Merge pull request #305 from dev-sec/order_crypto
add blocks to crypto.yml checks
2020-07-09 13:52:21 +02:00
Sebastian Gumprich fda42b7022 Merge branch 'master' into order_crypto 2020-07-09 13:40:39 +02:00
Sebastian Gumprich 4c248a4901 remove obsolete include_task 2020-07-09 13:33:19 +02:00
Martin Schurz 18be974509 remove crypto.yml
move include tasks to hardening.yml and remove intermediate crypto.yml

Signed-off-by: Martin Schurz <[email protected]>
2020-07-09 12:56:39 +02:00
Martin Schurz 5e47ffae35 split crypto.yml in several playbooks
preserve the version ordering of defaults and group all tasks according
to base configuration variable (cipthers, hostkeys, kex and macs)

Signed-off-by: Martin Schurz <[email protected]>
2020-07-09 11:46:23 +02:00
dev-sec CI d87f6c6212 update changelog 2020-07-09 06:22:57 +00:00
Sebastian Gumprich 41aef7eb80 Merge pull request #304 from dev-sec/fix_typo
fix typo in hardening.yml
2020-07-09 08:20:03 +02:00
Martin Schurz 83263cf8ce add blocks to crypto.yml checks
moved the check for user supplied settings to block head and reversed
order of assignments to compensate for the missing check on the set
variable

Signed-off-by: Martin Schurz <[email protected]>
2020-07-09 00:30:45 +02:00
Martin Schurz 9d56e9c6dd fix typo in hardening.yml
Signed-off-by: Martin Schurz <[email protected]>
2020-07-08 22:42:32 +02:00
dev-sec CI 00f5f46c3a update changelog 2020-07-06 07:46:43 +00:00
Sebastian Gumprich 22580d853f Merge pull request #301 from dev-sec/fix_fedora_tests
fix package install in tests
2020-07-06 09:44:10 +02:00
Sebastian Gumprich 44424474b8 fix package install in tests
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-07-06 09:27:15 +02:00
dev-sec CI 64b86d48a8 update changelog 2020-07-06 06:38:57 +00:00
Sebastian Gumprich 5b96f66835 Merge pull request #300 from divialth/feature/customize_sshd_x11forward
allow customization of X11Forwarding
2020-07-06 08:36:07 +02:00
dev-sec CI 8d8277b3bd update changelog 2020-07-05 17:03:53 +00:00
Sebastian Gumprich 4d34d24c32 install procps in debian so sysctl.conf exists (#282)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-07-05 19:01:21 +02:00
divialth b5780c9d95 add x11forward options
Signed-off-by: divialth <[email protected]>
2020-07-03 14:51:57 +02:00
dev-sec CI 9a3d089fcb update changelog 2020-06-25 11:47:04 +00:00
Sebastian Gumprich d06c87386f Merge pull request #298 from dev-sec/rndmh3ro-patch-2
add centos 8 to meta
2020-06-25 13:44:17 +02:00
Sebastian Gumprich 573f2483f5 add centos 8 to meta 2020-06-25 13:43:43 +02:00
dev-sec CI 4f1a04b3a5 update changelog 2020-06-22 18:33:06 +00:00
schurzi beb77e4c96 Merge pull request #295 from aisbergg/feat-match-local-port
Add option to create 'LocalPort' match blocks
2020-06-22 20:30:15 +02:00
Andre Lehmann fb8ac0a42b Add option to create 'LocalPort' match block
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-22 18:05:38 +02:00
dev-sec CI f560d51447 update changelog 2020-06-20 07:10:04 +00:00
Sebastian Gumprich 3f962b540f Merge pull request #290 from aisbergg/harmonize-style
Harmonize style
2020-06-20 09:07:04 +02:00
Sebastian Gumprich ce41b9f89a Merge branch 'master' into harmonize-style 2020-06-20 08:56:47 +02:00
Andre Lehmann c141f12d1e Swap conditions
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-18 21:23:32 +02:00
dev-sec CI 508c666d58 update changelog 2020-06-18 18:59:00 +00:00
Sebastian Gumprich b27c679a51 Merge pull request #291 from djesionek/master
Add archlinux support
2020-06-18 20:55:56 +02:00
Damian JesionekandSebastian Gumprich 6c8165b3c8 Update .travis.yml according suggestion
Co-authored-by: Sebastian Gumprich <[email protected]>
Signed-off-by: Damian Jesionek <[email protected]>
2020-06-18 20:21:41 +02:00
Damian Jesionek 9a38fdbc3d Added task installing ssh on arch environments
Signed-off-by: Damian Jesionek <[email protected]>
2020-06-18 20:21:41 +02:00
Damian Jesionek 874d09d645 Added task installing ssh on arch environments
Signed-off-by: Damian Jesionek <[email protected]>
2020-06-18 20:21:41 +02:00
Damian Jesionek faf4b19db8 Added Archlinux as supported platform in the meta
Signed-off-by: Damian Jesionek <[email protected]>
2020-06-18 20:21:41 +02:00
Damian Jesionek e1811e5f4a Added testenvironment for archlinux
Signed-off-by: Damian Jesionek <[email protected]>
2020-06-18 20:21:41 +02:00
Damian Jesionek 4a3d5392fe Added Archlinux support
Signed-off-by: Damian Jesionek <[email protected]>
2020-06-18 20:21:41 +02:00
Andre Lehmann 0777322372 Remove trailing whitespace
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:36:28 +02:00
Andre Lehmann d427881edc Rework condition and fix comment
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:15:59 +02:00
Andre Lehmann 2ad774f7df Add space in variable placeholder
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:15:59 +02:00
Andre Lehmann e25bc666f4 Fix linting issue
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:15:59 +02:00
Andre Lehmann 26db1123af Reformat very long condition
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:15:59 +02:00
Andre Lehmann 5992bbae0d Harmonize style
Changes include:
- change of indentation
- consistent use of single quotes
- name of all tasks beginn with lower case
- explicit begin in all YAML files
- use of 'loop' instead of old style 'with_items'

Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:15:59 +02:00
Andre Lehmann aa908ae169 Correct usage of comment filter
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:15:59 +02:00
Andre Lehmann c845df464b Make use of lstrip_blocks
Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:15:59 +02:00
Andre Lehmann 3cfc11b0fb Fix validation issue when using 'Match LocalPort'
Using 'Match LocalPort' in the configuration results in an error:

    'Match LocalPort' in configuration but 'lport' not in connection test
    specification.

Adding '-C lport=22' to the validation fixes this issue.

Signed-off-by: Andre Lehmann <[email protected]>
2020-06-17 19:15:59 +02:00
dev-sec CI d98fbc4294 update changelog 2020-06-06 08:31:52 +00:00
dev-sec CI 36a038b6dd update changelog 2020-06-06 08:28:45 +00:00
dev-sec CI e9782fb2c1 update changelog 2020-06-06 08:27:35 +00:00
Sebastian Gumprich 7621bca63b Merge pull request #46 from dev-sec/unify_actions
unify changelog and release actions
2020-06-06 10:25:57 +02:00
Sebastian Gumprich ab8ba4c6a4 unify changelog and release actions (#29)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-06-06 10:25:55 +02:00
Sebastian Gumprich 1e9df18b64 Merge pull request #289 from dev-sec/unify_actions
unify changelog and release actions
2020-06-06 10:25:53 +02:00
Sebastian Gumprich a2e7cf3fd8 unify changelog and release actions
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-06-06 10:24:29 +02:00
Sebastian Gumprich e8a2906d24 unify changelog and release actions
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-06-06 10:23:27 +02:00
dev-sec CI fe9fad8845 update changelog 2020-06-06 08:20:52 +00:00
Sebastian Gumprich c31ad460ff unify changelog and release actions (#279)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-06-06 10:18:18 +02:00
dev-sec CI fba69f3ddb update changelog 2020-06-04 04:49:56 +00:00
Sebastian Gumprich 3480143584 Merge pull request #288 from jeanmonet/patch-1
`ssh_allow_tcp_forwarding`: use quotes for values
2020-06-04 06:48:03 +02:00
jeanmonet 28b295ada7 ssh_allow_tcp_forwarding: use quotes for values
Values passed to `ssh_allow_tcp_forwarding` must be strings. Avoid Ansible converting `yes` and `no` to boolean by quoting the values (ie `'yes'`, `'no'`).

Signed-off-by: jenmonet <[email protected]>
2020-06-03 22:27:30 +02:00
dev-sec CI c615fca579 update changelog 2020-06-02 07:03:04 +00:00
dev-sec CI 86cd494998 update changelog 2020-06-02 07:02:21 +00:00
Sebastian Gumprich 21bec11b09 Merge pull request #287 from dev-sec/chris-rock/customize-ssh-params
allow customization of login gracetime and max sessins
2020-06-02 08:57:30 +02:00
dev-sec CI 9f566ae60d update changelog 2020-06-02 06:40:03 +00:00
Christoph Hartmann 0aba114a72 purge insecure packages (#275)
Signed-off-by: Christoph Hartmann <[email protected]>
2020-06-02 08:38:52 +02:00
dev-sec CI f1b5f61736 update changelog 2020-06-01 12:00:17 +00:00
Christoph Hartmann 09a655a8b4 allow customization of login gracetime and max sessins
Signed-off-by: Christoph Hartmann <[email protected]>
2020-06-01 10:02:31 +02:00
dev-sec CI 4e923c9756 update changelog 2020-05-21 00:43:54 +00:00
dev-sec CI 2d876f67ef update changelog 2020-05-18 08:40:47 +00:00
Sebastian Gumprich 2c0fb49dee Merge pull request #284 from aqw/master
make ssh client-side compression configurable
2020-05-18 10:33:45 +02:00
Alex Waite c099004b98 make ssh client-side compression configurable
Signed-off-by: Alex Waite <[email protected]>
2020-05-16 09:52:14 +02:00
dev-sec CI 8d6ec28c5e update changelog 2020-05-15 13:52:44 +00:00
dev-sec CI 901260153d update changelog 2020-05-15 09:17:42 +00:00
dev-sec CI a0a247887c update changelog 2020-05-14 23:06:15 +00:00
dev-sec CI 33ee223dea update changelog 2020-05-13 08:13:26 +00:00
dev-sec CI acd48f0f10 update changelog 2020-05-12 11:23:46 +00:00
Sebastian Gumprich 40f1f25a5a fix release action
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-05-09 20:47:16 +02:00
Sebastian Gumprich ac9fbb312a fix release action
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-05-09 20:47:06 +02:00
dev-sec CI 99d63ffee1 update changelog 2020-05-09 18:46:44 +00:00
Sebastian Gumprich 4c4ee34931 fix release action
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-05-09 20:46:32 +02:00
Sebastian Gumprich c04c5bd060 fix release action
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-05-09 20:43:49 +02:00
dev-sec CI 1b0d3e1fa1 update changelog 2020-05-09 18:30:00 +00:00
dev-sec CI a0c5d0c596 update changelog 2020-05-09 18:29:35 +00:00
Sebastian Gumprich 3b53c5a60f add changelog and release workflow (#28)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-05-09 20:29:09 +02:00
Sebastian Gumprich 49af2e059d Merge pull request #45 from dev-sec/workflows
add changelog and release workflow
2020-05-09 20:28:47 +02:00
Sebastian Gumprich 5d885bef43 add changelog and release workflow
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-05-09 20:27:23 +02:00
Sebastian Gumprich 5f741a6f9a Update release.yml 2020-05-09 20:26:19 +02:00
Sebastian Gumprich e060504f48 Update release.yml 2020-05-09 20:26:09 +02:00
dev-sec CI 741e5a43ce update changelog 2020-05-09 18:25:02 +00:00
Sebastian Gumprich 9e04f7bc1e Update release.yml 2020-05-09 20:21:38 +02:00
Sebastian Gumprich 4c5fa242bd Update release.yml 2020-05-09 20:21:22 +02:00
dev-sec CI 8402500b75 update changelog 2020-05-09 18:08:51 +00:00
Sebastian Gumprich 1e6787204a add changelog and release workflow (#271)
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-05-09 20:07:36 +02:00
dev-sec CI 3f3b2c3619 update changelog 2020-05-09 17:55:38 +00:00
dev-sec CI 8ab659243c update changelog 2020-05-09 17:52:12 +00:00
Sebastian Gumprich 0995761706 Merge pull request #282 from dev-sec/workflows
add changelog and release workflow
2020-05-09 19:50:59 +02:00
Sebastian Gumprich c574aa106c add changelog and release workflow
Signed-off-by: Sebastian Gumprich <[email protected]>
2020-05-09 14:19:57 +02:00
Sebastian Gumprich cc1df7af7b Update main.yml 2020-05-09 14:02:26 +02:00
Sebastian Gumprich 46204a99ab Update main.yml 2020-05-09 14:02:18 +02:00
Sebastian Gumprich f4cdcc0251 Merge pull request #281 from kostasns/fix_fedora_build
fix: Ansible part of Fedora build
2020-05-09 14:00:31 +02:00
Kostas f4106889f6 fix: Fedora build
Signed-off-by: Kostas <[email protected]>
2020-05-09 12:13:53 +03:00
Sebastian Gumprich 12f5a8c56a Merge pull request #280 from dev-sec/rndmh3ro-patch-1
Add changelog action
2020-05-08 19:40:28 +02:00
Sebastian Gumprich fc209f5838 Update main.yml 2020-05-08 19:39:44 +02:00
Sebastian Gumprich 6b1233b3cd Create main.yml 2020-05-08 19:36:40 +02:00
Sebastian Gumprich 9255b22c32 Merge pull request #278 from kostasns/issue_243
feat: Allow to set custom list of HostKeyAlgorithms
2020-05-08 19:27:28 +02:00
Sebastian Gumprich e1688e4766 Merge pull request #279 from kostasns/fix_amazon_build
fix: Amazon linux build
2020-05-08 19:24:04 +02:00
Sebastian Gumprich 07d39172b6 Merge pull request #277 from kostasns/ansible_facts
fix(ansible_facts): replace few remaining facts from 'ansible_' to using 'ansible_facts' dictionary
2020-05-08 19:23:15 +02:00
Kostas 101ec2879d fix(template): do not include Amazon distribution in Redhat families with major version lower than 6
Signed-off-by: Kostas <[email protected]>
2020-05-08 16:33:25 +03:00
Kostas 51ab13d34e fix(test): fix default test as well
Signed-off-by: Kostas <[email protected]>
2020-05-08 16:20:53 +03:00
Kostas 1d84996dbd fix(test): fix conditional to generate host keys on Amazon distribution
Signed-off-by: Kostas <[email protected]>
2020-05-08 16:12:45 +03:00
Kostas 0fdafae06c fix: set HostKeyAlgorithms only from version 5.8
Signed-off-by: Kostas <[email protected]>
2020-05-08 14:22:08 +03:00
Kostas 00df1544fc feat: Add ability to provide a list of Host Key Algorithms
Signed-off-by: Kostas <[email protected]>
2020-05-08 14:07:58 +03:00
Kostas 0fac54cacb use ansible_facts dictionary
Signed-off-by: Kostas <[email protected]>
2020-05-08 13:56:10 +03:00
Sebastian Gumprich 1aa132f9ea github action for changelog generation 2020-05-05 22:30:49 +02:00
Sebastian Gumprich 249e3a09dd update changelog 2020-05-05 21:44:20 +02:00
Sebastian Gumprich caffaf5ed5 update changelog 2020-05-05 21:43:56 +02:00
Sebastian Gumprich 365d7389c7 add selinux options to the readme 2020-05-05 21:28:26 +02:00
Sebastian Gumprich b6d65a504a Merge pull request #44 from shadinaif/shadinaif/python3-mysqldb-for-ubuntu-20.04
Use python3-mysqldb for Ubuntu 20.04
2020-04-28 20:50:17 +02:00
Shadi Naif 9c77d0b512 Use python3-mysqldb for Ubuntu 20.04 2020-04-28 09:06:21 +03:00
Sebastian Gumprich 63ddfd8948 Merge pull request #274 from paulfantom/patch-1
vars: remove empty main.yml file
2020-04-21 09:50:19 +02:00
Sebastian Gumprich 3de3975a91 Merge pull request #273 from ancoron/feature/ubuntu-dynamic-motd-banner
Disable also dynamic MOTD via PAM if enabled - refs #271
2020-04-18 15:32:14 +02:00
Paweł Krupa 46334752c5 vars: remove empty main.yml file
Signed-off-by: paulfantom <[email protected]>
2020-04-18 11:58:23 +02:00
Ancoron Luciferis b014b62757 Disable also dynamic MOTD via PAM if enabled - refs #271
Signed-off-by: Ancoron Luciferis <[email protected]>
2020-04-16 01:11:35 +02:00
Sebastian Gumprich 4a97d4dc29 Merge pull request #270 from foonix/rhel6-sha2-hmacs
Use sha2 HMACs on RHEL 6 / CentOS 6.
2020-04-13 16:26:36 +02:00
Andre Lehmann 33ef27d635 Make useradd defaults in login.defs dependent on OS (#266)
* Add proper ansible_managed header in each template

Signed-off-by: Andre Lehmann <[email protected]>

* Use consistent indentation

All tabs were converted into spaces and all values were properly aligned, making
the file easier to read.

Signed-off-by: Andre Lehmann <[email protected]>

* Make useradd defaults inside login.defs dependent on OS family

Signed-off-by: Andre Lehmann <[email protected]>

* Remove duplicate key

Signed-off-by: Andre Lehmann <[email protected]>

* Replace tab with space

Signed-off-by: Andre Lehmann <[email protected]>
2020-04-13 16:09:20 +02:00
Jason McNew ffc7faeeea Oracle Linux 6.5 release notes indicate no OpenSSH package change from upstream, so use RHEL 6.5 HMACs.
Signed-off-by: Jason McNew <[email protected]>
2020-04-11 09:17:26 -04:00
Jason McNew defa6f78a4 Use sha2 HMACs on RHEL 6 / CentOS 6.
Signed-off-by: Jason McNew <[email protected]>
2020-04-03 15:43:48 -04:00
Sebastian Gumprich 3d351ef748 Merge branch 'PovilasGT-master' 2020-03-27 21:21:16 +01:00
Dennis Eriksen afe955799b Removing 2fa
As discussed in #260, 2fa does not really belong in a role for
configuring ssh.

Signed-off-by: Dennis Eriksen <[email protected]>
2020-03-27 21:21:05 +01:00
Sebastian Gumprich 78fc2befff Merge pull request #269 from dennisse/master
Removing 2fa
2020-03-27 20:00:38 +01:00
Dennis Eriksen f3458bc3cb Removing 2fa
As discussed in #260, 2fa does not really belong in a role for
configuring ssh.

Signed-off-by: Dennis Eriksen <[email protected]>
2020-03-25 12:44:45 +01:00
Povilas eb946eff0a Renaming ansible variables discovered from systems: Facts to be placed in new namespace ansible_facts.*
Signed-off-by: Povilas <[email protected]>
2020-03-24 16:54:55 +02:00
Povilas b720fd916c Renaming ansible variables discovered from systems: Facts to be placed in new namespace ansible_facts.*
Signed-off-by: Povilas <[email protected]>
2020-03-24 16:54:55 +02:00
Sebastian Gumprich 31c4895547 Merge pull request #267 from jbronn/moduli-when-hardening
Only manage moduli when hardening server
2020-03-10 16:42:29 +01:00
Justin Bronn d57f65e241 Only manage moduli when ssh_server_hardening is set.
Signed-off-by: Justin Bronn <[email protected]>
2020-03-10 10:24:29 -05:00
Paweł KrawczykandSebastian Gumprich af73bece97 Add kernel hardening parameters from Tails and CIS Benchmark (#263)
* Remove trailing space

ansible-lint marks my build red due to this `¯\_(ツ)_/¯`

Signed-off-by: Pawel Krawczyk <[email protected]>

* add ansible-lint (#262)

* Update .travis.yml

Signed-off-by: Pawel Krawczyk <[email protected]>

* Add kernel hardening parameters from Tails and CIS Benchmark

Signed-off-by: Pawel Krawczyk <[email protected]>

Co-authored-by: Sebastian Gumprich <[email protected]>
2020-03-06 10:32:43 +01:00
Sebastian Gumprich 32532bae9a add ansible-lint 2020-02-18 17:52:53 +01:00
Sebastian Gumprich be3317da94 add ansible-lint 2020-02-18 17:52:21 +01:00
Sebastian Gumprich d68169dca7 Merge pull request #43 from dev-sec/rndmh3ro-patch-1
add ansible-lint
2020-02-18 17:51:43 +01:00
Sebastian Gumprich f430284b8a add ansible-lint (#262)
* Update .travis.yml
2020-02-18 17:51:34 +01:00
Sebastian Gumprich 20eacfabf7 Update .travis.yml 2020-02-18 17:44:51 +01:00
Paweł Krawczyk 65c93ae6cb Remove trailing space (#261)
ansible-lint marks my build red due to this
2020-02-18 16:01:25 +01:00
Sebastian Gumprich ed3748ff59 Merge pull request #266 from kljensen/remove-bash-dep
Do not use bash to get ssh version
2020-02-13 22:24:45 +01:00
Kyle L. Jensen f6370ca5e0 Add changed_when and check_mode options to ssh version check
Signed-off-by: Kyle L. Jensen <[email protected]>
2020-02-13 14:03:09 -05:00
ljkimmel 060b15a7ee Addressing issue #255 (#258)
- Added logic to pull uid_min from login.defs when it returns an
  integer value greater than 0.
- Add logic so that Debian systems use inherit uid_max=999 when
  a uid_max was not found in login.defs.
- Add logic so that all other systems inherit uid_max=499 only
  when the value was not already found in login.defs or set for
  Debian systems.

Signed-off-by: Lesley Kimmel <[email protected]>
2020-02-13 06:53:40 +01:00
Kyle L. Jensen ed9ec7c072 Do not use bash to get ssh version
Signed-off-by: Kyle L. Jensen <[email protected]>
2020-02-09 21:32:07 -05:00
Jared Ledvina 908d1faab7 Add kernel parameter information to README (#259)
* Add kernel parameter information to README

Add initial documentation around configuring audit=1 to reduce the inaccuracies in the auditd logs. 
Closes https://github.com/dev-sec/ansible-os-hardening/issues/253

Signed-off-by: Jared Ledvina <[email protected]>

* Cleanup spellinng

Signed-off-by: Jared Ledvina <[email protected]>
2020-01-25 17:08:00 +01:00
Sebastian Gumprich 767540b5a0 Merge pull request #263 from abtreece/remove-comment-from-sshd-hostkey-param
Remove comment from sshd config HostKey param
2020-01-24 20:06:14 +01:00
abtreece a8b225f2f6 Remove comment from sshd config HostKey param
Fix for GitHub issue #262

Signed-off-by: abtreece <[email protected]>
2020-01-22 13:51:25 -06:00
Sebastian Gumprich 4ee9bf2224 Merge pull request #254 from lunarthegrey/patch-1
Support KEX for OpenSSH 8.0+ & quantum resistant KEX
2020-01-17 19:26:23 +01:00
Sebastian Gumprich aa3ceed887 Merge pull request #254 from kravietz/master
Remove trailing whitespaces (ansible-lint 201)
2020-01-15 11:06:19 +01:00
Pawel Krawczyk 2ee1e2c1ac Remove trailing whitespaces (ansible-lint 201)
Signed-off-by: Pawel Krawczyk <[email protected]>
2020-01-14 18:02:34 +00:00
Oleg Kupriyanov 75935cbba1 Fix error on applying the sysctl vars on containers (#243)
* Add exception in sysctl task

No need apply sysctl in docker and openvz containers.

Signed-off-by: Oleg Kupriyanov <[email protected]>

* use block for sysctl tasks
2019-12-19 20:44:31 +01:00
Sebastian Gumprich a745e667cf release 2.1.0 2019-12-14 20:54:18 +01:00
Dustin Miller 4228e8a157 Add intial support for OpenSUSE (#250)
* Add support for OpenSUSE
2019-12-14 20:37:23 +01:00
Sebastian Gumprich d1824a8417 Merge pull request #257 from brnck/tcp_options
Add 'all', 'local', 'yes', 'no' options support for AllowTcpForwarding variable
2019-12-01 14:05:52 +01:00
Augustas Berneckas b0139c7abf Drop boolean support for AllowTcpForwarding variable
Signed-off-by: Augustas Berneckas <[email protected]>
2019-11-26 22:57:34 +02:00
Augustas Berneckas 8e83579a7c Add 'all', 'local', 'yes', 'no' options support for AllowTcpForwarding variable
Signed-off-by: Augustas Berneckas <[email protected]>
2019-11-26 22:55:54 +02:00
Dustin Miller a0e7d0fbaf Standardize the var ordering (#251)
Now the vars for these OS are in the same order. This makes it much
easier to see the differences

Signed-off-by: Dustin Miller <[email protected]>
2019-11-25 17:22:58 +01:00
J.M. Fernández e674a6d589 Fix #247, cleanup conditions (#248)
Signed-off-by: Jesús Fernández <[email protected]>
2019-11-16 21:13:51 +01:00
Jan Dittberner ce6af914c8 Make max_log_file_action for auditd configurable (#246)
* Make max_log_file_action for auditd configurable

This commit allows to configure the max_log_file_action auf auditd to
avoid filling small /var/log partitions for systems that create many
audit log entries. Or run for a long period of time.

Signed-off-by: Jan Dittberner <[email protected]>

* Add os_auditd_max_log_file_action to README

Signed-off-by: Jan Dittberner <[email protected]>
2019-11-07 16:19:42 +01:00
Lunar 435ee7fd4a Add [email protected] KEX
Signed-off-by: Lunar <[email protected]>
2019-11-04 13:19:16 -06:00
Lunar a6e95f3fd4 Support KEX for OpenSSH 8.0+
Signed-off-by: Lunar <[email protected]>
2019-11-04 13:19:16 -06:00
Sebastian Gumprich 9f11c47730 Revert "Add exception in sysctl task (#240)" (#242)
This reverts commit 3e14d45d0c.
2019-10-28 21:02:24 +01:00
Oleg Kupriyanov 3e14d45d0c Add exception in sysctl task (#240)
No need apply sysctl in docker and openvz containers.

Signed-off-by: Oleg Kupriyanov <[email protected]>
2019-10-28 20:30:26 +01:00
Jared Ledvina d609de1c67 Fedora - Use new auto ansible_python_interpreter for dnf (#239)
* Fedora - Use new  ansible_python_interpreter for dnf

Signed-off-by: Jared Ledvina <[email protected]>
2019-10-25 23:13:17 +02:00
Sebastian Gumprich 21e442c65c Merge pull request #252 from Slamdunk/patch-1
SFTP: set default umask to 0027
2019-10-18 11:32:49 +02:00
Filippo Tessarotto 998aa27228 Configurable sftp umask 2019-10-18 08:05:11 +02:00
Filippo Tessarotto 35abff1ee0 SFTP: set default umask to 0027 2019-10-18 07:59:37 +02:00
Sebastian Gumprich 33a85b2e21 Merge pull request #40 from deefour/patch/fix-bare-variable-deprecation
use bool filter on bare variable to address Ansible 2.8 deprecation warning
2019-10-17 21:47:00 +02:00
Sebastian Gumprich 804538ebd7 Merge pull request #236 from jaredledvina/feature/allow-configuring-selinux-status
Support configuring SELinux and default to enforcing
2019-10-17 21:32:38 +02:00
Jason Daly 77f3f6e75d use bool filter on bare variable to address Ansible 2.8 deprecation warning
Signed-off-by: Jason Daly <[email protected]>
2019-10-16 23:18:54 -04:00
Sebastian Gumprich 9286eedc47 Merge pull request #251 from szEvEz/separate-vars
Separate PermitUserEnviroment from AcceptEnv
2019-10-15 19:32:03 +02:00
Sebastian Gumprich bb4feda34e Update opensshd.conf.j2 2019-10-15 18:21:00 +02:00
szEvEz 4138adcf28 add variable for PermitUserEnvironment value, extend tests with values for ssh_server_accept_env_vars and ssh_server_permit_environment_vars
Signed-off-by: szEvEz <[email protected]>
2019-10-14 15:20:54 +02:00
Sebastian Gumprich a5a188698b Merge pull request #245 from szEvEz/refactor-authentication-methods
refactor authenticationmethod settings, allow user to set authenticat…
2019-10-13 20:24:35 +02:00
szEvEz b7580b3e4f add missing variable to defaults
Signed-off-by: szEvEz <[email protected]>
2019-10-13 18:54:55 +02:00
szEvEz 397594a698 Separate PermitUserEnviroment from AcceptEnv
Signed-off-by: szEvEz <[email protected]>
2019-10-13 15:42:10 +02:00
szEvEz 686972f1bb add version check for AuthenticationMethods
Signed-off-by: szEvEz <[email protected]>
2019-10-13 13:19:32 +02:00
Jared Ledvina 9298965df6 Correct ansible_facts
Signed-off-by: Jared Ledvina <[email protected]>
2019-10-12 22:33:58 -04:00
Sebastian Gumprich b6f947c7a2 Merge pull request #242 from Furragen/master
RHEL/OL/CentOS 8 support
2019-10-12 22:04:12 +02:00
Moritz Schlarb 15b8ec2228 Add support for Debian Buster (#27)
Closes: #26
Signed-off-by: Moritz Schlarb <[email protected]>
2019-10-10 21:14:30 +02:00
Sebastian Gumprich 754138d50b Merge pull request #237 from yeoldegrove/centos-8
add test support for CentOS8
2019-10-09 19:52:49 +02:00
Sebastian Gumprich 2be7ce4cde Merge pull request #38 from cnkk/master
Add test support for Debian Buster
2019-10-09 18:39:55 +02:00
Cenk Kuecuek 8d855bee14 add test env for debian 10
Signed-off-by: Cenk Kuecuek <[email protected]>
2019-10-08 00:14:24 +02:00
Cenk Kuecuek 43a91bbb8f add test env for debian 10
Signed-off-by: Cenk Kuecuek <[email protected]>
2019-10-08 00:14:23 +02:00
Cenk Kuecuek be39384f60 add test for debian 10
Signed-off-by: Cenk Kuecuek <[email protected]>
2019-10-08 00:14:23 +02:00
Eike Waldt 66888990af add test support for CentOS8
Signed-off-by: Eike Waldt <[email protected]>
2019-10-07 20:28:15 +02:00
Sebastian Gumprich f4db6497a2 use correct debian 10 image in kitchen vagrant file 2019-10-07 20:09:54 +02:00
Sebastian Gumprich 0bb55985e7 Merge pull request #249 from jaredledvina/feature/buster-support
Feature: Debian 10 (Buster) support
2019-10-07 20:01:33 +02:00
Sebastian Gumprich b158e3b78b Merge pull request #234 from 123Haynes/buster_support
Add test support for debian buster
2019-10-07 19:41:26 +02:00
Sebastian Gumprich d6123bceff Merge pull request #235 from jaredledvina/patch-1
Update location of NSA RHEL 5 Guide
2019-10-07 19:17:35 +02:00
Hannes Rosenögger c86790c748 Add test support for debian buster
Signed-off-by: Hannes Rosenögger <[email protected]>
2019-10-06 21:59:29 +02:00
Jared Ledvina 5f3a913be6 Support configuring SELinux and default to enforcing
Signed-off-by: Jared Ledvina <[email protected]>
2019-10-06 13:11:18 -04:00
Jared Ledvina c47ca9092a Galaxy - Add Debian 10 Buster
Signed-off-by: Jared Ledvina <[email protected]>
2019-10-06 00:53:42 -04:00
Jared Ledvina f60955275a TravisCI - Add Debian 10
Signed-off-by: Jared Ledvina <[email protected]>
2019-10-06 00:53:23 -04:00
Jared Ledvina 411a989959 Kitchen - Add Debian 10
Signed-off-by: Jared Ledvina <[email protected]>
2019-10-06 00:52:40 -04:00
Jared Ledvina 6b4aab3764 Kitchen vagrant - Add Debian 10
Signed-off-by: Jared Ledvina <[email protected]>
2019-10-06 00:51:39 -04:00
Jared Ledvina 03faef5a75 Update location of NSA RHEL 5 Guide
closes https://github.com/dev-sec/ansible-os-hardening/issues/227

Updates the URL to the NSA Guide to the Secure Configuration of Red Hat Enterprise Linux 5 (version 4.2)

Signed-off-by: Jared Ledvina <[email protected]>
2019-10-06 00:45:47 -04:00
Furragen fdfa4d763b some cleanup and centos8 support
Signed-off-by: Furragen <[email protected]>
2019-10-05 14:05:32 +02:00
Sebastian Gumprich 22f77667f0 Merge pull request #246 from szEvEz/fix-openssh-client-package
fix broken packages, extend README with furhter development instructions
2019-10-04 17:10:17 +02:00
szEvEz dd3a105b91 fix broken packages, extend README with furhter development instructions
Signed-off-by: szEvEz <[email protected]>
2019-10-02 22:43:37 +02:00
szEvEz bea269a7ff refactor authenticationmethod settings, allow user to set authenticationmethods by hhimself
Signed-off-by: szEvEz <[email protected]>
2019-10-02 22:15:48 +02:00
Sebastian Gumprich d6deed26db Merge pull request #231 from rgarrigue/patch-1
Changed local var name to a less common one
2019-10-02 13:46:21 +02:00
Rémy G de3c0d387c Changed local var name to a less common one
"users" is a common var name. This local register overwrite the user's input, effectively breaking roles like weareinteractive.users. Since the "users" var name is more meaningful for a end user usage let's rename the register output to a more technical value.
2019-10-02 12:02:26 +02:00
Sebastian Gumprich ba457ee080 Merge pull request #240 from bschonec/add_some_parameters
Added ssh_syslog_facility, ssh_log_level and ssh_strict_modes parameters
2019-09-27 14:17:58 +02:00
Schonecker, Brian f41747c526 # This is a combination of 2 commits.
# The first commit's message is:

Added ssh_syslog_facility, ssh_log_level and ssh_strict_modes parameters.

Signed-off-by: Schonecker, Brian <[email protected]>

# The 2nd commit message will be skipped:

#	Added ssh_syslog_facility, ssh_log_level and ssh_strict_modes parameters.
2019-09-27 06:14:42 -04:00
Sebastian Gumprich 78f9419f14 Update main.yml 2019-09-26 21:54:27 +02:00
Sebastian Gumprich 13f698fcda Update main.yml 2019-09-26 21:54:23 +02:00
Sebastian Gumprich 8d8456aec8 release 7.0.0 2019-09-17 21:18:38 +02:00
Sebastian Gumprich 8f44b6edd9 Merge pull request #234 from gobind-singh/version_comparison
changed string comparison to version comparison
2019-09-15 19:37:19 +02:00
Gobind Singh b25d9ea999 changed string comparison to version comparison
Signed-off-by: Gobind Singh <[email protected]>
2019-09-14 15:30:25 +05:30
Sebastian Gumprich 2b7201a8a3 Merge pull request #233 from dev-sec/fix_189
set UsePAM to yes by default
2019-09-12 22:21:23 +02:00
Sebastian Gumprich 439c3eec1a set UsePAM to yes by default
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-08-31 18:31:49 +02:00
Sebastian Gumprich ce23e04292 update to 6.2.0 2019-08-07 10:54:07 +02:00
Sebastian Gumprich b7bc40bb74 Merge pull request #231 from MatthiasLohr/feature/MatchAddress
added support for `ssh_server_match_address` (#230)
2019-08-05 14:43:43 +02:00
Matthias Lohr b60fe1b3b5 added support for ssh_server_match_address (#230)
Signed-off-by: Matthias Lohr <[email protected]>
2019-08-02 11:46:15 +02:00
Sebastian Gumprich dd0c3cd2f5 Merge pull request #226 from joshuatalb/use-ansible-facts
Use ansible facts for vars
2019-07-01 21:49:52 +02:00
Sebastian Gumprich e69947a2a4 use distribution_major_version instead of distribution_version 2019-07-01 21:34:36 +02:00
Sebastian Gumprich 61ec2fff18 use distribution_major_version instead of distribution_version 2019-07-01 21:33:52 +02:00
Joshua Talbot 2037ae3fa2 use int from previous pr
Signed-off-by: Joshua Talbot <[email protected]>
2019-06-30 16:14:10 +01:00
Joshua Talbot b6b7273b24 replace with ansible_facts
Signed-off-by: Joshua Talbot <[email protected]>
2019-06-30 15:57:12 +01:00
Sebastian Gumprich 84f659d83d update to 5.2.1 2019-06-09 11:41:57 +02:00
Sebastian Gumprich 9076895e2d update to 6.1.3 2019-06-09 11:20:52 +02:00
Sebastian Gumprich bba220e536 Merge pull request #227 from Normo/master
Fix deprecation warnings in Ansible 2.8
2019-06-07 10:12:08 +02:00
Norman Bestfleisch 77b02f8a43 CONDITIONAL_BARE_VARS deprecation fix in when condition
Signed-off-by: Norman Bestfleisch <[email protected]>
2019-06-07 07:53:53 +02:00
Sebastian Gumprich f7eac8d3af Merge pull request #224 from Normo/master
Fix deprecation warnings in Ansible 2.8
2019-06-06 16:15:06 +02:00
Sebastian Gumprich d6ec19e79f Merge pull request #228 from Normo/fix-test
Fix squash_actions deprecation in test playbooks
2019-06-06 15:03:55 +02:00
Norman Bestfleisch eda078bfe2 Fix squash_actions deprecation in test playbooks
Signed-off-by: Norman Bestfleisch <[email protected]>
2019-06-06 14:38:34 +02:00
Norman Bestfleisch bd795c9a18 Quote pam_limits value to prevent type conversion warning
Signed-off-by: Norman Bestfleisch <[email protected]>
2019-06-06 12:10:05 +02:00
Norman Bestfleisch 16ee321a6e CONDITIONAL_BARE_VARS deprecation fix in when condition
Signed-off-by: Norman Bestfleisch <[email protected]>
2019-06-06 12:10:05 +02:00
Sebastian Gumprich 8b71e3fbca update version to 6.1.2 2019-05-17 10:37:24 +02:00
Sebastian Gumprich c36b360f9c Merge pull request #225 from dev-sec/fix_224
use correct variable ssh_custom_options in ssh_config template
2019-05-17 10:24:57 +02:00
Sebastian Gumprich ae630c3072 use correct variable ssh_custom_options in ssh_config template
fix #224

Signed-off-by: Sebastian Gumprich <[email protected]>
2019-05-17 09:55:35 +02:00
Sebastian Gumprich 08ebd3d51b Merge pull request #220 from dev-sec/fix_219
add docs to find-task in minimize access. fix #219
2019-05-12 18:03:47 +02:00
Sebastian Gumprich 05415d9e89 add docs to find-task in minimize access. fix #219
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-05-11 19:12:50 +02:00
Sebastian Gumprich c7039e3fd9 release version 6.1.1
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-05-07 22:06:11 +02:00
Sebastian Gumprich 7457337c4a Merge pull request #222 from dev-sec/fix_221
fix indentation for matches
2019-05-07 22:02:23 +02:00
Sebastian Gumprich c592fd61db add diff to travis run
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-05-07 21:52:54 +02:00
Sebastian Gumprich e8f58de183 add diff to travis run
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-05-07 21:48:55 +02:00
Sebastian Gumprich ba190fb509 fix indentation for matches
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-05-07 21:42:36 +02:00
Sebastian Gumprich a692a848bf fix ansible lint warnings 2019-05-04 15:56:25 +02:00
Sebastian Gumprich 1570b053d1 remove blank lines 2019-05-04 15:52:01 +02:00
Sebastian Gumprich c70fab4cde release 6.1.0 2019-05-04 15:34:08 +02:00
Sebastian Gumprich 1393c19080 release 5.2.0 2019-05-04 14:11:14 +02:00
Sebastian Gumprich 4cc52760bf Merge pull request #34 from dev-sec/remove_eol_os
remove eol'd OS and add new
2019-04-30 16:24:37 +02:00
Sebastian Gumprich 29d0421095 Merge pull request #159 from zbrojny120/master
Fix errors produced by ansible-lint
2019-04-30 16:21:48 +02:00
Sebastian Gumprich a9c8dfc248 Merge branch 'master' into master 2019-04-30 16:00:14 +02:00
Sebastian Gumprich e7a97ed374 pin inspec version 2019-04-30 15:57:17 +02:00
Sebastian Gumprich 0e4534e7cb pin inspec version 2019-04-30 15:56:51 +02:00
Sebastian Gumprich d67d570348 pin inspec version 2019-04-30 15:55:50 +02:00
Sebastian Gumprich c0e5710e2f Merge pull request #220 from dev-sec/fix_sel
Fix selinux inclusion
2019-04-30 15:46:25 +02:00
Sebastian Gumprich 53e0e60520 fix more selinux stuff 2019-04-30 15:30:59 +02:00
Sebastian Gumprich 7e065416da fix selinux stuff 2019-04-30 15:30:35 +02:00
Sebastian Gumprich 7907e48058 Merge pull request #214 from guilieb/master
fix: allow other ssh ports using selinux
2019-04-30 15:27:15 +02:00
Sebastian Gumprich f879dcbb88 remove eol'd OS and add new (#22)
* remove eol'd OS and add new

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

* remove amazon and fedora

Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-30 14:33:07 +02:00
Guillaume Bernard 0941b75097 fix: allow other ssh ports using selinux
Signed-off-by: Guillaume Bernard <[email protected]>
2019-04-29 19:48:54 +02:00
Sebastian Gumprich c608e028a5 ignore certs in travis ansible-galaxy install
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 18:29:59 +02:00
Sebastian Gumprich 3b50d92444 Merge pull request #217 from dev-sec/remove_eol_os
remove eol'd OS and add new
2019-04-29 18:05:41 +02:00
Sebastian Gumprich e8a05eed0e add fedora vars file
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 17:59:34 +02:00
Sebastian Gumprich 1455b6e0be change umask in fedora
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 17:54:30 +02:00
Sebastian Gumprich 349479177f add fedora vars file 2019-04-29 17:23:31 +02:00
Sebastian Gumprich dbe5ae6bd7 remove eol'd OS and add new
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 17:15:39 +02:00
Sebastian Gumprich 310cbf5f2d remove eol'd OS and add new
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 17:10:35 +02:00
Sebastian Gumprich e5a64ccc6f replace beaver with bionic
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 17:00:56 +02:00
Sebastian Gumprich 2c9a47f19f add install instructions to readme
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 16:53:30 +02:00
Sebastian Gumprich 15f3313cca add install instructions to readme
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 16:51:17 +02:00
Sebastian Gumprich 63603315e8 add install instructions to readme
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 16:50:42 +02:00
Sebastian Gumprich 2b037fc1d9 add install instructions to readme 2019-04-29 16:48:52 +02:00
Sebastian Gumprich 690ec7ba41 Merge pull request #218 from dev-sec/remove_eol_os
Remove eol os and add fedora
2019-04-29 16:28:25 +02:00
Sebastian Gumprich d9063435e6 add exception for hostkey-gen for fedora
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 16:17:43 +02:00
Sebastian Gumprich 71fe723438 remove and add from travis, too 2019-04-29 16:03:02 +02:00
Sebastian Gumprich 0dfaf0af42 Merge pull request #217 from dev-sec/move_custom
document and move custom variables
2019-04-29 15:56:36 +02:00
Sebastian Gumprich ad84360761 update readme and ansible meta
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 15:56:13 +02:00
Sebastian Gumprich 858f3b7775 remove EOL'd operating systems
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 15:51:14 +02:00
Sebastian Gumprich f911ea9c0b document and move custom variables
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-04-29 15:33:19 +02:00
Sebastian Gumprich 15dd4d344e Merge pull request #202 from dev-sec/1810_support
enable ssh 7.7p1 support
2019-04-14 15:52:19 +02:00
Sebastian Gumprich 7c7f1a3fcc Merge pull request #214 from ChrisMcKee/patch-1
Add note about docker under warning
2019-04-14 15:34:06 +02:00
Chris McKee 9108a83a03 Add note about docker under warning
Signed-off-by: Chris McKee <[email protected]>
2019-03-29 01:44:23 +00:00
Sebastian Gumprich 66f6c3c8cf Merge pull request #209 from dev-sec/speedup
change minimize access tasks to speed them up
2019-03-24 20:02:17 +01:00
Sebastian Gumprich 51c75bbccb add symlink following to find task
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-03-24 19:38:31 +01:00
Joshua Talbot 4f4fe8991d yml fixes
Signed-off-by: Joshua Talbot <[email protected]>
2019-03-24 19:36:07 +01:00
pmav99 5fe48f7561 [readme] Update documentation link
The old link was no longer valid
2019-03-24 19:36:07 +01:00
Sebastian Gumprich f0cbcc5536 Merge pull request #208 from dev-sec/fix_207
fix multiple match rules not working #207
2019-03-20 09:42:30 +01:00
Sebastian Gumprich 6de1df0ed1 Merge pull request #212 from ruslo/pr.fix.typo
Fix typo
2019-03-20 09:02:31 +01:00
Ruslan Baratov 8e891f2575 Fix typo
Signed-off-by: Ruslan Baratov <[email protected]>
2019-03-19 19:28:59 +03:00
Sebastian Gumprich 20ca116511 fix multiple match rules not working
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-03-15 21:04:50 +01:00
Sebastian Gumprich f2576a05c5 fix multiple match rules not working
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-03-15 17:41:23 +01:00
Sebastian Gumprich a69a3cae21 Merge pull request #203 from kofonfor/testkitchen-fixes
Fix ssh and sshd config files to satisfy inspec reqs on all Testkitchen setups
2019-03-01 08:11:16 +01:00
Alex Chistyakov ccc51553a9 Add ssh-14, ssh-15 and sshd-15 controls back to inspec-tests
Signed-off-by: Alex Chistyakov <[email protected]>
2019-03-01 01:59:34 +03:00
Sebastian Gumprich 4b52a37c06 Merge pull request #204 from kofonfor/ansible_lint
Make ansible-lint happy
2019-02-27 17:55:57 +01:00
Alex Chistyakov c6ff1d3cbf Make ansible-lint happy
Signed-off-by: Alex Chistyakov <[email protected]>
2019-02-23 21:55:34 +03:00
Alex Chistyakov 2616b36071 Satisfy requirements of controls 'ssh-14' and 'ssh-15'
Signed-off-by: Alex Chistyakov <[email protected]>
2019-02-23 20:59:13 +03:00
Alex Chistyakov f8cb5635a0 Put "UseLogin" config option back for OpenSSH ver. 7.4 and lower to conform to control 'sshd-15'
Signed-off-by: Alex Chistyakov <[email protected]>
2019-02-23 20:59:13 +03:00
Sebastian Gumprich 6aeb8678cb enable ssh 7.7p1 support
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-02-02 20:00:20 +01:00
Sebastian Gumprich 6d5a401207 Merge pull request #211 from joshuatalb/chmod-fixes
Update modprobe to 0644
2019-02-02 19:11:36 +01:00
Joshua Talbot fc5b9ecf0d Update modprobe to 0644
Signed-off-by: Joshua Talbot <[email protected]>
2019-01-29 19:02:12 +00:00
Sebastian Gumprich 06385ceaf0 Merge pull request #210 from joshuatalb/vagrant-test-fixes
Test Kitchen Vagrant Fixes
2019-01-28 21:14:22 +01:00
Joshua Talbot 7ad9332dca yml fixes
Signed-off-by: Joshua Talbot <[email protected]>
2019-01-28 20:07:04 +00:00
Sebastian Gumprich 8addb18b00 change minimize access tasks to speed them up
Signed-off-by: Sebastian Gumprich <[email protected]>
2019-01-24 21:04:03 +01:00
Sebastian Gumprich df809ad260 Merge pull request #207 from pmav99/patch-1
[readme] Update documentation link
2019-01-20 19:06:33 +01:00
pmav99 f5ae581d71 [readme] Update documentation link
The old link was no longer valid
2019-01-17 17:06:32 +02:00
Sebastian Gumprich 75f7153a6d Merge pull request #201 from jonaswre/master
Removed DEPRECATION WARNING for apt, using list instead of with_items
2019-01-13 15:55:08 +01:00
Jonas Wrede 3bbafc086d Removed DEPRECATION WARNING for apt, using list instead of with_items
Signed-off-by: Jonas Wrede <[email protected]>
2019-01-13 15:36:09 +01:00
Sebastian Gumprich 0f82a55a77 add fedora pre-tasks 2019-01-13 13:08:01 +01:00
Sebastian Gumprich 80f552b4f6 Merge pull request #206 from jonwrede/fedora
Added fedora support
2019-01-13 13:07:23 +01:00
Jonas Wrede 87a1503df2 Added fedora to travis
Signed-off-by: Jonas Wrede <[email protected]>
2019-01-11 10:40:56 +01:00
Jonas Wrede dbe0e67e5c fixed task naming
Signed-off-by: Jonas Wrede <[email protected]>
2019-01-10 21:24:49 +01:00
Jonas Wrede 58419515d9 Added commit to activate gpg-check section
Signed-off-by: Jonas Wrede <[email protected]>
2019-01-10 21:21:52 +01:00
Jonas Wrede d4fdaa9ae7 Filter use is not supported in future versions
Signed-off-by: Jonas Wrede <[email protected]>
2019-01-10 13:17:35 +01:00
Jonas Wrede 9f30ffe399 Changed version check to version_compare
Signed-off-by: Jonas Wrede <[email protected]>
2019-01-10 13:06:39 +01:00
Sebastian Gumprich ef120fbb49 Added proper fedora support
Added to version check "|int" so jinja2 will do proper int comparison
Added failed_when to "activate gpg-check for yum-repos" because yum.conf is replaced in newer fedora versions.
    Task only fails if error is not "file doesn't exists"
Signed-off-by: Jonas Wrede <[email protected]>
2019-01-10 11:27:26 +01:00
John Szivós 35d821809c Add travis builds for official nginx role (#21)
* test official nginx role with travis

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

* split up test playbook for different distros due to required vars

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

* make debian distros use the debian playbook

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

* update README

Signed-off-by: szEvEz <[email protected]>
2018-12-27 17:13:50 +01:00
Sebastian Gumprich aefbc79731 update changelog 2018-12-20 20:21:55 +01:00
Sebastian Gumprich e04cc87a2f Merge pull request #204 from dev-sec/linting
fix ansible lint remarks
2018-11-22 19:58:12 +01:00
Sebastian Gumprich 7e8da15157 update changelog 2018-11-21 19:42:37 +01:00
Sebastian Gumprich 7a6b1f7d66 fix ansible lint remarks
Signed-off-by: Sebastian Gumprich <[email protected]>
2018-11-21 19:36:12 +01:00
Sebastian Gumprich c391a0c678 Merge pull request #195 from dev-sec/fix_190
parameterize PermitRootLogin
2018-11-18 18:48:11 +01:00
Sebastian Gumprich cff51e126d Merge pull request #199 from MatthiasLohr/feature/CustomOptions
Support for custom configuration
2018-11-18 18:45:58 +01:00
Sebastian Gumprich eacd9c12ff fix linting problems 2018-11-18 10:27:44 +01:00
Sebastian Gumprich 9a57c6edaf add spaces to list 2018-11-18 10:22:13 +01:00
Sebastian Gumprich 2cb053a0e0 add commas to list 2018-11-18 10:19:10 +01:00
Sebastian Gumprich 2c06e4090a add commas to list 2018-11-18 10:18:04 +01:00
Sebastian Gumprich fbd7ff2993 remove duplicate Parameter 2018-11-18 10:13:58 +01:00
Sebastian Gumprich d7cedf51e2 add spaces to variables 2018-11-18 10:11:00 +01:00
Sebastian Gumprich b03e4f6559 remove duplicate Parameter 2018-11-18 10:07:23 +01:00
Sebastian Gumprich 456d9c25b1 add spaces top variables 2018-11-18 10:04:54 +01:00
Sebastian Gumprich 119524b8e7 remove duplicate Parameter 2018-11-18 10:00:00 +01:00
Sebastian Gumprich 330173e911 remove duplicate Parameter 2018-11-18 09:58:21 +01:00
Sebastian Gumprich dd8c27ba4e remove duplicate Parameter 2018-11-18 09:53:11 +01:00
Sebastian Gumprich 21c903f4d4 remove duplicate Parameter 2018-11-18 09:40:47 +01:00
Matthias Lohr daa3b0393e modified testcase
Signed-off-by: Matthias Lohr <[email protected]>
2018-11-16 14:06:34 +01:00
Matthias Lohr 1755515881 added test configuration
Signed-off-by: Matthias Lohr <[email protected]>
2018-11-16 10:49:14 +01:00
Matthias Lohr 0a0735be84 support for custom configuration
Signed-off-by: Matthias Lohr <[email protected]>
2018-11-16 07:39:05 +01:00
Sebastian Gumprich 8a6aa66ab4 parameterize PermitRootLogin
Signed-off-by: Sebastian Gumprich <[email protected]>
2018-11-15 21:09:17 +01:00
Sebastian Gumprich c7e102a118 Merge pull request #196 from ikr0m/patch-1
Update opensshd.conf.js
2018-11-14 20:42:01 +01:00
Ikrom a6d1870c58 Update opensshd.conf.js
Typo fixed
2018-11-14 09:11:07 +05:00
Sebastian Gumprich 1d83151e7b Merge pull request #203 from dev-sec/fix_202
add colon to user env paths - fix #202
2018-11-11 15:10:56 +01:00
Sebastian Gumprich 2e4dd1783f add colon to user env paths - fix #202
Signed-off-by: Sebastian Gumprich <[email protected]>
2018-11-11 13:55:45 +01:00
Sebastian Gumprich 833a173c3c Merge pull request #194 from szEvEz/master
set 'GSSAPIAuthentication yes' if variable 'ssh_gssapi_support' is set to 'true'
2018-11-10 19:44:51 +01:00
szEvEz ed9447ad00 updated README for new default parameter value, GSSAPICleanupCredentials should always equal yes 2018-11-10 19:31:32 +01:00
szEvEz cfc77ad82b set ssh_gssapi_support by default to false 2018-11-10 19:21:12 +01:00
szEvEz 3e3e85b769 set 'GSSAPIAuthentication yes' if variable 'ssh_gssapi_support' is set to 'true'
Signed-off-by: szEvEz <[email protected]>
2018-11-09 22:38:35 +01:00
Sebastian Gumprich 12059c64c7 Merge pull request #33 from dev-sec/fix_32
replace iteritems with items for python3 support
2018-11-09 20:47:12 +01:00
Sebastian Gumprich 96053b7764 Merge pull request #187 from Neophy7e/fixes/use-ansible-version-compare
Use ansible version compare module
2018-11-07 06:47:59 +01:00
neophy7e e0e2ea5b44 Change minimal ansible version to 2.5
Signed-off-by: neophy7e <[email protected]>
2018-11-06 23:00:20 +01:00
neophy7e 1e3a4748f0 Remove equality check
Signed-off-by: neophy7e <[email protected]>
2018-11-06 23:00:20 +01:00
neophy7e 7685b8fe54 Use ansible version compare module
Signed-off-by: neophy7e <[email protected]>
Signed-off-by: neophy7e <>
Signed-off-by: neophy7e <[email protected]>
2018-11-06 23:00:20 +01:00
Sebastian Gumprich 15789273b6 revert accidentally master commit
Signed-off-by: neophy7e <[email protected]>
2018-11-06 23:00:20 +01:00
Sebastian Gumprich 388958076a Merge pull request #200 from Normo/master
Pass package list directly to apt and yum modules without using with_items loop
2018-11-05 12:05:32 +01:00
Norman Bestfleisch 9783a8b140 Pass package list directly to apt and yum modules without using with_items loop
Invoking "apt" or "yum" only once while using a loop via squash_actions is deprecated. This commit
removes the with_items loops to prevent the deprecation warning.

Signed-off-by: Norman Bestfleisch <[email protected]>
2018-11-05 10:04:27 +01:00
Sebastian Gumprich c95f41c8c1 update changelog 2018-11-04 21:47:52 +01:00
Sebastian Gumprich e8384a4aa7 replace iteritems with items for python3 support 2018-10-30 20:44:41 +01:00
Sebastian Gumprich 45dd45b375 revert accidentally master commit 2018-10-17 12:53:40 +02:00
Sebastian Gumprich 32bab1552d add back baseline check sshd-15 2018-10-17 12:48:36 +02:00
Sebastian Gumprich b9acd71ece Merge pull request #199 from ccolic/master
add /usr/bin/su to suid_guid whitelist
2018-10-17 09:01:05 +02:00
Christian Colic 06dbfe4436 add /usr/bin/su to suid_guid whitelist
Signed-off-by: Christian Colic <[email protected]>
2018-10-16 12:47:59 +02:00
Sebastian Gumprich 6e320949e4 Merge pull request #186 from dev-sec/1804
add ubuntu 18.04 support
2018-10-15 16:17:39 +02:00
Sebastian Gumprich d90f894701 Merge pull request #197 from szEvEz/master
ensure that permissions to su-binary are not restricted to root user and group only, if os_security_users_allow contains the value change_user
2018-10-12 08:39:16 +02:00
John Szivós df13320c73 ensure that permissions to su-binary are not restricted to root user and group only, if os_security_users_allow contains the value change_user 2018-10-11 20:38:02 +02:00
Sebastian Gumprich 37110f558e Merge pull request #20 from dev-sec/1804
add ubuntu 18.04 support
2018-10-11 10:06:28 +02:00
Sebastian Gumprich c24b2e310b add ubuntu 18.04 support 2018-10-11 09:33:01 +02:00
Sebastian Gumprich e71fce9015 Update main.yml 2018-10-11 09:32:15 +02:00
Sebastian Gumprich a73df4c5f3 Merge pull request #196 from dev-sec/1804
add ubuntu 1804 support
2018-10-11 09:27:40 +02:00
Sebastian Gumprich 5ee4f5983c Merge pull request #19 from szEvEz/master
updated minimum required ansible version to 2.5 in README, as the used 'loop' keyword was introduced in version 2.5
2018-10-11 08:58:09 +02:00
szEvEz f4c78d9bb3 set min_ansible_version to 2.5 to be visible in galaxy 2018-10-11 08:52:37 +02:00
John Szivós 1ba958ee72 updated minimum required ansible version to 2.5, as the used 'loop' keyword was introduced in version 2.5 2018-10-10 21:06:35 +02:00
Sebastian Gumprich af2d5222ab add 1804 vagrant support 2018-10-10 19:55:37 +02:00
Sebastian Gumprich 1b4a17f86e add ubunti 18.04 support 2018-10-10 19:35:44 +02:00
Sebastian Gumprich 8c415e3836 use systemd in travis 1804 2018-10-09 08:55:33 +02:00
Sebastian Gumprich 557ced6bd0 add ubuntu 18.04 support 2018-10-08 21:30:55 +02:00
Sebastian Gumprich 03937787df Update issue templates 2018-10-06 18:54:43 +02:00
Sebastian Gumprich 4c61ea8cb6 Update issue templates 2018-10-06 18:54:35 +02:00
Sebastian Gumprich 1c347afc08 Update issue templates 2018-10-06 18:54:26 +02:00
Sebastian Gumprich 7ecfbd932a Update issue templates 2018-10-06 18:54:17 +02:00
Sebastian Gumprich 590bc01769 Merge pull request #192 from dev-sec/auditd_disable
add option to disable auditd
2018-09-20 09:28:17 +02:00
Sebastian Gumprich 67f16f166c add option to disable auditd 2018-09-16 20:56:48 +02:00
Sebastian Gumprich 5972b8669c update changelog 2018-09-16 15:07:25 +02:00
Sebastian Gumprich 4031d7cc10 Merge pull request #179 from dev-sec/remove_weak
update config of kex, macs, ciphers
2018-09-16 14:43:28 +02:00
Sebastian Gumprich 638949f7fc remove test kex 2018-09-11 19:35:55 +02:00
Sebastian Gumprich 6832ec8405 update readme and tests 2018-09-11 19:24:40 +02:00
Sebastian Gumprich 271923b021 update changelog 2018-09-08 15:34:58 +02:00
Sebastian Gumprich e9a15cd0ab update readme 2018-09-08 15:29:20 +02:00
Sebastian Gumprich 2ebcf4be8f Merge pull request #18 from dev-sec/kitchen_travis
Kitchen travis
2018-09-08 15:26:03 +02:00
Sebastian Gumprich c285d013cf use geerlinggux.nginx and fix tests 2018-09-08 14:59:30 +02:00
Sebastian Gumprich 3efd10d119 use restart instead of reload, fix syntax 2018-09-08 14:59:13 +02:00
Sebastian Gumprich e2113ccbf1 remove useless params 2018-09-08 14:58:36 +02:00
Sebastian Gumprich ce11a7e6d8 only run certain tests in travis and kitchen 2018-09-08 14:56:45 +02:00
Sebastian Gumprich e62ec36755 add ignore cert option 2018-09-08 14:56:11 +02:00
Sebastian Gumprich bc3e6a9058 remove debian 7, oracle 7 and amz from testing 2018-09-08 14:55:58 +02:00
Jay Cheroske 7cf4e9eb5a renamed main_2 -> hardening, added default var 2018-09-02 20:50:08 +02:00
Sebastian Gumprich 9db38465f2 add back run opts 2018-09-02 20:50:08 +02:00
Sebastian Gumprich 6a5f3dcc2c remove oracle7 for the time being 2018-09-02 20:50:08 +02:00
Sebastian Gumprich 6fba3bf8fd add amazon run opts to travis 2018-09-02 20:50:08 +02:00
Sebastian Gumprich aab9c0b4b5 update testing 2018-09-02 20:50:08 +02:00
Jay Cheroske 35e2d779d3 added dependency flag 2018-09-02 20:50:08 +02:00
Jay Cheroske 9f525145d1 added dependency flag 2018-09-02 20:50:08 +02:00
Jay Cheroske f57ce4be19 added dependency flag 2018-09-02 20:50:08 +02:00
Jay Cheroske 911059d932 fixing dependencies 2018-09-02 20:50:08 +02:00
Jay Cheroske 8a640b0e98 fixing dependencies 2018-09-02 20:50:08 +02:00
Jay Cheroske 016f3d255a fixing dependencies 2018-09-02 20:50:08 +02:00
Jay Cheroske c76b266a54 added proper dependency support 2018-09-02 20:50:08 +02:00
Sebastian Gumprich cb05d55f9f update changelog 2018-09-02 19:48:49 +02:00
Sebastian Gumprich 2d4f4d2717 update changelog 2018-09-02 19:44:29 +02:00
Sebastian Gumprich 8f8623b86f Merge pull request #190 from dev-sec/fix_efi
fix problems with efi and vfat
2018-09-02 19:14:55 +02:00
Sebastian Gumprich 834059d18c fix problems with efi and vfat 2018-09-02 18:53:10 +02:00
Sebastian Gumprich 3da0d929b5 Merge pull request #189 from dev-sec/pwquality_amazon
do not install passwdqc on amazon linux
2018-09-02 16:21:33 +02:00
Sebastian Gumprich 1dc093597d do not install passwdqc on amz 2018-09-02 15:41:10 +02:00
Sebastian Gumprich b529c37b20 Merge pull request #182 from Normo/master
Fix core dump config file creation when core dumps are disabled
2018-08-23 14:26:26 +02:00
Norman Bestfleisch 8e11f12e05 Enable core dumps for testing 2018-08-23 13:16:56 +02:00
Norman Bestfleisch e0be00bcb8 Fix core dump config file creation when core dumps are disabled 2018-08-23 13:16:56 +02:00
Sebastian Gumprich 68ead9d1b0 Merge pull request #186 from BedrockSolutions/master
added os_hardening_enabled flag
2018-08-22 09:09:35 +02:00
Jay Cheroske 0476a5e45d added os_hardening_enabled flag 2018-08-21 22:35:27 -07:00
Sebastian Gumprich 8e6ff59fe5 Merge pull request #177 from BedrockSolutions/master
Dependency flag
2018-08-21 12:11:42 +02:00
Jay Cheroske b4014e6a41 Merge branch 'master' of github.com:dev-sec/ansible-ssh-hardening 2018-08-20 15:32:08 -07:00
Jay Cheroske e3575e5c16 renamed main_2 -> hardening, added default var 2018-08-20 15:32:02 -07:00
Sebastian Gumprich 11e43b9b02 update testing and style 2018-08-15 18:16:50 +02:00
Sebastian Gumprich fd4ee1af03 Merge pull request #184 from dev-sec/kitchen_travis
add back run opts for debian 8 in travis
2018-08-15 16:53:25 +02:00
Sebastian Gumprich 6b2e45cbae Merge pull request #181 from dev-sec/kitchen_travis
remove oracle7 from travis tests for the time being
2018-08-15 16:45:14 +02:00
Sebastian Gumprich eb4fb325ae add back run opts 2018-08-15 16:10:41 +02:00
Sebastian Gumprich ed8afb8f22 add back run opts 2018-08-15 16:10:26 +02:00
Sebastian Gumprich c69d62ae78 Merge pull request #183 from dev-sec/kitchen_travis
add amazon run opts to travis
2018-08-15 15:56:33 +02:00
Sebastian Gumprich 0b98743c72 remove oracle7 for the time being 2018-08-15 15:46:31 +02:00
Sebastian Gumprich eb6df69be9 remove oravle7 for the time being 2018-08-15 15:36:29 +02:00
Sebastian Gumprich 26a1a759a8 fix oracle tests 2018-08-15 15:31:16 +02:00
Sebastian Gumprich 356d6ddb9d add amazon run opts to travis 2018-08-15 15:13:59 +02:00
Sebastian Gumprich c5a579f8aa Merge pull request #180 from dev-sec/kitchen_travis
Kitchen travis
2018-08-15 15:10:49 +02:00
Sebastian Gumprich 6fc8810b22 add amazon run opts to travis 2018-08-15 11:31:14 +02:00
Sebastian Gumprich a56fb75d4b update testing 2018-08-15 11:17:51 +02:00
Sebastian Gumprich d537f54eef update config of kex, macs, ciphers 2018-08-14 18:08:42 +02:00
Sebastian Gumprich 606e90f42f Delete output.txt 2018-08-14 17:42:59 +02:00
Sebastian Gumprich 1185054751 fix vagrant kitchen file 2018-08-14 16:59:17 +02:00
Sebastian Gumprich 544141215e Merge pull request #178 from dev-sec/travis
add debian 9 and a comment
2018-08-14 16:32:42 +02:00
Sebastian Gumprich 6f86c06e6c add debian 9 and a comment 2018-08-14 16:05:08 +02:00
Jay Cheroske 1258f4fa1f added dependency flag 2018-08-12 20:17:41 -07:00
Jay Cheroske 54f689f0a1 added dependency flag 2018-08-11 21:22:54 -07:00
Jay Cheroske 75f912c2f6 added dependency flag 2018-08-11 20:43:05 -07:00
Jay Cheroske f6f928fce4 fixing dependencies 2018-08-10 13:59:11 -07:00
Jay Cheroske 86ee679f34 fixing dependencies 2018-08-10 13:32:34 -07:00
Jay Cheroske 5ef2d87d86 fixing dependencies 2018-08-10 13:08:58 -07:00
Jay Cheroske 59a9c62acf added proper dependency support 2018-08-10 12:41:38 -07:00
Sebastian Gumprich 30aa3fef3f Merge pull request #181 from dev-sec/minimize_access
change minimize access method
2018-08-01 21:34:55 +02:00
Sebastian Gumprich e439904fd0 update minimum ansible version 2018-08-01 21:08:16 +02:00
Sebastian Gumprich 9b056d09e1 change symlink testing 2018-07-31 21:19:03 +02:00
Sebastian Gumprich 81af4bd99c change minimize access method 2018-07-23 22:05:24 +02:00
Sebastian Gumprich c8657c827d Merge pull request #180 from dev-sec/package
use package instead of yum and apt
2018-07-09 21:50:02 +02:00
Sebastian Gumprich 7b405df16e use package instead of yum and apt 2018-07-09 21:45:02 +02:00
Sebastian Gumprich 11506cd5ce Add explanation to remival of pam_ccreds 2018-07-09 21:13:11 +02:00
Sebastian Gumprich e6d79fa3fb Merge pull request #173 from dev-sec/travis
Travis
2018-07-02 14:00:34 +02:00
Sebastian Gumprich 7af72c8d28 Merge pull request #178 from dev-sec/travis
add oracle7 to travis
2018-07-01 13:10:02 +02:00
Sebastian Gumprich aa9d52df07 add oracle7 to travis 2018-07-01 12:25:03 +02:00
Sebastian Gumprich 327765dfa6 rm ssh-21 2018-06-29 22:29:43 +02:00
Sebastian Gumprich 68f8faf67a add debian 9 2018-06-29 22:24:29 +02:00
Sebastian Gumprich 6358d9f245 remove ssh-14 15 2018-06-29 22:24:11 +02:00
Sebastian Gumprich 37fa0c6d73 add new test ssh-14 ssh-15 2018-06-29 22:12:43 +02:00
Sebastian Gumprich b20ce91552 add new test ssh21 2018-06-29 22:09:38 +02:00
Sebastian Gumprich 0d4287cf6b Revert "add package-08 check (audit) to travis"
This reverts commit a3e9f1b4be.
2018-06-29 21:59:22 +02:00
Sebastian Gumprich a3e9f1b4be add package-08 check (audit) to travis 2018-06-29 21:03:08 +02:00
Sebastian Gumprich bd5948baad Merge pull request #176 from dev-sec/pam_perms
fix wrong permissions passwdqc #170
2018-06-29 20:55:58 +02:00
Sebastian Gumprich 44b32922ff Merge pull request #144 from dev-sec/auditd
install and configure auditd - fix inspec package-08
2018-06-29 20:55:39 +02:00
Sebastian Gumprich 7962be63c2 remove always failing check from travis 2018-06-29 20:25:42 +02:00
Sebastian Gumprich b7c6bfe036 fix wrong permissions passwdqc #170 2018-06-29 20:14:23 +02:00
Sebastian Gumprich 2c538c874d change auditd option max_log_file_action 2018-06-29 20:09:01 +02:00
Sebastian Gumprich 7949628914 Merge pull request #163 from dev-sec/new_tests
New tests
2018-06-29 19:47:04 +02:00
Sebastian Gumprich 75f1fe4b7f Merge pull request #162 from dev-sec/refactor
yaml-lint update, refactor tasks
2018-06-29 19:46:06 +02:00
Sebastian Gumprich 853df23b46 Merge branch 'master' of github.com:dev-sec/ansible-os-hardening into auditd 2018-06-29 19:44:23 +02:00
Sebastian Gumprich b8571f167f Merge branch 'master' of github.com:dev-sec/ansible-ssh-hardening into refactor 2018-06-29 19:39:35 +02:00
Sebastian Gumprich 5e3fec7c16 Merge pull request #171 from jbronn/openbsd
OpenBSD Support
2018-06-25 15:28:45 +02:00
Sebastian Gumprich f440803429 Merge pull request #174 from carchrae/example-comment-fix
ipv4 forwarding comment is inconsistent with example
2018-06-16 19:18:48 +02:00
Justin Bronn 179287b44a Rename sshd_moduli to sshd_moduli_file. 2018-06-15 11:59:17 -05:00
Justin Bronn 9bee179b02 Rename configuration variables for PAM, GSSAPI, and Kerberos support. 2018-06-15 11:45:55 -05:00
Justin Bronn 7f13313d27 Revert d7df30f. 2018-06-15 10:41:21 -05:00
Justin Bronn d7df30fa3d Move the configuration file owner/group variables to defaults. 2018-06-11 20:32:23 -05:00
Justin Bronn 6ab659a431 Update sshd_moduli to represent the path to the moduli file. 2018-06-11 20:26:55 -05:00
Tom Carchrae b215e4f6ba comment is wrong/misleading 2018-06-08 08:27:32 -07:00
Justin Bronn 709651032e Add OpenBSD support. 2018-06-06 09:46:53 -05:00
Sebastian Gumprich 026485b3b5 Merge pull request #166 from b1-systems/feature/disable_sftp_chroot
Implement disabling chroot for sftp
2018-05-16 15:43:26 +02:00
Tobias Wolter 72ff10dc87 Implement disabling chroot for sftp
By default enabled, of course, but give the option to disable sftp
chrooting.
2018-05-16 13:21:11 +02:00
Sebastian Gumprich 0794a1227d Merge pull request #172 from martinbydefault/patch-1
Rename pam_passwdqd.j2 to pam_passwdqc.j2
2018-05-15 09:59:17 +02:00
Martin 3acbf7ab8a Rename pam_passwdqd.j2 to pam_passwdqc.j2 2018-05-14 22:27:16 -03:00
Sebastian Gumprich 975720436f Update README.md 2018-04-29 12:48:57 +02:00
Sebastian Gumprich 2445b3dd9a Update README.md 2018-04-29 12:48:47 +02:00
Sebastian Gumprich a163ef4945 Update README.md 2018-04-29 12:48:39 +02:00
Sebastian Gumprich 60c26e3b47 Update README.md 2018-04-29 12:48:21 +02:00
Sebastian Gumprich a002e5e6c9 Update README.md 2018-04-29 12:46:52 +02:00
Sebastian Gumprich 2141e6827d Update README.md 2018-04-26 16:48:16 +02:00
Sebastian Gumprich c76ca94f6e update readme for sftp, fix #165 2018-04-26 16:47:47 +02:00
Sebastian Gumprich 11e976a3ae add new tests 2018-04-20 23:16:59 +02:00
Sebastian Gumprich ef9c3406e8 yaml-lint update, refactor tasks 2018-04-20 22:36:01 +02:00
Sebastian Gumprich 045dbeabac Merge pull request #156 from rcII/add-pam-device-2fa-config
Adds sshd config for keyboard-interactive pam device
2018-04-20 21:09:42 +02:00
Sebastian Gumprich b5e735541e Merge pull request #160 from ageis/recent-openssh-deprecations
Handle a few deprecated OpenSSH options
2018-04-20 21:03:48 +02:00
Kevin Gallagher e84e3b5d55 Deprecate UseRoaming after OpenSSH 7.1 2018-04-19 21:14:20 -07:00
Kevin Gallagher ed2dac1761 Convert sshd_version.stdout string to float
Resolves error: '<' not supported between instances of 'AnsibleUnicode' and 'float'
2018-04-19 20:48:03 -07:00
Kevin Gallagher d4e6dba5d4 Handle a few deprecated OpenSSH options
RhostsRSAAuthentication + RSAAuthentication is deprecated as of 7.4
UsePrivilegeSeparation is deprecated as of 7.5 (the daemon is now
sandboxed on all modern OSes/platforms by default)
2018-04-19 19:57:35 -07:00
Sebastian Gumprich 4b2ffd9ca4 Merge pull request #157 from gdelafond/add-trusted-user-ca-keys-and-authorized_principals
Added support for TrustedUserCAKeys and AuthorizedPrincipalsFile.
2018-04-17 09:44:51 +02:00
[email protected] e2d40c5bcf add examples for ssh_trusted_user_ca_keys & ssh_authorized_principals variables 2018-04-17 09:06:53 +02:00
[email protected] c2ea64822a ca keys & principals are now handle in a separated tasks file 2018-04-17 09:05:45 +02:00
Sebastian Gumprich 31a86ea639 Merge pull request #147 from dev-sec/amazon
Amazonlinux-Testing
2018-04-16 15:42:01 +02:00
Sebastian Gumprich 788b12b188 Merge pull request #160 from dev-sec/amazon
add amazon linux testing
2018-04-16 15:41:57 +02:00
[email protected] d96397a96e Added support for TrustedUserCAKeys and AuthorizedPrincipalsFile. 2018-04-16 00:10:33 +02:00
Raney Cain b58d5afd8c Adds sshd config for keyboard-interactive pam device
- Adds configuration option for public key authentication with 2FA input
from a PAM device such as a Yubikey. This will allow keyboard
interaction from the _device only_. See the documentation on
AuthenticationMethods
[here](https://www.freebsd.org/cgi/man.cgi?sshd_config(5)).
2018-04-12 09:21:16 -04:00
Sebastian Gumprich a4e383795f Update README.md 2018-04-09 21:31:44 +02:00
Sebastian Gumprich 6397a1e87f Merge pull request #154 from Normo/package-state
Use package state 'present' since 'installed' is deprecated
2018-03-29 14:40:19 +02:00
Norman Bestfleisch 05bb053c57 Use package state 'present' since 'installed' is deprecated 2018-03-26 13:54:15 +02:00
Sebastian Gumprich 84d20634d1 Merge pull request #168 from Normo/package-state
Use package state 'present' since 'installed' is deprecated
2018-03-26 10:01:49 +02:00
Norman Bestfleisch 7c14931ba3 Use package state 'present' since 'installed' is deprecated 2018-03-26 09:16:00 +02:00
Sebastian Gumprich 49a8d977f3 Update README.md 2018-03-15 15:59:58 +01:00
Sebastian Gumprich 1159eb5f00 Update README.md 2018-03-15 15:59:42 +01:00
Sebastian Gumprich 79aaab36b6 Update README.md 2018-03-15 15:59:21 +01:00
Sebastian Gumprich aa0036a1c1 Update README.md 2018-03-14 17:19:26 +01:00
Sebastian Gumprich faad68071e Merge pull request #150 from alval5280/ssh-baseline_test_conformity
change ssh-clientAlive interval to 300
2018-02-23 13:43:51 +01:00
Alexander Vallens 2f90cd3c13 conform to current dev-sec/ssh-baseline 2018-02-21 09:26:09 -07:00
Sebastian Gumprich 8376020792 Merge pull request #30 from dev-sec/enable
make mysql daemon enabling configurable
2018-02-12 14:11:09 +01:00
Sebastian Gumprich 25367c6777 make mysql daemon enabling configurable 2018-02-12 13:42:43 +01:00
Sebastian Gumprich 81ba398bb1 Merge pull request #132 from HelioCampos/master
Remove deprecated include for static tasks and use instead import_tasks fix #131
2018-01-31 20:04:18 +01:00
Sebastian Gumprich a04c2c034c Merge branch 'master' into master 2018-01-31 19:47:10 +01:00
Sebastian Gumprich f3a6fbdb69 Merge pull request #16 from oakey-b1/fix_duplicate_error
Fix duplicate ssl_prefer_server_ciphers error
2018-01-28 19:37:30 +01:00
Sebastian Gumprich 6a850d7e4a Merge pull request #149 from aeschbacher/master
new parameter: ssh_max_startups
2018-01-25 18:07:25 +01:00
Fabrice Aeschbacher 92dc5cb4c1 new parameter: ssh_max_startups
use this parameter to set 'MaxStartups' in sshd_config
2018-01-25 17:07:11 +01:00
Sebastian Gumprich 541e6ef086 Merge pull request #148 from thomasjpfan/ansible2.4
Update syntax to 2.4
2018-01-25 09:00:18 +01:00
Sebastian Gumprich 0b0af3966d Merge pull request #161 from thomasjpfan/ansible2.4
Update syntax to Ansible 2.4
2018-01-25 09:00:03 +01:00
Thomas Fan ef94760242 Update syntax to 2.4 2018-01-24 14:58:34 -05:00
Thomas Fan 15b0c1726e Update syntax to 2.4 2018-01-23 14:55:36 -05:00
Sebastian Gumprich 7daabdc2db Merge pull request #158 from woneill/amazon_linux
Add support for Amazon Linux
2018-01-15 18:11:54 +01:00
Sebastian Gumprich 7682ff957a add amazon linux testing 2018-01-15 18:06:07 +01:00
Sebastian Gumprich 1be18692d8 change init path on amazon 2018-01-12 11:23:04 +01:00
Sebastian Gumprich cc01c4e461 change init path on amazon 2018-01-12 11:17:51 +01:00
Sebastian Gumprich bcc155e68d add amazon linux to travis and kitchen 2018-01-12 10:55:28 +01:00
Sebastian Gumprich c1d5d16b9f Merge pull request #145 from woneill/amazon_linux
Add support for Amazon Linux
2018-01-12 10:53:59 +01:00
Sebastian Gumprich 5d3ab006a5 Merge pull request #146 from zbrojny120/master
Fixed trailing whitespace
2018-01-09 11:00:49 +01:00
Szymon Zyguła 94362af328 Fixed trailing whitespace 2018-01-09 09:53:12 +01:00
Szymon Zyguła d9ecbdd461 Fixed syntax 2018-01-05 15:20:35 +01:00
Szymon Zyguła 7302f7da99 Fixed handlers 2018-01-05 15:20:19 +01:00
Szymon Zyguła 5cfd9749d6 Fixed bare variable 2018-01-05 12:17:57 +01:00
Szymon Zyguła 8b2f9d8add Fixed typo 2018-01-05 12:11:23 +01:00
Szymon Zyguła 65e484ed71 Moved update-initramfs to a handler 2018-01-05 12:03:54 +01:00
Szymon Zyguła e53c4b6e2b Fixed trailing whitespace 2018-01-05 11:27:18 +01:00
Bill ONeill 84cf6d6747 Add support for Amazon Linux 2018-01-04 16:08:08 -05:00
Bill ONeill a17ecece92 Add support for Amazon Linux 2018-01-04 00:55:52 -05:00
Sebastian Gumprich e89ea699b4 update changelog 2018-01-03 21:01:33 +01:00
Sebastian Gumprich 01e1b8e742 update changelog 2018-01-03 21:01:04 +01:00
Patrick Münch 99140854ca Merge pull request #143 from dev-sec/martians
add missing sysctl parameter
2018-01-03 11:40:36 +01:00
Sebastian Gumprich 19b8788a39 remove unused parameter from readme 2018-01-03 10:43:13 +01:00
Sebastian Gumprich f13c1ed47b update vagrnat boxes 2018-01-03 10:43:13 +01:00
Sebastian Gumprich ac420b8edd add martian sysctl parameter 2018-01-03 10:43:13 +01:00
Patrick Münch 0741b75aaa Merge pull request #157 from dev-sec/defaults
move defaults to os-specific vars
2018-01-03 10:28:19 +01:00
Sebastian Gumprich 6d81e33515 move defaults to os-specific vars 2018-01-02 18:53:49 +01:00
Sebastian Gumprich 9a5e6f7f1c temporary remove oracle7 from travis 2018-01-02 18:53:23 +01:00
Patrick Münch eaab080dfd Merge pull request #139 from dev-sec/macs_kex_ciphers
Macs kex ciphers
2017-12-29 10:41:44 +01:00
Sebastian Gumprich 9bf929b1ef update MACs 2017-12-27 11:49:40 +01:00
Sebastian Gumprich 2170eac4ba fix lineending 2017-12-27 10:40:18 +01:00
Sebastian Gumprich c310e15d14 Merge pull request #146 from martinbydefault/master
Removal of core dump hardening configuration if core dumps are allowed
2017-12-23 18:34:26 +01:00
Sebastian Gumprich 24fd32ba84 Merge pull request #150 from kravietz/master
Add kernel hardening settings from Ubuntu /etc/sysctl.d
2017-12-23 15:46:11 +01:00
Sebastian Gumprich a1727e24e4 Merge pull request #139 from dev-sec/fix_124
update readme
2017-12-23 15:35:34 +01:00
Sebastian Gumprich ac50457d39 Merge pull request #153 from pinguinkiste/fs-whitelist
Prevent disabling of filesystems via whitelist
2017-12-23 15:24:22 +01:00
Sebastian Gumprich 92a23e19ee remove merge conflict line 2017-12-23 15:08:52 +01:00
Sebastian Gumprich 8a4046bdb3 Merge pull request #123 from lazzurs/feature/2fa_auth
Feature/2fa auth
2017-12-23 15:07:55 +01:00
Neal Thomas Oakey 141a3934cf Fix duplicate ssl_prefer_server_ciphers error
and duplicate ssl_protocols warning

> nginx: [warn] duplicate value "TLSv1.2" in /etc/nginx/conf.d/90.hardening.conf:11
> nginx: [emerg] "ssl_prefer_server_ciphers" directive is duplicate in /etc/nginx/conf.d/90.hardening.conf:14
2017-12-20 09:40:01 +01:00
Sebastian Gumprich 743d2c871e Merge pull request #156 from oakey-b1/oakey-b1-patch-1
Don't create home for system accounts
2017-12-07 19:16:44 +01:00
Neal Thomas Oakey e6f534c380 Don't create home for system accounts
Fixes users `irc` and `systemd-resolve` being changed after reboot,
as their home directory is in `/run`.

Won't create `/home/{syslog,ntp}` any longer (Ubuntu).
2017-12-06 12:30:47 +01:00
Sebastian Gumprich 9bb68ef07e remove uselogin-check 2017-11-20 13:47:25 +01:00
Sebastian Gumprich 48b5b58c22 Merge pull request #141 from syhe/bugfix/remove-uselogin
Remove deprecated UseLogin option
2017-11-20 13:43:47 +01:00
Rob Lazzurs cef9f15c00 Merge branch 'feature/2fa_auth' of github:lazzurs/ansible-ssh-hardening into feature/2fa_auth 2017-11-09 15:31:32 +00:00
Rob Lazzurs 9c8b7837f6 Merge remote-tracking branch 'upstream/master' into feature/2fa_auth 2017-11-09 15:30:11 +00:00
Sýlvan Heuser d8a16f1258 Remove deprecated UseLogin option
Since OpenSSH 7.4/7.4p1 (2016-12-19)[0] (The default in Debian Stretch,
CentOS 7 and others) the "UseLogin" option has been deprecated.

Setting this option originally prevented usage of a "traditional"
/usr/sbin/login-based login – but has been set to "no" by default since
quite a while, so even if this role would be applied on a host with an
older OpenSSH version, the default value should still be save.

Fixes #140

0. https://www.openssh.com/txt/release-7.4
2017-11-06 17:42:41 +01:00
Manuel Prinz d429d53c60 Prevent disabling of filesystems via whitelist 2017-11-01 14:10:15 +01:00
Sebastian Gumprich c31c1f2363 change ssh.conf, add comments 2017-10-29 22:07:02 +01:00
Sebastian Gumprich 8d75ee741c add ssh7.6 support 2017-10-29 22:06:38 +01:00
Sebastian Gumprich d232871f13 divide plays to workaround gathered facts 2017-10-29 20:44:45 +01:00
Sebastian Gumprich a9353e160c simplify macs, kex, ciphers 2017-10-29 20:07:10 +01:00
Artem Sidorenko bf6cb73cd5 Merge pull request #152 from dev-sec/fix_ufw_151
replace single ticks with double ticks. fix #151
2017-10-29 00:56:25 +02:00
Sebastian Gumprich 5a96607216 Merge pull request #136 from pwyliu/configure-gateway-ports
allow configuration of GatewayPorts
2017-10-28 14:30:50 +02:00
pwyliu a0c330eca8 test gateway ports var 2017-10-27 16:57:12 -04:00
Sebastian Gumprich deec0be0a6 replace single ticks with double ticks. fix #151 2017-10-27 20:17:55 +02:00
Sebastian Gumprich 0c8fd63c9b Merge pull request #138 from kekumu/patch-1
Issue #137: Indent sshd_config's "Match Group sftponly"
2017-10-27 19:35:10 +02:00
kekumu 1f1ff2b6ca Issue #137: Fix sshd_config's "Match Group sftponly"
The "sftponly" Match Group in the sshd_config was not indented properly, so the settings that should only apply to sftp connections were overriding the global settings earlier in the file.
2017-10-27 00:47:27 -04:00
Pawel Krawczyk (qubes) 6329e433be add kernel hardening settings from Ubuntu /etc/sysctl.d 2017-10-24 13:41:41 +01:00
pwyliu 84ebd31456 allow configuration of GatewayPorts 2017-10-23 17:43:46 -04:00
Sebastian Gumprich 9df7355d5c Merge branch 'master' into master 2017-10-23 07:33:22 +02:00
Sebastian Gumprich 0ddb26a7f7 Merge pull request #149 from martinbydefault/patch-1
fixed tag
2017-10-20 18:21:56 +02:00
martinbydefault 903c1d26dc fixed tag 2017-10-19 11:26:21 -03:00
Sebastian Gumprich f9b0c2e98b Merge pull request #134 from gtz42/master
force /bin/sh when getting openssh-version
2017-10-17 16:33:04 +02:00
Sebastian Gumprich 936e997d08 Merge pull request #132 from hyrsky/master
Added support for AuthorizedKeysFile config setting
2017-10-17 16:26:00 +02:00
Santeri Hurnanen f321ec496d Added support for AuthorizedKeysFile config setting 2017-10-17 15:37:03 +03:00
Goetz Salzmann b3f70e3bf4 force /bin/sh when getting openssh-version
(since the update to ansible 2.4.0.0) the C shell is used
on FreeBSD to run shell  tasks.  This breakes the
redirect.

Forcing /bin/sh fixes this.
2017-10-09 10:20:53 +02:00
Sebastian Gumprich 7438e0440a Merge branch 'master' into master 2017-10-05 20:47:18 +02:00
Sebastian Gumprich a927903b9a update default.yml because of broken travis 2017-10-05 19:49:41 +02:00
Sebastian Gumprich ed29c7cbd5 update default.yml because of broken travis 2017-10-04 21:44:59 +02:00
Sebastian Gumprich d2cc34a519 update default.yml because of broken travis 2017-10-04 21:38:58 +02:00
Sebastian Gumprich eb702a0115 Merge pull request #14 from vishesh92/patch-1
Update README.md
2017-10-04 16:17:34 +02:00
vishesh92 84e7733a04 Update README.md
Add minimum ansible version in requirements and fix a typo.
2017-10-04 12:00:38 +05:30
martinbydefault 9eb45506aa added quotes to wildcard and fixed indentation 2017-10-04 02:02:50 -03:00
Martin 54a1b4488d Removal of core dump hardening configuration if core dumps are allowed 2017-10-04 01:20:03 -03:00
Sebastian Gumprich 4de15eac31 Merge pull request #131 from martinbydefault/master
corrected comments explaining the task's behaviour
2017-10-03 14:21:49 +02:00
Martin 5724c1ff16 corrected comments explaining the task's behaviour 2017-10-02 21:37:45 -03:00
Sebastian Gumprich 9d3cbea1a8 update changelog 2017-09-26 20:04:31 +02:00
Sebastian Gumprich 3cb86a6202 update changelog 2017-09-13 18:02:21 +02:00
Sebastian Gumprich ac763330a9 add diff to travis run 2017-09-03 19:48:29 +02:00
Sebastian Gumprich cccde992fc mv template files according to directories 2017-09-03 19:26:37 +02:00
Sebastian Gumprich 5a0a686e61 Merge branch 'auditd' of github.com:dev-sec/ansible-os-hardening into auditd 2017-09-03 19:26:05 +02:00
Sebastian Gumprich 29e678904e mv template files according to directories 2017-09-03 19:22:42 +02:00
Sebastian Gumprich 1f62d91aee Merge pull request #130 from MagnusEnger/patch-1
Remove duplicate ssh_use_dns
2017-08-14 17:21:06 +02:00
Magnus Enger 71537e3d87 Remove duplicate ssh_use_dns
ssh_use_dns was set twice in defaults/main.yml. This patch removes the last occurrence.
2017-08-14 09:24:53 +02:00
Rob Lazzurs f5f4521b55 Merge branch 'master' into feature/2fa_auth 2017-08-11 09:53:27 +01:00
Rob Lazzurs 4d3f10f112 Adding comment to config file.
This makes it clear why the ordering is public key then keyboard
interactive.
2017-08-11 09:49:07 +01:00
Rob Lazzurs 4d144a057b Moving over to using Ansible PAM support.
Using the Ansible PAM support rather than regex based line editing for
two out of the three PAM changes required for 2FA support.

The last change does not appear to be supported by the Ansible PAM
support unless I have missed something from the documentation.
2017-08-11 09:28:11 +01:00
Sebastian Gumprich c7a4720f04 add spaces to variable 2017-08-09 08:04:18 +02:00
Sebastian Gumprich 10f51ad0eb change package name of audit 2017-08-08 21:46:35 +02:00
Sebastian Gumprich 01b5dd1bbb install and configure auditd 2017-08-08 21:32:04 +02:00
Sebastian Gumprich 49d380f00c Merge pull request #138 from dev-sec/modprobe
add modprobe template, control os-10
2017-08-08 08:32:47 +02:00
Sebastian Gumprich 31d7dbeef4 move variable to right file 2017-08-07 22:12:48 +02:00
Sebastian Gumprich cfda4f79ac Update RedHat-6.yml 2017-08-07 22:11:33 +02:00
Sebastian Gumprich d33b8f1c40 fix typo 2017-08-07 22:08:03 +02:00
Sebastian Gumprich 637890223e Merge branch 'master' into modprobe 2017-08-07 22:01:38 +02:00
Sebastian Gumprich fde065d31b rebasing 2017-08-07 21:57:46 +02:00
Sebastian Gumprich 8f7c7ba84c install modprobe package,
check for modprobe

use apt and yum instead of package

Revert "use apt and yum instead of package"

This reverts commit 215a97b1867a7a8af5e0e64e9f77181d4c4a5050.

use latest to install kmod

run apt-get update
2017-08-07 21:56:08 +02:00
Sebastian Gumprich db517e9539 change vars file loading 2017-08-07 21:55:30 +02:00
Lukas Erlacher 3ccb3eb8de Remove rsync from package blacklist
rsync was erroneously added to `os_security_packages_list` variable,
meaning it was uninstalled as a "package with known issues".

Fixes #141
2017-08-07 21:55:30 +02:00
Sebastian Gumprich e1395fb2f2 Update minimize_access.yml 2017-08-07 21:55:30 +02:00
Sebastian Gumprich e879831819 add passwd vars 2017-08-07 21:55:30 +02:00
Sebastian Gumprich 41feffdc17 add kitchen to os_ignore_user to fix #124 2017-08-07 21:53:56 +02:00
Sebastian Gumprich ef1c718ba7 remove execshield on rhel7 2017-08-07 21:53:56 +02:00
Sebastian Gumprich de6653d9bb add shadow task 2017-08-07 21:53:37 +02:00
Sebastian Gumprich 9fa496f91d Merge pull request #119 from dev-sec/exec_shield
remove execshield sysctl-parameter on rhel7
2017-08-07 21:46:42 +02:00
Sebastian Gumprich 1303e0c7fe change vars file loading 2017-08-07 21:27:20 +02:00
Sebastian Gumprich 653c5cbf79 Merge branch 'master' into exec_shield 2017-08-07 19:33:50 +02:00
Sebastian Gumprich 02a475a465 Merge pull request #142 from duk3luk3/fix/no-blacklist-rsync
Remove rsync from package blacklist
2017-08-07 18:51:30 +02:00
Sebastian Gumprich e01a478858 remove useless check 2017-08-07 18:48:34 +02:00
Lukas Erlacher 066f423aae Remove rsync from package blacklist
rsync was erroneously added to `os_security_packages_list` variable,
meaning it was uninstalled as a "package with known issues".

Fixes #141
2017-08-07 23:21:51 +10:00
Sebastian Gumprich cf3bbb3dd4 add conditional check 2017-08-07 15:08:12 +02:00
Sebastian Gumprich 62d20e299f install modprobe package,
check for modprobe

use apt and yum instead of package

Revert "use apt and yum instead of package"

This reverts commit 215a97b1867a7a8af5e0e64e9f77181d4c4a5050.

use latest to install kmod

run apt-get update
2017-08-07 14:56:42 +02:00
Sebastian Gumprich a88ff85ec0 Merge pull request #136 from dev-sec/passwd
add passwd task, control os-03
2017-08-07 13:08:50 +02:00
Sebastian Gumprich 8bbd6f0f52 Update minimize_access.yml 2017-08-06 22:12:26 +02:00
Sebastian Gumprich 77fae2a742 add passwd vars 2017-08-06 21:37:26 +02:00
Sebastian Gumprich 3d59e80910 Merge branch 'master' of github.com:dev-sec/ansible-os-hardening into passwd 2017-08-06 20:39:52 +02:00
Sebastian Gumprich 0fa457d967 update readme 2017-08-06 15:48:51 +02:00
Sebastian Gumprich 846e0c23b3 add kitchen to os_ignore_user to fix #124 2017-08-06 15:43:55 +02:00
Sebastian Gumprich b737463b95 remove execshield on rhel7 2017-08-06 14:56:08 +02:00
Sebastian Gumprich f1df3a3c48 Merge pull request #134 from dev-sec/style
style update
2017-08-06 14:52:08 +02:00
Sebastian Gumprich 0aa330a35f Merge pull request #135 from dev-sec/prelinkt
remove prelink package, control package-09
2017-08-06 14:52:02 +02:00
Sebastian Gumprich a1a1371a83 update readme 2017-08-05 21:58:29 +02:00
Sebastian Gumprich a461deffff Merge branch 'master' into style 2017-08-05 21:46:58 +02:00
Sebastian Gumprich 8df021d3b5 update spaces, bools, trues 2017-08-05 21:43:28 +02:00
Sebastian Gumprich 09bcc0baad Merge pull request #137 from dev-sec/netrc
new task for delete netrc files, control os-09
2017-08-05 21:05:04 +02:00
Sebastian Gumprich a957fb6245 style update 2017-08-04 22:23:12 +02:00
Sebastian Gumprich 9c77f82899 new task for delete netrc files 2017-08-04 21:55:59 +02:00
Sebastian Gumprich 0466917aaf add shadow task 2017-08-04 21:51:16 +02:00
Sebastian Gumprich bb85a92ff0 remove prelink, package-09 2017-08-04 21:45:33 +02:00
Sebastian Gumprich 5eec48b138 update changelog 2017-08-03 10:24:25 +02:00
Sebastian Gumprich bfafa96e0e Merge pull request #116 from dev-sec/finish_94
Finish 94
2017-08-03 09:06:59 +02:00
Sebastian Gumprich aeb61c7b09 more bools 2017-07-28 10:27:27 +02:00
Sebastian Gumprich 6c39725bc9 add bool checks to all relevant variables 2017-07-25 12:59:40 +02:00
Sebastian Gumprich a58fb13493 Merge branch 'master' of github.com:dev-sec/ansible-ssh-hardening into finish_94 2017-07-23 21:15:44 +02:00
Sebastian Gumprich 72fd6f11bb Merge pull request #8 from dev-sec/docker
use new Docker images
2017-07-23 21:04:49 +02:00
Sebastian Gumprich e3073ba0e9 use new docker images 2017-07-23 20:46:21 +02:00
Sebastian Gumprich 7f9245ab5d Merge pull request #125 from oakey-b1/patch-1
Don't overwrite ssh_host_key_files if set manually
2017-07-23 18:13:47 +02:00
Neal Thomas Oakey 9bd86fed2e Don't overwrite ssh_host_key_files if set manually
before the manually set `ssh_host_key_files` would be overwritten if the openssh-version was greater than 5.3
2017-07-18 14:05:12 +02:00
Sebastian Gumprich 064aa3d6bf Merge pull request #29 from fazlearefin/master
Fix ansible.cfg settings
2017-07-17 21:07:31 +02:00
Sebastian Gumprich 6e0fc63602 Merge pull request #12 from fazlearefin/master
Add comment filter to {{ansible_managed}} string
2017-07-17 21:06:28 +02:00
Sebastian Gumprich a46e74376c Merge pull request #122 from fazlearefin/master
Fix ansible.cfg settings
2017-07-17 21:06:04 +02:00
Sebastian Gumprich 129f1a2314 Merge pull request #130 from fazlearefin/master
Fix ansible.cfg and use comment filter
2017-07-17 21:05:39 +02:00
Helio Campos Mello de Andrade 407ed57077 Remove deprecated include for static tasks and use instead import_tasks 2017-07-14 07:36:08 -03:00
Rob Lazzurs a8216826d1 Setting google auth to be off by default.
This will allow the current tests to run as they are failing because
this is not defined. A better step would be to add some tests.
2017-07-11 15:09:05 +01:00
Rob Lazzurs e0300d66c2 Moving the Google Auth section.
I had accidently placed this under an SELinux block rather than at the
end of it as I had planned. Now placed before the SELinux block to be
clear.
2017-07-10 18:13:41 +01:00
Rob Lazzurs f605cd242a Merge branch 'feature/2fa_auth' of github:lazzurs/ansible-ssh-hardening into feature/2fa_auth 2017-07-10 16:58:11 +01:00
Rob Lazzurs 218d2ce201 Cannot have password auth when password is disabled. 2017-07-10 16:57:18 +01:00
Rob Lazzurs de99f589e8 Merge branch 'master' into feature/2fa_auth 2017-07-10 15:34:23 +01:00
Rob Lazzurs c4f247d8a7 Finish the RedHat support.
This will remove password auth from RedHat distros to ensure that only
key based auth and 2FA codes can be used to authenticate users over SSH.
2017-07-10 15:27:52 +01:00
Fazle Arefin 6cbc26040f Add comment filter to {{ansible_managed}} string
- multiline {{ansible_managed}} strings do not get properly commented
without the comment filter (see
http://docs.ansible.com/ansible/playbooks_filters.html#comment-filter )
2017-07-07 11:49:33 +10:00
Fazle Arefin 192046d4ac Fix ansible.cfg
- using `%Y-%m-%d` in `ansible_managed` message is not recommended
as deploying from a new git checkout will change the `ansible_managed`
string in the template and Ansible will report the template file as changed
(see http://docs.ansible.com/ansible/intro_configuration.html#ansible-managed )
- add `scp_if_ssh` in ansible.cfg
2017-07-07 11:48:53 +10:00
Fazle Arefin 438df53a71 Add comment filter to {{ansible_managed}} string
Multiline {{ansible_managed}} strings do not get properly commented
without the comment filter.
See http://docs.ansible.com/ansible/playbooks_filters.html#comment-filter
2017-07-07 11:37:42 +10:00
Fazle Arefin 0ac83273ec Fix ansible.cfg settings
- using `%Y-%m-%d` in `ansible_managed` message is not recommended
as deploying from a new git checkout will change the `ansible_managed`
string in the template and Ansible will report the template file as changed
(see http://docs.ansible.com/ansible/intro_configuration.html#ansible-managed )
- no such setting called `role_path` (see
http://docs.ansible.com/ansible/intro_configuration.html )
- `scp_if_ssh` should be under `[ssh_connection]` header
2017-07-07 11:34:29 +10:00
Fazle Arefin c2555f41ce Fix ansible.cfg settings
- using %Y-%m-%d in ansible_managed message is not recommended
as deploying from a new git checkout will change the ansible_managed
string in the template and Ansible will report the template file as changed
(see http://docs.ansible.com/ansible/intro_configuration.html#ansible-managed )
- no such setting called role_path (see
http://docs.ansible.com/ansible/intro_configuration.html )
- scp_if_ssh should be under [ssh_connection] header
2017-07-07 11:22:46 +10:00
Sebastian Gumprich 2a4cfdf5df Merge pull request #121 from fazlearefin/master
Add comment filter to {{ansible_managed}} string
2017-07-06 21:38:02 +02:00
Fazle Arefin 7b773c0e80 Add comment filter to {{ansible_managed}} string
Multiline {{ansible_managed}} strings do not get properly commented
without the comment filter.
See http://docs.ansible.com/ansible/playbooks_filters.html#comment-filter
2017-07-05 15:34:01 +10:00
Sebastian Gumprich a122521b04 update changelog 2017-07-02 11:02:24 +02:00
Sebastian Gumprich 03fd9afd4f Merge pull request #119 from stenwt/fix-on-fedora
use package instead of yum so the operation works on Fedora
2017-06-30 22:06:25 +02:00
Sebastian Gumprich 5c68c650d8 Merge pull request #120 from bachp/revoked-keys
Add support to specify a list of revoked public keys
2017-06-30 21:38:21 +02:00
Pascal Bach 95650b67ba Add support to specify a list of revoked public keys
Signed-off-by: Pascal Bach <[email protected]>
2017-06-30 14:37:52 +02:00
Sebastian Gumprich cb8f952a86 update changelog 2017-06-28 16:00:41 +02:00
Rob Lazzurs 22fd2199f5 Adding in support for google authenticator TOTP.
This adds the PAM module package, changes the SSHd configuration and the
PAM configuration on RedHat and Debian systems to allow TOTP based
second factor auth to work with SSH keys.
2017-06-27 19:43:29 +01:00
Sten Turpin ff72a2e0e4 use package instead of yum so the operation works on Fedora 2017-06-23 19:59:22 -05:00
Sebastian Gumprich 5e5b59766e add back play 2017-06-06 16:45:55 +02:00
Sebastian Gumprich 6b782efbb2 remove support for 12.04 2017-06-06 15:51:57 +02:00
Sebastian Gumprich 90da3de4bd remove support for 12.04 2017-06-06 15:51:49 +02:00
Sebastian Gumprich 5423319001 Merge pull request #118 from krhubert/master
Do not use shell when not needed + Lint whitespaces
2017-06-06 15:51:09 +02:00
krhubert 2c2e5a67af Do not use shell when not needed + Lint whitespaces 2017-06-06 11:05:11 +02:00
Sebastian Gumprich 02d96bfae9 change vars to bool, put comments inside block 2017-06-04 18:48:27 +02:00
Sebastian Gumprich 789ef8fc73 update changelog 2017-05-31 21:37:31 +02:00
Sebastian Gumprich 08995ceeca Merge pull request #117 from wschaft/master
added check_mode: no to "get openssh-version" task, so it won't fail …
2017-05-31 20:03:12 +02:00
Wesley Schaft b429a9636e added check_mode: no to "get openssh-version" task, so it won't fail in check-mode 2017-05-31 12:35:36 +02:00
Sebastian Gumprich 77d82a1933 Update README.md 2017-05-28 18:36:02 +02:00
Sebastian Gumprich b4b820acca Update README.md 2017-05-28 18:33:56 +02:00
Sebastian Gumprich dfcade9159 Update README.md 2017-05-28 18:32:35 +02:00
Sebastian Gumprich b988ca4bff remove 12.04 as its EOLd for travis 2017-05-28 14:42:07 +02:00
Sebastian Gumprich 1834616310 remove 12.04 as its EOLd 2017-05-28 14:26:12 +02:00
Sebastian Gumprich 6d9f217a78 finish PR 2017-05-28 14:18:44 +02:00
Joseph Benden be67b1f84b Only restart service when SSH is enabled 2017-05-28 12:17:24 +02:00
Joseph Benden 974746e0e7 Template additional configuration options
All additional options are backwards compatible, and should not
introduce any unwanted vulnerability or side effect.

* PermitUserEnvironment/AcceptEnv now supports a list of accepted
  environment variables from the client.
* Compression is now configurable.
* UseDNS is now configurable.
* Both Match Group and Match User are now configurable.
* SSHD now supports being enabled and started.
2017-05-28 12:17:21 +02:00
Sebastian Gumprich 43248385e1 update changelog 2017-05-21 19:43:53 +02:00
Sebastian Gumprich 037cec6dcd Merge pull request #113 from pwyliu/master
fix validation error
2017-05-18 22:18:16 +02:00
pwyliu 4a55aada5a fix validation error 2017-05-14 23:53:20 -04:00
Sebastian Gumprich 09eb61b0a3 release new version 4.1.0 2017-05-09 19:52:52 +02:00
Sebastian Gumprich 596d291efa Merge pull request #112 from fti7/permittunnel
Added support for PermitTunnel config switch
2017-05-09 19:41:52 +02:00
Frank Isemann c1876bfb75 Added support for PermitTunnel config switch 2017-05-09 14:49:24 +02:00
Sebastian Gumprich 98e30c4cab Merge pull request #26 from dev-sec/new_dockerimages
use new docker files
2017-05-07 16:53:20 +02:00
Sebastian Gumprich bce870327b Merge pull request #109 from ftaeger/patch-2
Added support for UseDNS config switch
2017-05-01 18:22:37 +02:00
Sebastian Gumprich 24bf8e8010 Merge pull request #108 from ftaeger/patch-1
Added support for UseDNS config switch
2017-05-01 18:22:29 +02:00
Sebastian Gumprich 72344ca8d0 add travis wait so oracle finishes 2017-04-30 17:17:32 +02:00
Sebastian Gumprich 934685c616 update vagrant boxes to use latest bento vms 2017-04-25 21:42:10 +02:00
Sebastian Gumprich 6e2a25dd71 update readme 2017-04-25 08:55:38 +02:00
Sebastian Gumprich bf03862346 remove 12.04 from kitchen testing 2017-04-25 08:55:20 +02:00
Sebastian Gumprich 619aed0f36 use docker for testing 2017-04-25 08:53:35 +02:00
Sebastian Gumprich a58e5bf2fa add newmysql_cnf_owner variable, use ansible 2.0 features 2017-04-25 08:53:19 +02:00
Sebastian Gumprich 5a1e875715 update gitignore, gemfile 2017-04-25 08:52:22 +02:00
Sebastian Gumprich ba7d3d5387 cleanup old files, streamline ansible.cfg 2017-04-25 08:50:44 +02:00
Florian Taeger 8e061b40d0 Added support for UseDNS config switch 2017-04-24 16:55:32 +02:00
Florian Taeger 7c05984d13 Added support for UseDNS config switch 2017-04-24 16:55:30 +02:00
Sebastian Gumprich fd730dffef Merge pull request #107 from colin-nolan/feature/106-password-server-login
Adds option to enable password based authentication on the server
2017-04-23 12:41:55 +02:00
Colin Nolan a3d3de70ce Updates documentation. 2017-04-22 19:58:47 +01:00
Colin Nolan 83ef891246 Adds option to set whether password authentication is allowed with sshd. 2017-04-22 19:55:08 +01:00
Sebastian Gumprich 143270cbcc update changelog 2017-04-22 20:38:17 +02:00
Sebastian Gumprich 71062df266 update changelog 2017-04-22 20:34:53 +02:00
Sebastian Gumprich 4af328a42b update changelog 2017-04-22 20:32:39 +02:00
Sebastian Gumprich 5ad6c1493a update changelog 2017-04-22 20:04:44 +02:00
Sebastian Gumprich 893fd0841a Merge pull request #105 from dev-sec/fix_104
remove duplicate section
2017-04-22 19:55:50 +02:00
Sebastian Gumprich 97ba242d94 remove duplicate section 2017-04-22 19:35:50 +02:00
Sebastian Gumprich d086863f1f Merge pull request #27 from chrispoupart/master
Add CentOS7 with MariaDB support
2017-04-21 20:36:13 +02:00
Chris Poupart 3fcae0e284 add ansible_distribution to standardize with other hardening roles. 2017-04-21 14:34:37 -04:00
Chris Poupart 311562fdfc add test for centos 7.2 2017-04-18 15:53:20 -04:00
Chris Poupart 1315e92df5 Add variables specific to RHEL 7 to allow use of mariadb instead of mysql. 2017-04-18 10:38:06 -04:00
Sebastian Gumprich 4ba86e1d75 Merge pull request #93 from jbenden/deprecated-always_run
Replace deprecated always_run with check_mode
2017-03-14 19:26:33 +01:00
Sebastian Gumprich 00aa9eaa0d Merge branch 'master' into deprecated-always_run 2017-03-14 19:03:57 +01:00
Sebastian Gumprich 490be5567c Merge pull request #100 from fullyint/missing-vagrant-plugins
Accommodate missing plugins in kitchen_vagrant_block.rb
2017-03-14 18:28:16 +01:00
Sebastian Gumprich fc42747e23 Merge pull request #84 from fullyint/ssh_config_port
List only one Port in ssh config
2017-03-14 18:28:07 +01:00
Sebastian Gumprich 07daa8b50e Merge pull request #83 from fullyint/options_per_host
Fix ssh config to handle custom options per Host
2017-03-14 18:27:41 +01:00
Phil Nelson a11322a7de Accommodate missing plugins in kitchen_vagrant_block.rb
Prevents Vagrant failures: 'Unknown configuration section <name>'.
Also accommodate missing http_proxy environment variable,
which will be nil and have no `empty?` method.
2017-03-14 01:29:44 -06:00
Phil Nelson 8420dacb5e Fix ssh config to handle custom options per Host
Formerly printed Hosts on successive lines, applying all options
to the final Host only.
2017-03-13 23:06:21 -06:00
Phil Nelson 75d85e90f8 List only one Port in ssh config
Only one Port will be used, so don't loop over a list of Ports.
2017-03-13 21:55:08 -06:00
Sebastian Gumprich 86b7301fd9 Merge pull request #95 from jbenden/freebsd-support
Add support for FreeBSD OpenSSH server and client
2017-03-11 18:24:51 +01:00
Joseph Benden 4fea608fb0 Add support for FreeBSD OpenSSH server and client 2017-03-11 08:33:39 -07:00
Sebastian Gumprich a3ccd8fe64 Merge pull request #85 from dev-sec/ChallengeResponseAuthentication
make ChallengeResponseAuthentication configurable
2017-03-09 21:38:38 +01:00
Sebastian Gumprich 076aa419a2 make ChallengeResponseAuthentication configurable 2017-03-09 21:10:43 +01:00
Sebastian Gumprich 44a7bbbeb8 Merge pull request #99 from dev-sec/hostkey
Use different Hostkeys according to installed ssh version
2017-03-09 21:06:55 +01:00
Sebastian Gumprich 90ab77516e actually remove debian 9 2017-03-09 20:42:32 +01:00
Sebastian Gumprich 6d38219eda remove debian9
Errors unrelated to this PR in travis, fill be fixed later
2017-03-09 20:33:47 +01:00
Sebastian Gumprich 4f67096405 Merge pull request #97 from dev-sec/ssh_moduli
Remove small dh primes
2017-03-09 20:31:06 +01:00
Sebastian Gumprich bff281300b update readme 2017-03-09 20:23:58 +01:00
Sebastian Gumprich 3290ff2ac2 fix order 2017-03-07 22:31:41 +01:00
Sebastian Gumprich 8817e28420 use sed isntead of perl 2017-03-07 22:26:59 +01:00
Sebastian Gumprich 7a01bd0693 change hostkey setting 2017-03-07 22:12:05 +01:00
Sebastian Gumprich f8b8dfe85d update travis to test debian 8 2017-03-02 14:11:38 +01:00
Sebastian Gumprich aac6f60c7e Remove small dh primes
Thanks to debops!
https://github.com/debops/ansible-sshd/
2017-03-02 13:32:25 +01:00
Sebastian Gumprich 98034c0f73 Merge pull request #91 from dev-sec/docker
use new docker images
2017-02-28 21:28:34 +01:00
Sebastian Gumprich d12627a6fc Merge branch 'master' into docker 2017-02-28 21:27:33 +01:00
Sebastian Gumprich ca24738bd4 Merge pull request #88 from dev-sec/kitchen_update
use centos 7 in vagrant, limit ssh conns
2017-02-28 21:26:16 +01:00
Sebastian Gumprich c6f6f98078 Merge pull request #87 from dev-sec/new_docker_images
remove support for ansible 1.9
2017-02-28 21:25:42 +01:00
Sebastian Gumprich 997bba6972 Merge pull request #96 from techraf/add-ed25519-host-key
Add Ed25519 SSH host key to match commit 28b4df3 in ssh-baseline
2017-02-28 21:11:08 +01:00
Sebastian Gumprich 4059eba71f update min ansible version 2017-02-28 21:07:58 +01:00
techraf 23a45729cb Add Ed25519 SSH host key to match commit 28b4df3 in ssh-baseline InSpec profile 2017-02-14 07:44:31 +09:00
Joseph Benden 83c1662822 Replace deprecated always_run with check_mode 2017-02-01 16:56:46 -07:00
Sebastian Gumprich 45a464b175 Merge pull request #92 from techraf/remove-dsa-host-key
Defaults: Remove DSA from SSH host keys to match ssh-baseline profile
2017-01-25 15:23:10 +01:00
techraf 9e8545485d Remove DSA from SSH host keys to match https://github.com/dev-sec/ssh-baseline profile 2017-01-25 08:32:47 +09:00
Sebastian Gumprich a1fc2258b0 use new docker images 2017-01-22 16:11:05 +01:00
Sebastian Gumprich d8932109aa use centos 7 in vagrant, limit ssh conns 2017-01-09 20:15:29 +01:00
Sebastian Gumprich 10d9af0fe7 rm 1.9 from travis 2017-01-09 19:39:16 +01:00
Sebastian Gumprich 7e0504115f use new docker images 2017-01-09 19:36:01 +01:00
Sebastian Gumprich 99e063eb3e Update README.md 2017-01-09 07:35:15 +01:00
Sebastian Gumprich d73fa4ffe9 Merge pull request #22 from agno01/mysql-hardening-hardening-conf
- renamed 'mysql_hardening_mysql_conf' var to 'mysql_hardening_mysql_…
2016-11-23 17:31:48 +01:00
Sebastian Gumprich 689f220fb7 Update README.md 2016-11-23 17:29:28 +01:00
Sebastian Gumprich dc818d6153 Merge pull request #80 from kivilahtio/master
Fix ssh_server_ports and ssh_client_ports documentation bug
2016-11-23 16:51:43 +01:00
Olli-Antti Kivilahti 23d7bc06c7 Fix ssh_server_ports and ssh_client_ports documentation bug
Configuration parameters' default values as described in the documentation are not iterable.
If you copypaste the documented values to your group_vars, you ge tthe following error when
executing the role:

    AnsibleError: Unexpected templating type error occurred
    'int' object is not iterable"

This patch fixes this.
2016-11-23 12:34:55 +02:00
Sebastian Gumprich a6695fb137 remove oracle from meta, b/c galaxy cannot read it 2016-10-24 15:37:46 +02:00
Sebastian Gumprich f6763900fb update changelog 2016-10-24 15:02:44 +02:00
Sebastian Gumprich e79556ccba update changelog 2016-10-24 14:38:47 +02:00
Christoph Hartmann 61f00eceec Merge pull request #79 from dev-sec/check_selinux_module
install selinux dependencies, check for already installed semodule
2016-10-24 14:14:22 +02:00
Sebastian Gumprich a2c465668d update task names to include OS 2016-10-24 14:08:51 +02:00
Sebastian Gumprich e1710eb20f Merge branch 'master' into check_selinux_module 2016-10-24 14:07:04 +02:00
Sebastian Gumprich 1f63b3522a Merge pull request #77 from tsenart/remove-banner
Parameterise Banner and DebianBanner as defaults
2016-10-24 14:06:41 +02:00
Christoph Hartmann 618608b7bb Merge pull request #7 from dev-sec/tab_fix
remove tabs. fix #6
2016-10-24 10:51:39 +02:00
Andrej Golis 6fa57844e9 aligned more var names to be consistent, changed hardcoded owner/group values to use vars instead 2016-10-21 13:36:58 +02:00
Tomás Senart c315a65f51 Parameterise Banner and DebianBanner as defaults
This commit parameterises `Banner` and `DebianBanner` in the sshd config
with the defaults `ssh_banner` and `ssh_print_debian_banner` respectively,
though the latter is only supported on Debian family distributions.

Debian based distributions will have `DebianBanner no` set by default
from now on.
2016-10-17 16:47:55 +02:00
Andrej Golis 6a9ff3492c - added owner executable bit on my.cnf.d dir to allow mysql process to list files and apply custom configuration, otherwise it doesn't apply it 2016-10-15 16:32:22 +02:00
Andrej Golis 0cd5205c23 - renamed 'mysql_hardening_mysql_conf' var to 'mysql_hardening_mysql_conf_file'
- introduced 'mysql_hardening_mysql_conf_dir' variable
- set default value of 'mysql_hardening_mysql_conf_dir' variable for RedHat, OracleLinux, Debian
- changed default hardcoded full path in 'mysql_hardening_hardening_conf' var to be based on 'mysql_hardening_mysql_conf_dir' var
2016-10-14 17:07:46 +02:00
Anton Lugovoi b6a9c11e2a Merge pull request #21 from rndmh3ro/add_follow
add follow=yes to my.cnf protect task, incase its a symlink. fixes #20
2016-10-12 01:41:55 +03:00
Tomás Senart 5e16bc3b84 Remove OpenSSH version tag in config templates 2016-10-11 16:46:50 +02:00
Sebastian Gumprich 4e3d09f15e add deps. add check for selinux module. 2016-10-10 20:44:20 +02:00
Sebastian Gumprich 8277de374f remove tabs. fix #6 2016-10-10 19:04:12 +02:00
Sebastian Gumprich 74a3b03fd9 add follow=yes to my.cnf protect task, incase its a symlink 2016-10-08 12:07:34 +02:00
Sebastian Gumprich 5f12ec24e8 add changelog 2016-09-25 19:14:29 +02:00
Christoph Hartmann c5ca897214 Merge pull request #5 from dev-sec/dhparam
create dhparam file. fix #4
2016-09-23 02:07:22 +02:00
Sebastian Gumprich 36df40fe8e create dhparam file 2016-09-22 18:06:39 +02:00
Sebastian Gumprich 29c99df6be Merge pull request #1 from dev-sec/chris-rock/minor-updates
improve gemfile, update readme for local tests
2016-09-12 21:10:49 +02:00
Christoph Hartmann df32a38336 improve gemfile, update readme for local tests 2016-09-12 20:59:00 +02:00
Sebastian Gumprich 70126ad348 update changelog 2016-09-06 18:45:58 +02:00
Sebastian Gumprich cf2c4bf809 remove dependency 2016-08-11 18:18:56 +02:00
Sebastian Gumprich fc9493186b update readme 2016-08-11 18:14:19 +02:00
Sebastian Gumprich a9061b198b Update main.yml 2016-08-11 17:44:31 +02:00
Sebastian Gumprich 53e4926137 add geerlinggux.nginx dep 2016-08-11 17:46:17 +02:00
Sebastian Gumprich 224ecf0e76 push 3.1 2016-08-03 19:07:23 +02:00
Sebastian Gumprich e5c8cc9bce Merge pull request #73 from atomic111/master
Use new ciphers, kex, macs and priv separation sandbox for redhat family 7
2016-08-03 18:52:03 +02:00
Patrick Münch e0ebff857f add rake task for integration testing
Signed-off-by: Patrick Münch <[email protected]>
2016-08-03 11:07:35 +02:00
Patrick Münch 34144cf3b8 use new kex for redhat family 7 in ssh client config and fix for wrong macs setting
Signed-off-by: Patrick Münch <[email protected]>
2016-07-27 15:08:38 +02:00
Patrick Münch 92141dc129 use new macs for redhat family 7 in ssh client config
Signed-off-by: Patrick Münch <[email protected]>
2016-07-27 15:02:12 +02:00
Patrick Münch ad23b8ebfe use new ciphers for redhat family 7 in ssh client config
Signed-off-by: Patrick Münch <[email protected]>
2016-07-27 15:01:51 +02:00
Patrick Münch 4febf91de2 use privilege separation sandbox for redhat family 7
Signed-off-by: Patrick Münch <[email protected]>
2016-07-27 15:01:12 +02:00
Patrick Münch 9cf1fc050c use new kex for redhat family 7
Signed-off-by: Patrick Münch <[email protected]>
2016-07-27 15:00:43 +02:00
Patrick Münch 9ceedeb215 use new macs for redhat family 7
Signed-off-by: Patrick Münch <[email protected]>
2016-07-27 15:00:23 +02:00
Patrick Münch 176747c108 use new ciphers for redhat family 7
Signed-off-by: Patrick Münch <[email protected]>
2016-07-27 15:00:06 +02:00
Christoph Hartmann 9fd2879b98 Merge pull request #71 from dev-sec/docker
add docker support
2016-07-26 21:43:15 +02:00
Sebastian Gumprich 1992ac7119 remove thorfile, use sudo false, cleanup 2016-07-26 17:59:38 +02:00
Sebastian Gumprich b1cc68a7a0 update travis, testing 2016-07-26 16:30:59 +02:00
Sebastian Gumprich f65754214d update travis.yml to install nginx 2016-07-26 12:58:35 +02:00
Sebastian Gumprich 9ec5f3116b Update readme 2016-07-26 12:51:57 +02:00
Sebastian Gumprich 22c58c3d41 update readme, delete more_clear_headers 2016-07-26 12:51:26 +02:00
Sebastian Gumprich 1b9dcf16cf first commit 2016-07-26 12:28:52 +02:00
Sebastian Gumprich 1510f92858 Merge pull request #17 from dev-sec/local_testing
Local testing
2016-06-28 18:46:24 +02:00
Sebastian Gumprich 5f8ceb6f0a Merge pull request #16 from dev-sec/rhel_daemon
fix rhel daemon
2016-06-28 18:46:15 +02:00
Sebastian Gumprich 1c8801f520 add docker support 2016-06-28 18:46:12 +02:00
Sebastian Gumprich f5e9299854 fix wrong travis link in readme 2016-06-24 17:44:31 +02:00
Sebastian Gumprich b37b623d18 update readme 2016-06-24 17:43:13 +02:00
Sebastian Gumprich 86e10be36a update meta file 2016-06-24 17:42:12 +02:00
Sebastian Gumprich 63be562cac update meta file 2016-06-24 17:34:16 +02:00
Sebastian Gumprich 97c80efb96 Merge pull request #68 from dev-sec/debian8
Debian8
2016-06-20 20:13:27 +02:00
Sebastian Gumprich 5134982390 fix local testing 2016-06-16 18:46:13 +02:00
Sebastian Gumprich 2932a4ac26 Merge pull request #15 from fitz123/alt_version
alt version initial commit
2016-06-16 18:45:32 +02:00
Sebastian Gumprich 6f838d31dc fix rhel daemon 2016-06-16 18:34:33 +02:00
Sebastian Gumprich 3ed179b960 Merge pull request #69 from dev-sec/always_run_task
add always_run: true to task. fix #64
2016-06-13 21:40:32 +02:00
Sebastian Gumprich ba307d7f90 add always_run: true to task. fix #64 2016-06-13 21:38:45 +02:00
Sebastian Gumprich a09eb519dc add parantheses 2016-06-13 18:43:29 +02:00
Sebastian Gumprich 6627aa64e3 Merge pull request #15 from fitz123/alt_version
alt version initial commit
2016-06-10 22:15:20 +02:00
Sebastian Gumprich 0d62d4148e remove merge conflict 2016-06-08 17:29:42 +02:00
Sebastian Gumprich aec52b0907 merge kitchen.yml 2016-06-08 17:28:22 +02:00
Sebastian Gumprich ab3e9667a4 debian 8 support, verifier changes, metadata change
* add support for debian 8
* cleanup kitchen.yml, add inspec support
* remove oracle from meta file, bc it does not exist in ansible galaxy
2016-06-08 17:28:22 +02:00
Sebastian Gumprich fdd8daef2b inital commit for debian 8 testing 2016-06-08 17:28:22 +02:00
Sebastian Gumprich edf358c691 Merge pull request #66 from cjsheets/patch-1
Fixed KexAlgorithms Conditional Statement
2016-06-07 18:05:06 +02:00
Chad Sheets a17aa4967b Corrected a type in ssh_server_weak_kex 2016-06-06 17:40:20 -08:00
fitz123 ec90b8d3eb Update README with explaining of conditional enabling/disabling role 2016-06-05 14:08:10 +07:00
fitz123 ef77bf7c11 delete spaces in variables ({{ item }} -> {{item}}) 2016-06-01 02:57:04 +07:00
fitz123 56fe7393f2 README updated 2016-06-01 02:46:41 +07:00
fitz123 4e4b931cc5 fix task name 2016-06-01 02:41:38 +07:00
fitz123 8f1d970bd2 run mysql_secure_installation always 2016-06-01 02:39:46 +07:00
fitz123 f4e84e5fed add comments into defaults 2016-06-01 02:20:52 +07:00
fitz123 6542799382 add warning about using default mysql_root_password 2016-06-01 02:16:18 +07:00
fitz123 01bd7bcede make mysql_root_password mandatory variable and change owner/group permissions for users .my.cnf 2016-06-01 02:10:42 +07:00
fitz123 9289dc81a7 make mysql_root_password as mandatory variable 2016-06-01 02:09:07 +07:00
fitz123 780c4affde install .my.cnf into 'mysql_user_home' location instead of hardcoded /root 2016-06-01 01:39:35 +07:00
fitz123 dfc4c813c8 add 'mysql_user_home' variable and turn on role by default 2016-06-01 01:38:56 +07:00
fitz123 8882477338 fixed package name for RHEL: python-mysqldb->MySQL-python 2016-06-01 01:12:38 +07:00
fitz123 57937c0170 change default admin group mysql->root 2016-06-01 01:12:38 +07:00
fitz123 67a3b14051 disable role by default 2016-06-01 01:12:38 +07:00
fitz123 2a8f03d0cc replace all mysql-client related tasks by ansible mysql modules tasks 2016-06-01 01:12:38 +07:00
fitz123 8986cd9450 remove .sql file 2016-06-01 01:12:38 +07:00
fitz123 43b5e1ec94 alt version initial commit 2016-06-01 01:12:38 +07:00
Chad Sheets 0b85e9757e Fixed KexAlgorithms Conditional Statement
Corrected the conditional statement which was missing an `elif`. (also now with same formating as openssh client template), sshd_kex_59_weak was omitted and is now re-added and `client` selector needed to be changed to `server` for sshd template.
2016-05-30 22:27:28 -08:00
Sebastian Gumprich e7ac668d5e update testing method
use default.yml in repo for testing
consolidate kitchen vars
2016-05-22 20:04:58 +02:00
Sebastian Gumprich 3d7eadc31c add default playbook for testing 2016-05-22 20:02:45 +02:00
Sebastian Gumprich f56e209eff update readme, kitchen.yml, requirements.yml
readme:
- make vars a table
- replace hardening with dev-sec
- add anton to authors

kitchen.yml
- consolidate variables

use geerlingguy mysql role
2016-05-22 20:00:08 +02:00
Sebastian Gumprich 004dbca8c9 update readme for dev-sec and make vars a table 2016-05-22 18:38:41 +02:00
Christoph Hartmann b259a3b02b Merge pull request #58 from dev-sec/scp_ftp_faq
Add SCP/SFTP to FAQ
2016-05-19 11:50:10 +02:00
Sebastian Gumprich 3aee3fd29a update readme on ssh ports and listen_to. fix #62 2016-04-01 15:35:02 +02:00
Sebastian Gumprich 39e0aa489f Merge pull request #60 from conorsch/move-vars-to-defaults
Moves vars to defaults
2016-03-23 18:18:09 +01:00
Conor Schaefer eba9563ed1 Fixes typo in ssh cipher list
Per @rndmh3ro's review.
2016-03-16 13:41:13 -07:00
Conor Schaefer 4e6d736271 Moves vars/main.yml vars into defaults/main.yml
Exposes vars for manipulation by role/playbook tasks.
Does not change any default functionality of the role.
2016-03-13 19:17:23 -07:00
Conor Schaefer 3035f7d767 Updates config templates to join list vars
The kex and cipher vars are now proper YAML lists, so use the "join"
filter to render them as comma-separated strings, which ssh/sshd
expects.
2016-03-13 19:15:17 -07:00
Conor Schaefer 9ed16bf704 Converts ssh ciphers and kex vars to lists
The vars represent information that is best understood as a list, and
therefore should be stored as a list, and interpolated as a
comma-separated string only at the presentation layer, when rendering
the template.

Storing the vars as lists is eminently more readable, which encourages
a deeper understanding of this role, and of the SSH service in general.
2016-03-13 19:04:26 -07:00
Conor Schaefer d1c941f887 Namespaces vars in vars/main.yml
Adds "ssh_" prefix to avoid accidental collision with vars from other
roles, or elsewhere in an Ansible project.
2016-03-13 18:49:20 -07:00
Sebastian Gumprich 9465db5bf8 Merge pull request #59 from hardening-io/new_release
New release 3.0.0
2016-03-13 20:40:51 +01:00
Sebastian Gumprich 0d8bbd04e7 new release 3.0.0 2016-03-13 20:40:19 +01:00
Sebastian Gumprich b66f1e96cb New release 2016-03-13 20:39:03 +01:00
Sebastian Gumprich 5e59e0d366 Add SCP/SFTP to FAQ
fixes #55.
2016-03-13 19:59:45 +01:00
Sebastian Gumprich 19f7f22b09 Merge pull request #57 from shirokatze/master
Added sftp_enabled, sftp_chroot_dir, and ssh_client_roaming to readme
2016-03-09 20:45:10 +01:00
KuroKatze 51fd0484ca Added sftp_enabled, sftp_chroot_dir, and ssh_client_roaming from the defaults
Sftp is disabled by default. Some people might miss this at a glance.
Some ansible module will not work without sftp, so `scp_if_ssh = True` needs to
be set in ansible.cfg.
Currently there's a bug in ansible 2.0.1.0 that ignores the parameter.

https://github.com/hardening-io/ansible-ssh-hardening/issues/55
2016-03-10 02:04:20 +08:00
Christoph Hartmann 4ff3dbb7c8 Merge pull request #56 from hardening-io/ansible_20_test
add test support for ansible 1.9 and 2.0
2016-03-06 11:50:31 +01:00
Christoph Hartmann bf3bcc211e Merge pull request #13 from hardening-io/ansible_20_test
add test support for ansible 2.0 and 1.9
2016-03-06 11:48:35 +01:00
Sebastian Gumprich 9df80acdda add test support for ansible 2.0 and 1.9 2016-03-05 22:18:23 +01:00
Sebastian Gumprich 01744f2ffe add test support for ansible 1.9 and 2.0 2016-03-05 22:14:02 +01:00
Christoph Hartmann bf43381064 Merge pull request #52 from hardening-io/update_platforms
update platforms in meta-file
2016-02-28 16:06:35 +01:00
Christoph Hartmann a82f7d8def Merge pull request #9 from hardening-io/simplify_local_testing
Simplify local testing with custom role
2016-02-28 16:01:47 +01:00
Sebastian Gumprich 25e6e0f478 Simplify local testing with custom role 2016-02-28 15:58:08 +01:00
Christoph Hartmann fe99613e2f Merge pull request #11 from hardening-io/add_webhook_to_travis
add webhook for ansible galaxy
2016-02-28 15:55:12 +01:00
Sebastian Gumprich ee7d79e976 add webhook for ansible galaxy
This way the build status is shown on ansible-galaxy.
2016-02-28 15:54:40 +01:00
Christoph Hartmann 77c8ab6ae2 Merge pull request #10 from hardening-io/update_platforms
update platforms in meta-file
2016-02-28 15:54:00 +01:00
Sebastian Gumprich a09b1eab09 update platforms in meta-file
this way the match the style used by ansible galaxy.
2016-02-28 15:48:48 +01:00
Sebastian Gumprich 1255a01578 add debian 8 support. 2016-02-24 08:15:09 +01:00
Sebastian Gumprich 2bbd0f925c update platforms in meta-file
this way the match the style used by ansible galaxy.
2016-02-24 08:15:09 +01:00
Christoph Hartmann 200bff0b01 Merge pull request #49 from hardening-io/disable_client_roaming
Disable experimental client roaming.
2016-02-24 08:13:10 +01:00
Sebastian Gumprich bf76e1d0c8 Disable experimental client roaming.
See https://github.com/hardening-io/chef-ssh-hardening/pull/108
2016-02-24 08:06:38 +01:00
Christoph Hartmann 7de0d13881 Merge pull request #51 from hardening-io/add_webhook_to_travis
add webhook for ansible galaxy
2016-02-24 08:04:12 +01:00
Sebastian Gumprich dcd6d9e32a add webhook for ansible galaxy
This way the build status is shown on ansible-galaxy.
2016-02-24 07:55:49 +01:00
Sebastian Gumprich d6bdc34668 remove whitespace 2016-02-13 14:36:55 +01:00
Sebastian Gumprich 44d57dc83f Merge pull request #48 from hardening-io/kitchen-inspec
use inspec as test framework
2016-02-01 20:36:13 +01:00
Christoph Hartmann 122cea0823 Merge pull request #8 from hardening-io/new_role_layout
New role layout
2016-01-19 22:48:48 +01:00
Sebastian Gumprich 38af066c3f Change role-path in travis-file 2016-01-08 17:12:06 +01:00
Sebastian Gumprich 99bcc4391a Edit README for local testing 2016-01-08 17:04:30 +01:00
Sebastian Gumprich 877449997f New role layout. Fix #6 2016-01-08 17:00:57 +01:00
Christoph Hartmann e683e449b2 use inspec as test framework 2016-01-02 23:16:44 +01:00
Christoph Hartmann 8332f79275 Merge pull request #47 from hardening-io/change_cat_to_tags
Change categories to tags for upcoming ansible 2.0
2016-01-02 22:17:50 +01:00
Sebastian Gumprich 453b76a0d6 Change categories to tags for upcoming ansible 2.0 2015-12-29 15:09:52 +01:00
Sebastian Gumprich 4755a122c4 Merge pull request #46 from hardening-io/chris-rock/changelog
add changelog generator
2015-12-06 20:44:31 +01:00
Sebastian Gumprich b36d3b75d1 Merge pull request #7 from hardening-io/chris-rock/changelog
add changelog generator
2015-12-06 20:44:20 +01:00
Christoph Hartmann 8eeceea916 update changelog 2015-12-06 16:59:26 +01:00
Christoph Hartmann ce8c62bb4a add changelog generator 2015-12-06 16:59:05 +01:00
Christoph Hartmann 7a6039f0b2 update changelog 2015-12-06 16:58:35 +01:00
Christoph Hartmann d30f922093 add changelog generator 2015-12-06 16:56:56 +01:00
Christoph Hartmann d07f601f40 Merge pull request #44 from hardening-io/new_dir_layout
New dir layout. Fix #43
2015-11-28 17:43:29 +01:00
Sebastian Gumprich ec7cac7519 Remove commented lines from Gemfile 2015-10-28 17:24:49 +01:00
Sebastian Gumprich e73c107e7b New dir layout. Fix #43 2015-10-28 17:22:40 +01:00
Sebastian Gumprich ea213d636c Change directory structure. Fix #43 2015-10-27 20:41:36 +01:00
Christoph Hartmann 4997baafa2 Merge pull request #42 from hardening-io/add_travis_test
Add var to travis job
2015-10-22 11:42:19 +02:00
Sebastian Gumprich 24d0951a88 Add var to travis job
This tests  sftp_enable option #41
2015-10-21 21:02:26 +02:00
Sebastian Gumprich fd7c06f10a Merge pull request #41 from fitz123/optional_sftp
sftp_enable option
2015-10-21 20:10:15 +02:00
fitz123 c49d519b1f sftp_enable option 2015-10-21 22:28:01 +07:00
Sebastian Gumprich d68494a47c Merge pull request #5 from fheinle/master
fix mysql restart not happening because of missing os specific variable
2015-10-17 20:51:43 +02:00
Florian Heinle e21e62a0dc fix mysql restart not happening because of missing os specific variable 2015-10-17 18:30:56 +02:00
Sebastian Gumprich 4fe8523c09 Merge pull request #40 from fheinle/patch-1
Fix whitelisted groups on sshd
2015-10-16 21:33:13 +02:00
Florian Heinle a5d342a01a Allow whitelisted groups on ssh
Setting ssh_allow_groups does not work when set since the corresponding if-check tests for the wrong variable
2015-10-16 19:40:28 +02:00
Christoph Hartmann d8783be67c Merge pull request #39 from fitz123/bugfix
bugfix. Now option true for PrintLastLog is available again
2015-09-28 13:16:06 +02:00
fitz123 893b39181e bugfix. Now option true for PrintLastLog is available again 2015-09-28 06:24:13 +07:00
Christoph Hartmann 52d62abe4c Merge pull request #38 from hardening-io/improve_travis_tests
Add more travis-tests
2015-09-22 20:01:26 +02:00
Christoph Hartmann 9a3af69485 Merge pull request #35 from hardening-io/pam_selinux
Support for selinux and pam. fix #23
2015-09-22 19:58:58 +02:00
Sebastian Gumprich 78bc611eb4 Add more travis-tests
This change adds more tests in travis to check for
different variable uses.
2015-09-22 18:19:02 +02:00
Christoph Hartmann 1046ede67a Merge pull request #37 from hardening-io/fix_hmac_ssh_client
Change variable for hmac from server to client
2015-09-01 08:25:59 +02:00
Sebastian Gumprich d3e01b75d6 Change variable for hmac from server to client
in the openssh client configuration a server variable was used.
2015-08-31 21:10:00 +02:00
Christoph Hartmann b069a12800 Merge pull request #36 from hardening-io/update_kitchen-ansible
Update kitchen-ansible, remove separate debian install
2015-08-31 07:33:51 +02:00
Christoph Hartmann fd81dbf559 Merge pull request #4 from hardening-io/update_kitchen-ansible
Update kitchen-ansible, remove separate debian install
2015-08-31 07:31:00 +02:00
Sebastian Gumprich ae40dc6d33 Use correct package for python mysql module 2015-08-30 20:01:02 +02:00
Sebastian Gumprich 6b87da3063 Add myslq-python install to travis 2015-08-30 19:58:15 +02:00
Sebastian Gumprich 2c9b868889 Exclude tags in travis file 2015-08-30 19:55:30 +02:00
Sebastian Gumprich c540ba2fe5 Use correct ansible-playbook in travis file 2015-08-30 19:53:19 +02:00
Sebastian Gumprich 46ec321fd4 Update kitchen-ansible, remove separate debian install
Due to the new kitchen-ansible version it is now
possible to install ansible on all major OS's via a
ansible omnibus script which is provided by
kitchen ansible. There's no more need to separate
the debian tests.
2015-08-30 19:48:46 +02:00
Sebastian Gumprich be279bdb6b Update README
Remove the debian-part in testing.
2015-08-30 18:54:27 +02:00
Sebastian Gumprich 7b5fa53f3a Update kitchen-ansible, remove separate debian install
Due to the new kitchen-ansible version it is now
possible to install ansible on all major OS's via a
ansible omnibus script which is provided by
kitchen ansible. There's no more need to separate
the debian tests.

Also removed whitespace.
2015-08-29 14:13:17 +02:00
Sebastian Gumprich c54d37b29a Merge pull request #3 from hardening-io/update-common
update common kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
2015-08-28 18:37:50 +02:00
Sebastian Gumprich b6f22299d4 Merge pull request #32 from hardening-io/update-common
update common kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
2015-08-28 18:37:31 +02:00
Sebastian Gumprich adc8462838 Revamp conditionals again 2015-08-17 15:31:45 +00:00
Sebastian Gumprich 7b934e415c Add another conditional 2015-08-17 17:16:17 +00:00
Sebastian Gumprich b17bd65870 Add more conditionals 2015-08-17 17:08:16 +00:00
Sebastian Gumprich 9560f33329 Change last task again 2015-08-17 17:04:47 +00:00
Sebastian Gumprich be38ac75f4 Add selinux-check 2015-08-16 20:37:33 +00:00
Sebastian Gumprich c4482cb12e Support for selinux and pam. fix #23
This change add the following:

- it checks wether selinux is in "Enforcing" mode
- when selinux is enforcing, it copies a new selinux-policy to the host
- this policy allows sshd to read the shadow-file directly, which is forbidden by selinux otherwise
- the policy is then compiled, a package is created and the policy is installed
- when selinux is enforcing, pam is used and the policy is not disabled, it gets removed,
  because its considered a security risk. see here: http://danwalsh.livejournal.com/12333.html
2015-08-10 21:45:15 +00:00
Christoph Hartmann 7e14a43694 Merge pull request #34 from hardening-io/separate_ssh_ports
Separate ssh client and server ports. Fix #33
2015-08-09 16:19:09 -07:00
Sebastian Gumprich ef8c4ada2f Separate ssh client and server ports. Fix #33
This PR separates the ssh_ports variable into two separate
variables for the ssh-client and ssh-server.
2015-08-09 11:16:34 +00:00
Christoph Hartmann 5d9f852ce3 update common kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
updating common files with changes that are configured in the profiles: kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
2015-08-07 01:10:35 -07:00
Christoph Hartmann e68e325943 update common kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
updating common files with changes that are configured in the profiles: kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
2015-08-07 01:10:26 -07:00
Christoph Hartmann 936f6c287a Merge branch 'master' of github.com:hardening-io/ansible-ssh-hardening into update-common 2015-08-06 23:45:24 -07:00
Christoph Hartmann 3f485a8164 update common kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
updating common files with changes that are configured in the profiles: kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
2015-08-06 23:45:17 -07:00
Christoph Hartmann 3862773e3d Merge pull request #2 from hardening-io/separate_vars
Separate system-vars from editable vars.
2015-08-06 23:44:47 -07:00
Christoph Hartmann 950210348f Merge pull request #31 from hardening-io/max_auth_tries
Make MaxAuthTries configurable
2015-08-06 23:39:14 -07:00
Christoph Hartmann 4dcf55311a Merge pull request #30 from hardening-io/if_constructs
Change oneliner if-statements to be more readable
2015-08-06 23:38:42 -07:00
Christoph Hartmann 00e652bb29 update common kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
updating common files with changes that are configured in the profiles: kitchen.yml platforms (ansible), kitchen_debian.yml platforms (ansible)
2015-08-06 23:36:12 -07:00
Sebastian Gumprich 2bc353b7a9 Make MaxAuthTries configurable 2015-08-06 14:20:32 +00:00
Sebastian Gumprich df8b205a8f Change oneliner if-statements to be more readable 2015-08-06 13:53:33 +00:00
Christoph Hartmann 3a79dab5d8 Merge pull request #29 from ypid/make-client-pw-auth-configurable
Make ssh client password login configurable.
2015-08-04 09:17:45 -07:00
Robin Schneider 10f6544f3c Make ssh client password login configurable.
Defaults to not allow which might be a bit restrictive.
2015-08-04 15:17:50 +02:00
Christoph Hartmann ba7afdf938 Merge pull request #27 from hardening-io/template_case
Fix join-filter, jinja-cases, intendation
2015-07-30 02:00:19 -07:00
Sebastian Gumprich 60e898098d Fix join-filter, jinja-cases, spelling, whitespace
- the join filter is replaced by '+'
- the if-cases for rhel-based OS'es is simplified
- intendation of complex if-cases
2015-07-29 20:52:53 +00:00
Sebastian Gumprich bda8d52083 Merge pull request #26 from ypid/role-review
Fixed role's join-filter, jinja-cases, spelling, whitespace
2015-07-29 13:27:46 +00:00
Robin Schneider a2f4542a48 Short role review. Fixed role when ssh_client_weak_kex == true.
* This role uses the Jinja2 `join` filter quite creatively, please fix this. This patch fixes one instance.
* Make full use of Jinja2 features. E.g. use `if ansible_os_family in ['Oracle Linux', 'RedHat']` for example. This patch fixes one instance.
* Fixed spelling.
* Removed whitespace.
2015-07-28 21:21:32 +02:00
Christoph Hartmann ced954f51e Merge pull request #25 from ypid/client-server-disable
Make it configurable to only harden ssh client/server or both (default).
2015-07-28 12:18:35 -07:00
Robin Schneider a8f991bc07 Make it configurable to only harden ssh client/server or both (default). 2015-07-28 20:42:14 +02:00
Sebastian Gumprich a2c483ace8 Separate system-vars from editable vars.
This change moves variables that can be changed or overridden by the user to the defaults-vars-files, where it belongs.
2015-07-28 18:07:34 +00:00
Christoph Hartmann e0b1068e8c Merge pull request #24 from hardening-io/separate_vars
Separate system-vars from editable vars
2015-07-27 13:25:15 -07:00
Sebastian Gumprich 48fc334f71 Separate system-vars from editable vars
This change moves variables that can be changed or overridden by the user to the defaults-vars-files, where it belongs.
2015-07-27 21:04:38 +00:00
Christoph Hartmann 80d1e44776 Merge pull request #1 from hardening-io/add_test_readme
Add documentation for testing, change value in vars
2015-07-19 04:48:01 -07:00
Sebastian Gumprich daf8e4c45b Add documentation for testing, change value in vars 2015-07-18 20:57:58 +00:00
Sebastian Gumprich dab153eb56 INITIAL 2015-07-02 18:32:22 +00:00
Sebastian Gumprich 5b15d01262 Add correct CONTRIB-file
* Added the correct CONTRIBUTING.MD
* Fixed some typos
* Added Ansible information
2015-06-26 16:52:02 +00:00
Christoph Hartmann 21375d32b5 Merge pull request #22 from hardening-io/contrib
Add correct CONTRIB-file
2015-06-26 07:59:51 -07:00
Christoph Hartmann 4e9e10fd37 Merge pull request #21 from hardening-io/add_galaxy_badge
Add Ansible Galaxy badge
2015-06-22 23:22:25 -07:00
Sebastian Gumprich 2f0cb6f320 Add Ansible Galaxy badge 2015-06-22 16:36:12 +00:00
Sebastian Gumprich 53c67839c0 Add Ansible Galaxy badge 2015-06-18 12:17:33 +00:00
Sebastian Gumprich a9d1a8f56e Merge pull request #20 from hardening-io/fix-playbook-path
fix configuration of playbook path
2015-06-11 11:02:55 +00:00
Christoph Hartmann 6427879bc9 fix configuration of playbook path 2015-06-01 13:48:02 +02:00
Christoph Hartmann ee61f764c7 Merge pull request #19 from hardening-io/debian_install_script
Debian install script
2015-05-08 02:23:16 -07:00
Sebastian Gumprich 79760a1d96 Fix Typo again 2015-05-04 20:47:15 +00:00
Sebastian Gumprich 5b36439209 Fix Typo 2015-05-04 20:40:51 +00:00
Sebastian Gumprich da7e4924d3 Change location of Ansible install-script for Debian based systems
Right now the kitchen_debian.yml downloads a shell script
from my personal repository. The script should be in this repository.
2015-05-04 20:38:31 +00:00
Christoph Hartmann c05a8afa67 minor: update badge in readme 2015-05-01 11:25:17 +02:00
Sebastian Gumprich db7cc1d0b7 Merge pull request #17 from hardening-io/badges
add badges
2015-04-30 18:21:05 +00:00
Dominik Richter 57df3f966d Merge pull request #16 from hardening-io/fix-yaml
fix meta.yml
2015-04-30 20:19:59 +02:00
Sebastian Gumprich ecd014b868 Merge pull request #18 from hardening-io/author
add self as author
2015-04-30 18:18:52 +00:00
Christoph Hartmann 3f0df08bd2 add self as author 2015-04-30 19:44:59 +02:00
Christoph Hartmann b45cc6129d add badges 2015-04-30 19:40:32 +02:00
Christoph Hartmann c9e45e769c fix yaml 2015-04-30 19:20:52 +02:00
Christoph Hartmann 36897f47f7 Merge pull request #14 from hardening-io/meta_information
Add meta-information for Ansible Galaxy
2015-04-30 09:49:04 -07:00
Sebastian Gumprich e059a33998 Add meta-information for Ansible Galaxy 2015-04-30 18:43:15 +00:00
Sebastian Gumprich 085c0dc97b Merge pull request #15 from hardening-io/chris-rock-patch-1
add more information to changelog
2015-04-30 16:47:20 +00:00
Christoph Hartmann 5cb11a656f add more information to changelog 2015-04-30 18:44:40 +02:00
Christoph Hartmann e11ef2bc3b Merge pull request #13 from hardening-io/rndmh3ro-changelog
Update CHANGELOG.md
2015-04-30 09:30:12 -07:00
Sebastian Gumprich 9e626240ef Update CHANGELOG.md 2015-04-30 15:57:12 +00:00
Christoph Hartmann 2f8acabef9 Merge pull request #12 from hardening-io/readme_update_var_docs
Update variable-documentation
2015-04-30 08:46:28 -07:00
Sebastian Gumprich 2028017cd9 Update variable-documentation
Make it hopefully more readable.
2015-04-30 15:31:16 +00:00
Sebastian Gumprich e2fed6bcb6 Merge pull request #9 from hardening-io/travis
add travis config for ansible
2015-04-28 14:52:49 +00:00
Christoph Hartmann ad4a8a0d16 Merge pull request #11 from hardening-io/use_handler
Add handler to restart ssh only if necessary. Fix #6
2015-04-28 07:52:28 -07:00
Sebastian Gumprich ef275a4e85 Add handler to restart ssh only if necessary. Fix #6 2015-04-28 16:47:12 +00:00
Sebastian Gumprich 1d4dac147b Merge pull request #8 from hardening-io/fix-kitchen-tests
update .kitchen.yml to find playbook role in tests
2015-04-28 14:49:15 +00:00
Sebastian Gumprich 3d442bed0a Merge pull request #10 from hardening-io/contributing
add more descriptions
2015-04-28 14:48:04 +00:00
Christoph Hartmann 0c9f12912a Merge pull request #5 from hardening-io/oracle_tests
Oracle support
2015-04-28 07:30:42 -07:00
Christoph Hartmann 1c2bb5d005 add more descriptions 2015-04-28 16:26:45 +02:00
Christoph Hartmann 7408765a07 remove idempotence test 2015-04-28 16:20:18 +02:00
Christoph Hartmann 7683a21fef update roles path 2015-04-28 15:42:07 +02:00
Christoph Hartmann 425e7d322f add travis config for ansible 2015-04-28 11:01:31 +02:00
Christoph Hartmann 2c6fdb663b update .kitchen.yml to find playbook role in tests 2015-04-28 10:55:44 +02:00
Sebastian Gumprich 45eb0e2f38 Oracle support
- Add check for Oracle operating systems

- Add minus sign to remove whitespace
2015-04-27 21:14:50 +00:00
Christoph Hartmann ccf58ca2e7 Merge pull request #4 from hardening-io/remove_vagrantfile
Remove custom Vagrantfile-reference. Fix #2
2015-04-23 20:35:16 +02:00
Sebastian Gumprich 3567508622 Remove custom Vagrantfile-reference. Fix #2 2015-04-23 20:33:51 +00:00
Sebastian Gumprich 21fb8867ed Remove custom Vagrantfile-reference. Fix #2 2015-04-23 20:04:29 +00:00
Sebastian Gumprich bb703c962a INITIAL 2015-04-23 18:30:41 +00:00
Sebastian Gumprich 3e4a6b5291 Merge pull request #1 from hardening-io/fixes
Fix missing gem
2015-04-23 18:17:34 +00:00
Christoph Hartmann 3356962377 Merge pull request #3 from hardening-io/remove_vagrantfile
Remove custom Vagrantfile-reference. Fix #2
2015-04-23 20:11:36 +02:00
Christoph Hartmann 54b34eb0ed remove unused gems 2015-04-23 19:46:30 +02:00
Christoph Hartmann 4bdbf25c20 bugfix: add thor-foodcritic 2015-04-23 19:46:14 +02:00
Sebastian Gumprich a959176420 Update .kitchen_debian.yml
Added missing "platforms" parameter.
2015-04-23 17:20:26 +00:00
211 changed files with 10455 additions and 1210 deletions

No files matched your search

+17
View File
@@ -0,0 +1,17 @@
---
# .ansible-lint
# exclude_paths included in this file are parsed relative to this file's location
# and not relative to the CWD of execution. CLI arguments passed to the --exclude
# option will be parsed relative to the CWD of execution.
exclude_paths:
- .cache/ # implicit unless exclude_paths is defined in config
- .yamllint
- ../molecule/
- ../.github/
skip_list:
- fqcn-builtins
mock_roles:
- geerlingguy.git
- nginxinc.nginx
+35
View File
@@ -0,0 +1,35 @@
# These files are text and should be normalized (Convert crlf => lf)
*.php text eol=lf
*.css text eol=lf
*.js text eol=lf
*.htm text eol=lf
*.html text eol=lf
*.xml text eol=lf
*.txt text eol=lf
*.ini text eol=lf
*.inc text eol=lf
.htaccess text eol=lf
*.pp text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.sh text eol=lf
# These files are binary and should be left untouched
# (binary is a macro for -text -diff)
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.mov binary
*.mp4 binary
*.mp3 binary
*.flv binary
*.fla binary
*.swf binary
*.gz binary
*.zip binary
*.7z binary
*.ttf binary
*.rpm binary
+49
View File
@@ -0,0 +1,49 @@
---
name: Bug report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**Expected behavior**
A clear and concise description of what you expected to happen.
**Actual behavior**
<!--- Paste verbatim command output between quotes -->
```paste below
```
**Example Playbook**
<!--- Paste an example playbook that can be used to reproduce the problem between quotes -->
```paste below
```
**OS / Environment**
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
**Ansible Version**
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
```
**Role Version**
<!--- Paste version of the role between quotes -->
```paste below
```
**Additional context**
Add any other context about the problem here.
+16
View File
@@ -0,0 +1,16 @@
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
+12
View File
@@ -0,0 +1,12 @@
---
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
+22
View File
@@ -0,0 +1,22 @@
---
mysql_hardening:
- 'roles/mysql_hardening/**'
- 'molecule/mysql_hardening/**'
- '.github/workflows/mysql_hardening.yml'
os_hardening:
- 'roles/os_hardening/**'
- 'molecule/os_hardening/**'
- '.github/workflows/os_hardening.yml'
ssh_hardening:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening/**'
- 'molecule/ssh_hardening_custom_tests/**'
- '.github/workflows/ssh_hardening.yml'
- '.github/workflows/ssh_hardening_custom_tests.yml'
nginx_hardening:
- 'roles/nginx_hardening/**'
- 'molecule/nginx_hardening/**'
- '.github/workflows/nginx_hardening.yml'
+24
View File
@@ -0,0 +1,24 @@
---
name: Ansible Lint # feel free to pick your own name
on: # yamllint disable-line rule:truthy
# Run CI against all pushes (direct commits, also merged PRs), Pull Requests
push:
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
jobs:
ansible-lint:
runs-on: ubuntu-latest
steps:
# Important: This sets up your GITHUB_WORKSPACE environment variable
- uses: actions/checkout@v3
- name: Lint Ansible Playbook
# replace "master" with any valid ref
uses: ansible/ansible-lint-action@main
with:
path: "roles/"
+14
View File
@@ -0,0 +1,14 @@
---
name: "Enforce PR labels"
on: # yamllint disable-line rule:truthy
pull_request_target:
types: [labeled, unlabeled, opened, edited, synchronize]
jobs:
enforce-label:
if: github.repository == 'dev-sec/ansible-collection-hardening'
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@main
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
+45
View File
@@ -0,0 +1,45 @@
---
name: Publish collection to Ansible Galaxy
on: # yamllint disable-line rule:truthy
release:
types:
- published
jobs:
deploy:
if: github.repository == 'dev-sec/ansible-collection-hardening'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# deploy the collection first, because if it fails, we don't want
# to update the galaxy.yml
- name: Deploy the collection
uses: artis3n/ansible_galaxy_collection@v2
with:
api_key: ${{ secrets.GALAXY_API_KEY }}
galaxy_version: ${{ github.event.release.tag_name }}
# checkout master instead of the release-tag so we can push the galaxy.yml
- uses: actions/checkout@v3
with:
ref: master
- name: update galaxy.yml with new version
uses: microsoft/variable-substitution@v1
with:
files: 'galaxy.yml'
env:
version: "${{ github.event.release.tag_name }}"
- name: push galaxy.yml
uses: github-actions-x/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
push-branch: 'master'
commit-message: 'update galaxy.yml with new version'
force-add: 'true'
files: galaxy.yml
name: dev-sec CI
email: [email protected]
+82
View File
@@ -0,0 +1,82 @@
---
name: "devsec.mysql_hardening"
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches: [master]
paths:
- 'roles/mysql_hardening/**'
- 'molecule/mysql_hardening/**'
- '.github/workflows/mysql_hardening.yml'
pull_request:
branches: [master]
paths:
- 'roles/mysql_hardening/**'
- 'molecule/mysql_hardening/**'
- '.github/workflows/mysql_hardening.yml'
jobs:
build:
runs-on: ubuntu-18.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- centos7
- centosstream8
- centosstream9
- rocky8
- rocky9
- ubuntu1804
- ubuntu2004
- ubuntu2204
- debian10
- debian11
# - amazon # geerlingguy.mysql does not support fedora
# - arch # needs to be fixed
# - opensuse_tumbleweed # needs to be fixed
# - fedora # geerlingguy.mysql does not support fedora
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
sudo apt install git
python -m pip install --no-cache-dir --upgrade pip
pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Create default collection path symlink
run: |
mkdir -p /home/runner/.ansible
ln -s /home/runner/work/ansible-os-hardening/ansible-os-hardening /home/runner/.ansible/collections
# that was a hard one to fix. robert did it thankfully
# https://github.com/robertdebock/ansible-role-mysql/commit/7562e99099b06282391ab7ed102b393a0406d212
- name: disable apparmor on debian systems
run: |
set -x
sudo apt-get install apparmor-profiles
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
if: ${{ startsWith(matrix.molecule_distro, 'Debian') }}
- name: Test with molecule
run: |
molecule --version
molecule test -s mysql_hardening
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
working-directory: ansible_collections/devsec/hardening
+71
View File
@@ -0,0 +1,71 @@
---
name: "devsec.nginx_hardening"
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches: [master]
paths:
- 'roles/nginx_hardening/**'
- 'molecule/nginx_hardening/**'
- '.github/workflows/nginx_hardening.yml'
pull_request:
branches: [master]
paths:
- 'roles/nginx_hardening/**'
- 'molecule/nginx_hardening/**'
- '.github/workflows/nginx_hardening.yml'
jobs:
build:
runs-on: ubuntu-18.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- centos7
- centosstream8
- centosstream9
- rocky8
- rocky9
- ubuntu1804
- ubuntu2004
- ubuntu2204
- debian10
- debian11
- amazon
# - arch # needs to be fixed
# - opensuse_tumbleweed # needs to be fixed
# - fedora # no support from geerlingguy role
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
sudo apt install git
python -m pip install --no-cache-dir --upgrade pip
pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Create default collection path symlink
run: |
mkdir -p /home/runner/.ansible
ln -s /home/runner/work/ansible-os-hardening/ansible-os-hardening /home/runner/.ansible/collections
- name: Test with molecule
run: |
molecule --version
molecule test -s nginx_hardening
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
working-directory: ansible_collections/devsec/hardening
+73
View File
@@ -0,0 +1,73 @@
---
name: "devsec.os_hardening"
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches: [master]
paths:
- 'roles/os_hardening/**'
- 'molecule/os_hardening/**'
- '.github/workflows/os_hardening.yml'
pull_request:
branches: [master]
paths:
- 'roles/os_hardening/**'
- 'molecule/os_hardening/**'
- '.github/workflows/os_hardening.yml'
jobs:
build:
runs-on: ubuntu-18.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- centos7
- centosstream8
- centosstream9
- rocky8
- rocky9
- ubuntu1804
- ubuntu2004
- ubuntu2204
- debian10
- debian11
- amazon
- opensuse_tumbleweed
# - arch # needs to be fixed
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
sudo apt install git
python -m pip install --no-cache-dir --upgrade pip
pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Create default collection path symlink
run: |
mkdir -p /home/runner/.ansible
ln -s /home/runner/work/ansible-os-hardening/ansible-os-hardening /home/runner/.ansible/collections
- name: Test with molecule
run: |
if [ "$MOLECULE_DISTRO" = "opensuse_tumbleweed" ]; then
export MOLECULE_DOCKER_COMMAND="/usr/lib/systemd/systemd"
fi
molecule --version
molecule test -s os_hardening
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
working-directory: ansible_collections/devsec/hardening
+57
View File
@@ -0,0 +1,57 @@
---
name: "devsec.os_hardening VM"
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches: [master]
paths:
- 'roles/os_hardening/**'
- 'molecule/os_hardening_vm/**'
- '.github/workflows/os_hardening_vm.yml'
pull_request:
branches: [master]
paths:
- 'roles/os_hardening/**'
- 'molecule/os_hardening_vm/**'
- '.github/workflows/os_hardening_vm.yml'
jobs:
build:
runs-on: self-hosted
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- centos7
- centosstream8
- centosstream9
- rocky8
- rocky9
- ubuntu1804
- ubuntu2004
- ubuntu2204
- debian10
- debian11
# - opensuse42 # opensuse currently cannot get an ip address
# - arch - arch is currently not supported by cinc-auditor
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Create default collection path symlink
run: |
mkdir -p /home/runner/.ansible
ln -fs /opt/actions-runner/_work/ansible-collection-hardening/ansible-collection-hardening/ansible_collections /home/runner/.ansible/collections
- name: Test with molecule
run: |
molecule --version
molecule test -s os_hardening_vm
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
working-directory: ansible_collections/devsec/hardening
+26
View File
@@ -0,0 +1,26 @@
---
# https://github.com/creyD/prettier_action
name: Prettier markdown files
on: # yamllint disable-line rule:truthy
push:
branches: [master]
paths:
- '**.md'
jobs:
prettier-md:
if: github.repository == 'dev-sec/ansible-collection-hardening'
runs-on: ubuntu-latest
timeout-minutes: 1
steps:
- name: Git checkout
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- name: Prettify code
uses: creyD/[email protected]
with:
prettier_options: --write {**/*,*}.md
+80
View File
@@ -0,0 +1,80 @@
---
name: New release
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches:
- master
jobs:
generate_changelog:
name: create release draft
if: github.repository == 'dev-sec/ansible-collection-hardening'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: master
- name: 'Get Previous tag'
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@master"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: calculate next version
id: version
uses: patrickjahns/version-drafter-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Generate changelog
uses: charmixer/auto-changelog-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
future_release: ${{ steps.version.outputs.next-version }}
# this excludes all versions prior to the collection-release
# since they break the changelog generation with the error:
# "No common ancestor between ... and $version"
exclude_tags_regex: '[0-6]\.\d\.\d'
issue_line_labels: mysql_hardening,os_hardening,ssh_hardening,nginx_hardening
- name: push changelog
uses: github-actions-x/[email protected]
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
push-branch: 'master'
commit-message: 'update changelog'
force-add: 'true'
files: CHANGELOG.md
name: dev-sec CI
email: [email protected]
- name: Generate changelog for the release
run: |
sed '/## \[${{ steps.previoustag.outputs.tag }}\]/Q' CHANGELOG.md > CHANGELOGRELEASE.md
- name: Read CHANGELOG.md
id: package
uses: juliangruber/read-file-action@v1
with:
path: ./CHANGELOGRELEASE.md
- name: Delete old drafts
uses: hugo19941994/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release draft
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
release_name: ${{ steps.version.outputs.next-version }}
tag_name: ${{ steps.version.outputs.next-version }}
body: |
${{ steps.package.outputs.content }}
draft: true
+74
View File
@@ -0,0 +1,74 @@
---
name: "devsec.ssh_hardening"
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches: [master]
paths:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening/**'
- '.github/workflows/ssh_hardening.yml'
pull_request:
branches: [master]
paths:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening/**'
- '.github/workflows/ssh_hardening.yml'
jobs:
build:
runs-on: ubuntu-18.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- centos7
- centosstream8
- centosstream9
- rocky8
- rocky9
- fedora
- ubuntu1804
- ubuntu2004
- ubuntu2204
- debian10
- debian11
- amazon
# - arch # needs to be fixed
# - opensuse_tumbleweed # baseline is not compatible with suse
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
sudo apt install git
python -m pip install --no-cache-dir --upgrade pip
pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Create default collection path symlink
run: |
mkdir -p /home/runner/.ansible
ln -s /home/runner/work/ansible-os-hardening/ansible-os-hardening /home/runner/.ansible/collections
- name: Test with molecule
run: |
if [ "$MOLECULE_DISTRO" = "opensuse_tumbleweed" ]; then
export MOLECULE_DOCKER_COMMAND="/usr/lib/systemd/systemd"
fi
molecule --version
molecule test -s ssh_hardening
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
working-directory: ansible_collections/devsec/hardening
@@ -0,0 +1,74 @@
---
name: "devsec.ssh_hardening with custom tests"
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches: [master]
paths:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening_custom_tests/**'
- '.github/workflows/ssh_hardening_custom_tests.yml'
pull_request:
branches: [master]
paths:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening_custom_tests/**'
- '.github/workflows/ssh_hardening_custom_tests.yml'
jobs:
build:
runs-on: ubuntu-18.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- centos7
- centosstream8
- centosstream9
- rocky8
- rocky9
- fedora
- ubuntu1804
- ubuntu2004
- ubuntu2204
- debian10
- debian11
- amazon
# - arch # needs to be fixed
# - opensuse_tumbleweed # baseline is not compatible with suse
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
sudo apt install git
python -m pip install --no-cache-dir --upgrade pip
pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Create default collection path symlink
run: |
mkdir -p /home/runner/.ansible
ln -s /home/runner/work/ansible-os-hardening/ansible-os-hardening /home/runner/.ansible/collections
- name: Test with molecule
run: |
if [ "$MOLECULE_DISTRO" = "opensuse_tumbleweed" ]; then
export MOLECULE_DOCKER_COMMAND="/usr/lib/systemd/systemd"
fi
molecule --version
molecule converge -s ssh_hardening_custom_tests
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
working-directory: ansible_collections/devsec/hardening
+1
View File
@@ -1,3 +1,4 @@
.kitchen
hosts
Gemfile.lock
.venv
+6
View File
@@ -0,0 +1,6 @@
[submodule "roles/windows_hardening"]
path = roles/windows_hardening
url = https://github.com/dev-sec/ansible-windows-hardening/
[submodule "roles/apache_hardening"]
path = roles/apache_hardening
url = https://github.com/dev-sec/ansible-apache-hardening/
-76
View File
@@ -1,76 +0,0 @@
---
driver:
name: vagrant
driver_config:
http_proxy: <%= ENV['http_proxy'] || nil %>
https_proxy: <%= ENV['https_proxy'] || nil %>
vagrantfiles:
- kitchen_vagrant_block.rb
provisioner:
name: ansible_playbook
hosts: all
require_ansible_repo: false
require_ansible_omnibus: true
require_chef_for_busser: false
require_ruby_for_busser: false
ansible_verbose: true
roles_path: ../ansible-os-hardening/
playbook: default.yml
http_proxy: <%= ENV['http_proxy'] || nil %>
https_proxy: <%= ENV['https_proxy'] || nil %>
transport:
max_ssh_sessions: 5
platforms:
- name: ubuntu-14.04
driver_config:
box: opscode-ubuntu-14.04
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-14.04_chef-provisionerless.box
- name: ubuntu-16.04
driver_config:
box: opscode-ubuntu-16.04
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-16.04_chef-provisionerless.box
- name: centos-6.4
driver_config:
box: opscode-centos-6.4
box_url: https://opscode-vm.s3.amazonaws.com/vagrant/opscode_centos-6.4_provisionerless.box
- name: centos-6.5
driver_config:
box: opscode-centos-6.5
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box
- name: centos-6.8
driver_config:
box: bento/centos-6.8
- name: centos-7
driver_config:
box: bento/centos-7.2
- name: oracle-6.4
driver_config:
box: oracle-6.4
box_url: https://storage.us2.oraclecloud.com/v1/istoilis-istoilis/vagrant/oel64-64.box
- name: oracle-6.5
driver_config:
box: oracle-6.5
box_url: https://storage.us2.oraclecloud.com/v1/istoilis-istoilis/vagrant/oel65-64.box
- name: oracle-7
driver_config:
box: boxcutter/ol72
- name: debian-7
driver_config:
box: debian-7
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_debian-7.8_chef-provisionerless.box
- name: debian-8
driver_config:
box: debian-8
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_debian-8.1_chef-provisionerless.box
verifier:
name: inspec
sudo: true
inspec_tests:
- https://github.com/dev-sec/linux-baseline/
suites:
- name: os
-71
View File
@@ -1,71 +0,0 @@
---
driver:
name: docker
use_sudo: false
privileged: true
http_proxy: <%= ENV['http_proxy'] || nil %>
https_proxy: <%= ENV['https_proxy'] || nil %>
transport:
max_ssh_sessions: 5
provisioner:
name: ansible_playbook
hosts: all
require_ansible_repo: false
require_chef_for_busser: false
require_ruby_for_busser: false
ansible_verbose: true
ansible_diff: true
hosts: all
roles_path: ../ansible-os-hardening/
http_proxy: <%= ENV['http_proxy'] || nil %>
https_proxy: <%= ENV['https_proxy'] || nil %>
playbook: default.yml
platforms:
- name: centos6-ansible-latest
driver:
image: rndmh3ro/docker-centos6-ansible:latest
platform: centos
- name: centos7-ansible-latest
driver:
image: rndmh3ro/docker-centos7-ansible:latest
platform: centos
- name: oracle6-ansible-latest
driver:
image: rndmh3ro/docker-oracle6-ansible:latest
platform: centos
- name: oracle7-ansible-latest
driver:
image: rndmh3ro/docker-oracle7-ansible:latest
platform: centos
- name: ubuntu1404-ansible-latest
driver:
image: rndmh3ro/docker-ubuntu1404-ansible:latest
platform: ubuntu
- name: ubuntu1604-ansible-latest
driver:
image: rndmh3ro/docker-ubuntu1604-ansible:latest
platform: ubuntu
- name: debian7-ansible-latest
driver:
image: rndmh3ro/docker-debian7-ansible:latest
platform: debian
- name: debian8-ansible-latest
driver:
image: rndmh3ro/docker-debian8-ansible:latest
platform: debian
- name: debian9-ansible-latest
driver:
image: rndmh3ro/docker-debian9-ansible:latest
platform: debian
verifier:
name: inspec
sudo: true
inspec_tests:
- https://github.com/dev-sec/tests-os-hardening
suites:
- name: os
+1
View File
@@ -0,0 +1 @@
CHANGELOG.md
-61
View File
@@ -1,61 +0,0 @@
---
services: docker
env:
- distro: centos6
version: latest
init: /sbin/init
- distro: centos7
init: /usr/lib/systemd/systemd
run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
version: latest
- distro: oracle6
version: latest
init: /sbin/init
- distro: oracle7
init: /usr/lib/systemd/systemd
run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
version: latest
- distro: ubuntu1604
version: latest
init: /lib/systemd/systemd
run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
- distro: ubuntu1404
version: latest
init: /sbin/init
- distro: debian7
version: latest
init: /sbin/init
- distro: debian8
version: latest
init: /sbin/init
- distro: debian9
version: latest
init: /lib/systemd/systemd
run_opts: "--privileged --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro"
before_install:
# Pull container
- 'docker pull rndmh3ro/docker-${distro}-ansible:${version}'
script:
- container_id=$(mktemp)
# Run container in detached state.
- 'docker run --detach --volume="${PWD}":/etc/ansible/roles/ansible-os-hardening:ro ${run_opts} rndmh3ro/docker-${distro}-ansible:${version} "${init}" > "${container_id}"'
# Test role.
- 'docker exec "$(cat ${container_id})" ansible-playbook /etc/ansible/roles/ansible-os-hardening/default.yml --skip-tags "sysctl"'
# Verify role
- 'inspec exec https://github.com/dev-sec/linux-baseline/ -t docker://$(cat ${container_id}) --controls=os-01 os-02 os-03 os-04 os-05 os-06 os-07 package-01 package-02 package-03 package-04 package-05 package-06'
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/
+26
View File
@@ -0,0 +1,26 @@
---
# Based on ansible-lint config
extends: default
rules:
braces:
max-spaces-inside: 1
level: error
brackets:
max-spaces-inside: 1
level: error
colons:
max-spaces-after: -1
level: error
commas:
max-spaces-after: -1
level: error
empty-lines:
max: 3
level: error
hyphens:
level: error
key-duplicates: enable
line-length: disable
new-lines:
type: unix
+759 -129
View File
@@ -1,179 +1,809 @@
# Change Log
# Changelog
## [4.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/4.0.0) (2017-03-14)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/3.2.0...4.0.0)
## [8.2.1](https://github.com/dev-sec/ansible-collection-hardening/tree/8.2.1) (2022-10-20)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/8.2.0...8.2.1)
**Fixed bugs:**
- do not manage trusted user ca keys if none exist [\#580](https://github.com/dev-sec/ansible-collection-hardening/pull/580) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([hollow](https://github.com/hollow))
**Closed issues:**
- Trying to run the os\_hardening on Debian 11, but fails on privilege escalation [\#587](https://github.com/dev-sec/ansible-collection-hardening/issues/587)
- auditd increasing logfiles [\#586](https://github.com/dev-sec/ansible-collection-hardening/issues/586)
- Path to nginx.conf should be configurable in a variable [\#577](https://github.com/dev-sec/ansible-collection-hardening/issues/577)
**Merged pull requests:**
- run tests only on pushes to master or to PRs [\#581](https://github.com/dev-sec/ansible-collection-hardening/pull/581) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
## [8.2.0](https://github.com/dev-sec/ansible-collection-hardening/tree/8.2.0) (2022-09-08)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/8.1.0...8.2.0)
**Implemented enhancements:**
- Description of the Ansible roles of dev-sec says "This Ansible playbook" [\#97](https://github.com/dev-sec/ansible-os-hardening/issues/97)
- install initramfs-tools [\#114](https://github.com/dev-sec/ansible-os-hardening/pull/114) ([rndmh3ro](https://github.com/rndmh3ro))
- omit empty variables [\#106](https://github.com/dev-sec/ansible-os-hardening/pull/106) ([rndmh3ro](https://github.com/rndmh3ro))
**Fixed bugs:**
- The role fails when conditionally included [\#105](https://github.com/dev-sec/ansible-os-hardening/issues/105)
- omit empty variables [\#106](https://github.com/dev-sec/ansible-os-hardening/pull/106) ([rndmh3ro](https://github.com/rndmh3ro))
- Could not find gem 'ruby \(\>= 2.1.0\)' [\#116](https://github.com/dev-sec/ansible-os-hardening/issues/116)
- The task sysctl fails when /etc/initramfs-tools is not present [\#111](https://github.com/dev-sec/ansible-os-hardening/issues/111)
- Deprecation warning always\_run [\#103](https://github.com/dev-sec/ansible-os-hardening/issues/103)
- Add nginx variables for config-path and owner/group [\#578](https://github.com/dev-sec/ansible-collection-hardening/pull/578) [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([hagenbauer](https://github.com/hagenbauer))
- add centos \>8 Support [\#573](https://github.com/dev-sec/ansible-collection-hardening/pull/573) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([sbaerlocher](https://github.com/sbaerlocher))
- add always-tag to include so other tags can be used [\#569](https://github.com/dev-sec/ansible-collection-hardening/pull/569) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
**Closed issues:**
- Error running on RHEL 7 due to syntax issues [\#112](https://github.com/dev-sec/ansible-os-hardening/issues/112)
- disable password age [\#109](https://github.com/dev-sec/ansible-os-hardening/issues/109)
- Bug using os\_hardening "tags" [\#567](https://github.com/dev-sec/ansible-collection-hardening/issues/567)
## [8.1.0](https://github.com/dev-sec/ansible-collection-hardening/tree/8.1.0) (2022-08-26)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/8.0.0...8.1.0)
**Closed issues:**
- dev-sec CI bot should not update CHANGELOG.md in fork repository [\#566](https://github.com/dev-sec/ansible-collection-hardening/issues/566)
**Merged pull requests:**
- change shadow owner in debian systems [\#117](https://github.com/dev-sec/ansible-os-hardening/pull/117) ([rndmh3ro](https://github.com/rndmh3ro))
- Rhel7 [\#113](https://github.com/dev-sec/ansible-os-hardening/pull/113) ([tyrken](https://github.com/tyrken))
- use new Docker images [\#110](https://github.com/dev-sec/ansible-os-hardening/pull/110) ([rndmh3ro](https://github.com/rndmh3ro))
- Don’t refer to this role as "playbook" in the role description [\#104](https://github.com/dev-sec/ansible-os-hardening/pull/104) ([ypid](https://github.com/ypid))
- update supported OS in meta and fix linting [\#572](https://github.com/dev-sec/ansible-collection-hardening/pull/572) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- fix misleading comment [\#571](https://github.com/dev-sec/ansible-collection-hardening/pull/571) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([donestefan](https://github.com/donestefan))
- only run release actions on upstream-repo [\#568](https://github.com/dev-sec/ansible-collection-hardening/pull/568) ([rndmh3ro](https://github.com/rndmh3ro))
## [3.2.0](https://github.com/dev-sec/ansible-os-hardening/tree/3.2.0) (2016-10-24)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/3.1.0...3.2.0)
## [8.0.0](https://github.com/dev-sec/ansible-collection-hardening/tree/8.0.0) (2022-08-22)
**Fixed bugs:**
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.16.0...8.0.0)
- CentOS 7 selinux dependencies [\#102](https://github.com/dev-sec/ansible-os-hardening/issues/102)
- ubuntu xenial warning during activate gpg-check for yum-repos [\#99](https://github.com/dev-sec/ansible-os-hardening/issues/99)
- rhel\_system\_auth.j2 is still using pam\_passwdqc.so for CentOS 7 [\#98](https://github.com/dev-sec/ansible-os-hardening/issues/98)
- Enable pam\_pwquality in rhel-family \> 7 [\#73](https://github.com/dev-sec/ansible-os-hardening/issues/73)
- "irc" user always changed after reboot [\#53](https://github.com/dev-sec/ansible-os-hardening/issues/53)
**Breaking changes:**
**Merged pull requests:**
- update template [\#101](https://github.com/dev-sec/ansible-os-hardening/pull/101) ([rndmh3ro](https://github.com/rndmh3ro))
- fix deprecation warning for undefined error. \#99 [\#100](https://github.com/dev-sec/ansible-os-hardening/pull/100) ([rndmh3ro](https://github.com/rndmh3ro))
- add rhel7 pam\_pwquality. fix \#73 [\#94](https://github.com/dev-sec/ansible-os-hardening/pull/94) ([rndmh3ro](https://github.com/rndmh3ro))
## [3.1.0](https://github.com/dev-sec/ansible-os-hardening/tree/3.1.0) (2016-08-03)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/3.1...3.1.0)
## [3.1](https://github.com/dev-sec/ansible-os-hardening/tree/3.1) (2016-07-27)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/3.0.0...3.1)
- change default to allow SFTP [\#564](https://github.com/dev-sec/ansible-collection-hardening/pull/564) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([schurzi](https://github.com/schurzi))
**Implemented enhancements:**
- Supports --check mode [\#93](https://github.com/dev-sec/ansible-os-hardening/pull/93) ([conorsch](https://github.com/conorsch))
- Adds support for CentOS 7 [\#91](https://github.com/dev-sec/ansible-os-hardening/pull/91) ([conorsch](https://github.com/conorsch))
- Docker [\#90](https://github.com/dev-sec/ansible-os-hardening/pull/90) ([rndmh3ro](https://github.com/rndmh3ro))
- debian 8 support [\#88](https://github.com/dev-sec/ansible-os-hardening/pull/88) ([rndmh3ro](https://github.com/rndmh3ro))
- Ufw manage defaults [\#85](https://github.com/dev-sec/ansible-os-hardening/pull/85) ([fitz123](https://github.com/fitz123))
- replace ignore\_errors to failed\_when to supress ugly error warnings [\#81](https://github.com/dev-sec/ansible-os-hardening/pull/81) ([fitz123](https://github.com/fitz123))
- fix bare variables usage for loops [\#79](https://github.com/dev-sec/ansible-os-hardening/pull/79) ([fitz123](https://github.com/fitz123))
**Fixed bugs:**
- Centos 7.1 fails at \[Change various sysctl-settings on rhel-hosts...\] [\#74](https://github.com/dev-sec/ansible-os-hardening/issues/74)
- Hardening fails on Centos 7.1 at task 'minimize access' [\#71](https://github.com/dev-sec/ansible-os-hardening/issues/71)
- add possibility to keep .netrc files in users homedir [\#563](https://github.com/dev-sec/ansible-collection-hardening/pull/563) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([PhilippFunk](https://github.com/PhilippFunk))
- rework filesystem hardening [\#555](https://github.com/dev-sec/ansible-collection-hardening/pull/555) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([divialth](https://github.com/divialth))
**Closed issues:**
- Permissions on /etc/shadow can lock out GUI users [\#86](https://github.com/dev-sec/ansible-os-hardening/issues/86)
- network related sysctl rewritten by ufw in ubuntu [\#82](https://github.com/dev-sec/ansible-os-hardening/issues/82)
- ansible \>= 2.0 complains: Using bare variables is deprecated [\#78](https://github.com/dev-sec/ansible-os-hardening/issues/78)
- Norm-Audit-Hardening-Audit [\#76](https://github.com/dev-sec/ansible-os-hardening/issues/76)
- Error in Task 'Create sshd\_config and set permissions to root/600' [\#565](https://github.com/dev-sec/ansible-collection-hardening/issues/565) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)]
- \[ssh\_hardening\] Debian 11 - Ansible cannot transfer files [\#557](https://github.com/dev-sec/ansible-collection-hardening/issues/557)
- Add the old SFTP-Reminder to the stable ssh\_hardening role for ansible [\#521](https://github.com/dev-sec/ansible-collection-hardening/issues/521)
**Merged pull requests:**
## [7.16.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.16.0) (2022-08-16)
- Fix a formatting issue in readme. [\#92](https://github.com/dev-sec/ansible-os-hardening/pull/92) ([vivekagr](https://github.com/vivekagr))
- Permits overriding permissions on /etc/shadow [\#89](https://github.com/dev-sec/ansible-os-hardening/pull/89) ([conorsch](https://github.com/conorsch))
## [3.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/3.0.0) (2016-03-13)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/2.0.0...3.0.0)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.15.1...7.16.0)
**Implemented enhancements:**
- update platforms in meta-file [\#69](https://github.com/dev-sec/ansible-os-hardening/pull/69) ([rndmh3ro](https://github.com/rndmh3ro))
- add webhook for ansible galaxy [\#68](https://github.com/dev-sec/ansible-os-hardening/pull/68) ([rndmh3ro](https://github.com/rndmh3ro))
- Move sysctl vars to defaults [\#67](https://github.com/dev-sec/ansible-os-hardening/pull/67) ([rndmh3ro](https://github.com/rndmh3ro))
- make sys\_uid and sys\_gid configurable [\#62](https://github.com/dev-sec/ansible-os-hardening/pull/62) ([rndmh3ro](https://github.com/rndmh3ro))
- Ansible 2.0 support [\#59](https://github.com/dev-sec/ansible-os-hardening/pull/59) ([rndmh3ro](https://github.com/rndmh3ro))
- use inspec as test framework [\#58](https://github.com/dev-sec/ansible-os-hardening/pull/58) ([chris-rock](https://github.com/chris-rock))
- Packages as attributes [\#57](https://github.com/dev-sec/ansible-os-hardening/pull/57) ([rndmh3ro](https://github.com/rndmh3ro))
- Change categories to tags for upcoming ansible 2.0 [\#56](https://github.com/dev-sec/ansible-os-hardening/pull/56) ([rndmh3ro](https://github.com/rndmh3ro))
- Add SINGLE and PROMPT parameters. [\#55](https://github.com/dev-sec/ansible-os-hardening/pull/55) ([rndmh3ro](https://github.com/rndmh3ro))
- add changelog generator [\#54](https://github.com/dev-sec/ansible-os-hardening/pull/54) ([chris-rock](https://github.com/chris-rock))
- revert debian 9 change, only one tls variable now [\#562](https://github.com/dev-sec/ansible-collection-hardening/pull/562) [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- add posibility to run ssh\_hardening as unprivileged user [\#561](https://github.com/dev-sec/ansible-collection-hardening/pull/561) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([schurzi](https://github.com/schurzi))
- add basic support for ubuntu22.04 [\#554](https://github.com/dev-sec/ansible-collection-hardening/pull/554) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([schurzi](https://github.com/schurzi))
- Add full support for Debian 11 [\#538](https://github.com/dev-sec/ansible-collection-hardening/pull/538) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([addianto](https://github.com/addianto))
**Fixed bugs:**
- Updates "tags" parameters on includes in main.yml [\#66](https://github.com/dev-sec/ansible-os-hardening/pull/66) ([conorsch](https://github.com/conorsch))
- Suid set def var, fix \#64 [\#63](https://github.com/dev-sec/ansible-os-hardening/pull/63) ([rndmh3ro](https://github.com/rndmh3ro))
- ERROR! Include tasks should not specify tags in more than one way [\#60](https://github.com/dev-sec/ansible-os-hardening/pull/60) ([fitz123](https://github.com/fitz123))
- Replace default 2048 bits RSA keypair fails on Ubuntu 20.04 [\#459](https://github.com/dev-sec/ansible-collection-hardening/issues/459)
**Closed issues:**
- Hardening fails on Centos 7.1 at task 'remove suid/sgid bit from all binaries except in system and user whitelist' [\#72](https://github.com/dev-sec/ansible-os-hardening/issues/72)
- ansible 2.0 | "remove suid/sgid" task fails [\#64](https://github.com/dev-sec/ansible-os-hardening/issues/64)
- Custom sysctl [\#50](https://github.com/dev-sec/ansible-os-hardening/issues/50)
- os-hardening: yum gpg-check fails if gpg-check already set [\#556](https://github.com/dev-sec/ansible-collection-hardening/issues/556)
- Ubuntu 22.04 LTS [\#553](https://github.com/dev-sec/ansible-collection-hardening/issues/553)
- Revert nginx ssl-protocol after deprecation of debian9 [\#528](https://github.com/dev-sec/ansible-collection-hardening/issues/528)
- Support for Debian 11 [\#527](https://github.com/dev-sec/ansible-collection-hardening/issues/527)
- Support baseline-control os-14 [\#507](https://github.com/dev-sec/ansible-collection-hardening/issues/507)
## [7.15.1](https://github.com/dev-sec/ansible-collection-hardening/tree/7.15.1) (2022-07-26)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.15.0...7.15.1)
**Fixed bugs:**
- Fix broken mode for /var/log/audit [\#552](https://github.com/dev-sec/ansible-collection-hardening/pull/552) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([hollow](https://github.com/hollow))
**Merged pull requests:**
- Release 3.0.0 [\#75](https://github.com/dev-sec/ansible-os-hardening/pull/75) ([rndmh3ro](https://github.com/rndmh3ro))
- Only run hardening if /var/log/audit exists [\#550](https://github.com/dev-sec/ansible-collection-hardening/pull/550) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([mego22](https://github.com/mego22))
## [2.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/2.0.0) (2015-11-28)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/1.0.0...2.0.0)
## [7.15.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.15.0) (2022-07-11)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.14.3...7.15.0)
**Implemented enhancements:**
- Harden mountpoints [\#531](https://github.com/dev-sec/ansible-collection-hardening/pull/531) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([lbayerlein](https://github.com/lbayerlein))
**Fixed bugs:**
- os\_hardening gpg-check enabled fails on success [\#549](https://github.com/dev-sec/ansible-collection-hardening/issues/549) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
- add VM tests for os\_hardening [\#547](https://github.com/dev-sec/ansible-collection-hardening/pull/547) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([schurzi](https://github.com/schurzi))
- Linting [\#546](https://github.com/dev-sec/ansible-collection-hardening/pull/546) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
## [7.14.3](https://github.com/dev-sec/ansible-collection-hardening/tree/7.14.3) (2022-06-29)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.14.2...7.14.3)
**Closed issues:**
- Fix directory structure. [\#48](https://github.com/dev-sec/ansible-os-hardening/issues/48)
- pam auth update error [\#47](https://github.com/dev-sec/ansible-os-hardening/issues/47)
- Version 7.14.2 not released to Ansible Galaxy [\#544](https://github.com/dev-sec/ansible-collection-hardening/issues/544)
- os\_hardening role: os\_ignore\_users not described in the Readme's variable topic [\#542](https://github.com/dev-sec/ansible-collection-hardening/issues/542)
- doc: incorrect description for ssh\_client\_alive\_count [\#540](https://github.com/dev-sec/ansible-collection-hardening/issues/540)
- 'legacy' branch is mentioned in README, but apparently doesn't exist [\#539](https://github.com/dev-sec/ansible-collection-hardening/issues/539)
- ansible\_role\_name is undefined [\#532](https://github.com/dev-sec/ansible-collection-hardening/issues/532)
- Can't sudo anymore after hardening [\#518](https://github.com/dev-sec/ansible-collection-hardening/issues/518)
- Any planned official support for RHEL/CentOS Stream 9? [\#517](https://github.com/dev-sec/ansible-collection-hardening/issues/517)
**Merged pull requests:**
- Add explicit role-path to kitchen.yml [\#52](https://github.com/dev-sec/ansible-os-hardening/pull/52) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix pam passwdqc template [\#51](https://github.com/dev-sec/ansible-os-hardening/pull/51) ([rndmh3ro](https://github.com/rndmh3ro))
- New dir layout [\#49](https://github.com/dev-sec/ansible-os-hardening/pull/49) ([rndmh3ro](https://github.com/rndmh3ro))
- remove duplicate "update pam" task [\#46](https://github.com/dev-sec/ansible-os-hardening/pull/46) ([fitz123](https://github.com/fitz123))
- Fix stuck in case pam files was updated before by force update [\#45](https://github.com/dev-sec/ansible-os-hardening/pull/45) ([fitz123](https://github.com/fitz123))
- Fix nologin shell path [\#44](https://github.com/dev-sec/ansible-os-hardening/pull/44) ([fitz123](https://github.com/fitz123))
- improved travis-tests to cover more cases [\#42](https://github.com/dev-sec/ansible-os-hardening/pull/42) ([rndmh3ro](https://github.com/rndmh3ro))
- Improve documentation [\#541](https://github.com/dev-sec/ansible-collection-hardening/pull/541) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([schurzi](https://github.com/schurzi))
## [7.14.2](https://github.com/dev-sec/ansible-collection-hardening/tree/7.14.2) (2022-02-28)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.14.1...7.14.2)
**Fixed bugs:**
- debian 9's nginx doesn't support tls1.3 [\#526](https://github.com/dev-sec/ansible-collection-hardening/pull/526) [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- Change permissions of the tmout.sh file [\#520](https://github.com/dev-sec/ansible-collection-hardening/pull/520) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([abejotaR](https://github.com/abejotaR))
## [1.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/1.0.0) (2015-09-01)
**Closed issues:**
- ansible-os-hardening/tasks/minimize\_access.yml [\#38](https://github.com/dev-sec/ansible-os-hardening/issues/38)
- Role configuration. vars/main.yml? [\#34](https://github.com/dev-sec/ansible-os-hardening/issues/34)
- Sysctl reloading [\#18](https://github.com/dev-sec/ansible-os-hardening/issues/18)
- Add conditions for disabling of ip forwarding [\#15](https://github.com/dev-sec/ansible-os-hardening/issues/15)
- Disable System Accounts [\#6](https://github.com/dev-sec/ansible-os-hardening/issues/6)
- No such file directory error triggered by the kernel.unpriviliged\_userns\_clone configuration. [\#514](https://github.com/dev-sec/ansible-collection-hardening/issues/514)
**Merged pull requests:**
- Update kitchen-ansible, remove separate debian install [\#40](https://github.com/dev-sec/ansible-os-hardening/pull/40) ([rndmh3ro](https://github.com/rndmh3ro))
- Add mode to su-binary task. Fix \#38 [\#39](https://github.com/dev-sec/ansible-os-hardening/pull/39) ([rndmh3ro](https://github.com/rndmh3ro))
- update common kitchen.yml platforms \(ansible\), kitchen\_debian.yml platforms \(ansible\) [\#37](https://github.com/dev-sec/ansible-os-hardening/pull/37) ([chris-rock](https://github.com/chris-rock))
- Change oneliner if-statements to be more readable [\#36](https://github.com/dev-sec/ansible-os-hardening/pull/36) ([rndmh3ro](https://github.com/rndmh3ro))
- Separate system-vars from editable vars. Fix \#34 [\#35](https://github.com/dev-sec/ansible-os-hardening/pull/35) ([rndmh3ro](https://github.com/rndmh3ro))
- Create limits.d-directory if it does not exist. [\#33](https://github.com/dev-sec/ansible-os-hardening/pull/33) ([rndmh3ro](https://github.com/rndmh3ro))
- Add correct CONTRIB-file [\#32](https://github.com/dev-sec/ansible-os-hardening/pull/32) ([rndmh3ro](https://github.com/rndmh3ro))
- Add Ansible Galaxy badge [\#31](https://github.com/dev-sec/ansible-os-hardening/pull/31) ([rndmh3ro](https://github.com/rndmh3ro))
- Update readme, todo, changelog, vars [\#30](https://github.com/dev-sec/ansible-os-hardening/pull/30) ([rndmh3ro](https://github.com/rndmh3ro))
- List-cleanup and follow symlinks added [\#29](https://github.com/dev-sec/ansible-os-hardening/pull/29) ([rndmh3ro](https://github.com/rndmh3ro))
- Add module configuration [\#28](https://github.com/dev-sec/ansible-os-hardening/pull/28) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix two sysctl-settings [\#27](https://github.com/dev-sec/ansible-os-hardening/pull/27) ([rndmh3ro](https://github.com/rndmh3ro))
- Add meta-files for Ansible Galaxy [\#26](https://github.com/dev-sec/ansible-os-hardening/pull/26) ([rndmh3ro](https://github.com/rndmh3ro))
- Disable System Accounts. Fix \#6 [\#25](https://github.com/dev-sec/ansible-os-hardening/pull/25) ([rndmh3ro](https://github.com/rndmh3ro))
- Use changed\_when to avoid changed tasks [\#24](https://github.com/dev-sec/ansible-os-hardening/pull/24) ([rndmh3ro](https://github.com/rndmh3ro))
- Delete authconfig-task on rhel-systems [\#23](https://github.com/dev-sec/ansible-os-hardening/pull/23) ([rndmh3ro](https://github.com/rndmh3ro))
- Add missing rhosts-include task [\#21](https://github.com/dev-sec/ansible-os-hardening/pull/21) ([rndmh3ro](https://github.com/rndmh3ro))
- Change sysctl-task. Fix \#18 [\#20](https://github.com/dev-sec/ansible-os-hardening/pull/20) ([rndmh3ro](https://github.com/rndmh3ro))
- Add travis-support [\#17](https://github.com/dev-sec/ansible-os-hardening/pull/17) ([rndmh3ro](https://github.com/rndmh3ro))
- Add conditions for various tasks. Fix \#15 [\#16](https://github.com/dev-sec/ansible-os-hardening/pull/16) ([rndmh3ro](https://github.com/rndmh3ro))
- fix configuration of playbook path [\#14](https://github.com/dev-sec/ansible-os-hardening/pull/14) ([chris-rock](https://github.com/chris-rock))
- Make tasks clearer [\#13](https://github.com/dev-sec/ansible-os-hardening/pull/13) ([rndmh3ro](https://github.com/rndmh3ro))
- Add remove suid/sgid function [\#12](https://github.com/dev-sec/ansible-os-hardening/pull/12) ([rndmh3ro](https://github.com/rndmh3ro))
- Add task to remove unused repos and pkgs [\#11](https://github.com/dev-sec/ansible-os-hardening/pull/11) ([rndmh3ro](https://github.com/rndmh3ro))
- Edit README to fit to os-hardening [\#10](https://github.com/dev-sec/ansible-os-hardening/pull/10) ([rndmh3ro](https://github.com/rndmh3ro))
- ignore RAs on Ipv6 [\#9](https://github.com/dev-sec/ansible-os-hardening/pull/9) ([rndmh3ro](https://github.com/rndmh3ro))
- Repair debian install script [\#8](https://github.com/dev-sec/ansible-os-hardening/pull/8) ([rndmh3ro](https://github.com/rndmh3ro))
- Separate tasks into multiple smaller files [\#7](https://github.com/dev-sec/ansible-os-hardening/pull/7) ([rndmh3ro](https://github.com/rndmh3ro))
- Enable gpg-check on all yum-repositories [\#5](https://github.com/dev-sec/ansible-os-hardening/pull/5) ([rndmh3ro](https://github.com/rndmh3ro))
- Change playbook-path to accomodate test-repo [\#4](https://github.com/dev-sec/ansible-os-hardening/pull/4) ([rndmh3ro](https://github.com/rndmh3ro))
- treat securetty config as an array [\#3](https://github.com/dev-sec/ansible-os-hardening/pull/3) ([arlimus](https://github.com/arlimus))
- Add Securetty-support [\#2](https://github.com/dev-sec/ansible-os-hardening/pull/2) ([rndmh3ro](https://github.com/rndmh3ro))
- Add profile.conf configuration [\#1](https://github.com/dev-sec/ansible-os-hardening/pull/1) ([rndmh3ro](https://github.com/rndmh3ro))
- delete obsolete release drafts [\#530](https://github.com/dev-sec/ansible-collection-hardening/pull/530) ([schurzi](https://github.com/schurzi))
- add waivers to skip controls [\#529](https://github.com/dev-sec/ansible-collection-hardening/pull/529) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- remove centos8 tests [\#525](https://github.com/dev-sec/ansible-collection-hardening/pull/525) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
## [7.14.1](https://github.com/dev-sec/ansible-collection-hardening/tree/7.14.1) (2022-02-18)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.14.0...7.14.1)
**Fixed bugs:**
- move sysctls to debian specific vars [\#524](https://github.com/dev-sec/ansible-collection-hardening/pull/524) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
**Closed issues:**
- Error when using the ssh\_hardening role [\#519](https://github.com/dev-sec/ansible-collection-hardening/issues/519)
## [7.14.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.14.0) (2021-12-16)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.13.2...7.14.0)
**Implemented enhancements:**
- Add option to set timeout in seconds to logout users [\#516](https://github.com/dev-sec/ansible-collection-hardening/pull/516) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([lbayerlein](https://github.com/lbayerlein))
- add feature to disable coredump to limit task [\#511](https://github.com/dev-sec/ansible-collection-hardening/pull/511) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([lbayerlein](https://github.com/lbayerlein))
- change hidepid mount task state to mounted [\#510](https://github.com/dev-sec/ansible-collection-hardening/pull/510) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([alegrey91](https://github.com/alegrey91))
- prettify nginx options [\#509](https://github.com/dev-sec/ansible-collection-hardening/pull/509) [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([schurzi](https://github.com/schurzi))
- Update nginx\_add\_header README to match default [\#506](https://github.com/dev-sec/ansible-collection-hardening/pull/506) [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([duffn](https://github.com/duffn))
- Updated dh\_params to 4096 [\#501](https://github.com/dev-sec/ansible-collection-hardening/pull/501) [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([ksaadDE](https://github.com/ksaadDE))
**Fixed bugs:**
- Duplication of sysctl default parameter fs.protected\_hardlinks and fs.protected\_symlinks [\#502](https://github.com/dev-sec/ansible-collection-hardening/issues/502)
- Fix duplicate sysctl config in fs [\#505](https://github.com/dev-sec/ansible-collection-hardening/pull/505) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([tekicat](https://github.com/tekicat))
**Merged pull requests:**
- Feature coredump [\#513](https://github.com/dev-sec/ansible-collection-hardening/pull/513) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
## [7.13.2](https://github.com/dev-sec/ansible-collection-hardening/tree/7.13.2) (2021-11-23)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.13.1...7.13.2)
## [7.13.1](https://github.com/dev-sec/ansible-collection-hardening/tree/7.13.1) (2021-11-23)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.13.0...7.13.1)
**Closed issues:**
- Unable to use 7.13.0 Release [\#503](https://github.com/dev-sec/ansible-collection-hardening/issues/503)
## [7.13.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.13.0) (2021-11-15)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.12.0...7.13.0)
**Implemented enhancements:**
- os\_hardening: Provide a whitelist for yum repositories with non-signed RPMs [\#485](https://github.com/dev-sec/ansible-collection-hardening/issues/485)
- Disable ctrl-alt-del key combination [\#496](https://github.com/dev-sec/ansible-collection-hardening/pull/496) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([lbayerlein](https://github.com/lbayerlein))
- implement sysctl-34 - link protection settings [\#494](https://github.com/dev-sec/ansible-collection-hardening/pull/494) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- Add whitelist option for yum repository files [\#487](https://github.com/dev-sec/ansible-collection-hardening/pull/487) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([darxriggs](https://github.com/darxriggs))
- Add TLSv1.3 to nginx default configuration [\#470](https://github.com/dev-sec/ansible-collection-hardening/pull/470) [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([ksaadDE](https://github.com/ksaadDE))
**Closed issues:**
- Please create the collection in ansible-galaxy [\#407](https://github.com/dev-sec/ansible-collection-hardening/issues/407)
**Merged pull requests:**
- Improve testing: install packages on Arch Linux [\#499](https://github.com/dev-sec/ansible-collection-hardening/pull/499) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([darxriggs](https://github.com/darxriggs))
- add old role names to tags in Galaxy [\#495](https://github.com/dev-sec/ansible-collection-hardening/pull/495) ([schurzi](https://github.com/schurzi))
- update minimum ansible version for roles [\#493](https://github.com/dev-sec/ansible-collection-hardening/pull/493) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- revive old tests with custom ssh settings [\#491](https://github.com/dev-sec/ansible-collection-hardening/pull/491) ([rndmh3ro](https://github.com/rndmh3ro))
## [7.12.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.12.0) (2021-10-21)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.11.0...7.12.0)
**Implemented enhancements:**
- feat\(os\_hardening\): extend file permission tasks to cover more files [\#489](https://github.com/dev-sec/ansible-collection-hardening/pull/489) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([cmhe](https://github.com/cmhe))
**Fixed bugs:**
- mysql remove deprecated 'secure\_auth' parameter in mysql [\#346](https://github.com/dev-sec/ansible-collection-hardening/issues/346)
- change baseline urls to full zip-url [\#490](https://github.com/dev-sec/ansible-collection-hardening/pull/490) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- fix filter error in ansible.builtin.file mode parameter [\#486](https://github.com/dev-sec/ansible-collection-hardening/pull/486) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([ssttehrani](https://github.com/ssttehrani))
**Closed issues:**
- Extend os\_hardening minimize\_access task to cover additional passwd/group/shadow/gshadow paths [\#488](https://github.com/dev-sec/ansible-collection-hardening/issues/488)
- postgresql\_hardening role [\#484](https://github.com/dev-sec/ansible-collection-hardening/issues/484)
- os\_hardening fails on "Create a combined sysctl-dict if overwrites are defined" task [\#482](https://github.com/dev-sec/ansible-collection-hardening/issues/482)
- Improve changelog generation [\#381](https://github.com/dev-sec/ansible-collection-hardening/issues/381)
## [7.11.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.11.0) (2021-08-30)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.10.0...7.11.0)
**Implemented enhancements:**
- Use `log_error` file and `datadir` from mysql\_info settings instead of variables `mysql_datadir` and `mysql_hardening_log_file` [\#478](https://github.com/dev-sec/ansible-collection-hardening/pull/478) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([123quhiwiwk](https://github.com/123quhiwiwk))
- Execute check of MySQL error logfile permissions on Debian 11 only when log\_error is defined [\#477](https://github.com/dev-sec/ansible-collection-hardening/pull/477) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([123quhiwiwk](https://github.com/123quhiwiwk))
- \[mysql\_hardening\] Setup defaults for MySQL on FreeBSD [\#474](https://github.com/dev-sec/ansible-collection-hardening/pull/474) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([sdwilsh](https://github.com/sdwilsh))
**Closed issues:**
- MariaDB hardening fails, because log\_error file is missing \[Debian 11\] [\#476](https://github.com/dev-sec/ansible-collection-hardening/issues/476)
**Merged pull requests:**
- ssh\_allow\_tcp\_forwarding is not a boolean [\#480](https://github.com/dev-sec/ansible-collection-hardening/pull/480) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([ReinerNippes](https://github.com/ReinerNippes))
- chore\(ssh\_hardening\): set min\_ansible\_version to \>=2.9.10 [\#479](https://github.com/dev-sec/ansible-collection-hardening/pull/479) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([bufferoverflow](https://github.com/bufferoverflow))
## [7.10.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.10.0) (2021-08-15)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.9.0...7.10.0)
**Implemented enhancements:**
- use Ansible lint in separate task [\#475](https://github.com/dev-sec/ansible-collection-hardening/pull/475) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- \[mysql\_hardening\] Allow setting the mysql\_distribution [\#473](https://github.com/dev-sec/ansible-collection-hardening/pull/473) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([sdwilsh](https://github.com/sdwilsh))
**Fixed bugs:**
- mysql\_hardening cannot work with mysql on freebsd [\#472](https://github.com/dev-sec/ansible-collection-hardening/issues/472)
**Closed issues:**
- run ansible-lint only once in Github Actions [\#398](https://github.com/dev-sec/ansible-collection-hardening/issues/398)
**Merged pull requests:**
- SSH Hardening: backtick typo [\#471](https://github.com/dev-sec/ansible-collection-hardening/pull/471) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([Slamdunk](https://github.com/Slamdunk))
- fix license in galaxy [\#469](https://github.com/dev-sec/ansible-collection-hardening/pull/469) ([rndmh3ro](https://github.com/rndmh3ro))
## [7.9.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.9.0) (2021-07-22)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.8.0...7.9.0)
**Implemented enhancements:**
- Allow configuration of password remember in pam [\#467](https://github.com/dev-sec/ansible-collection-hardening/pull/467) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([m41kc0d3](https://github.com/m41kc0d3))
- Add CVE-2021-33909 mitigations [\#466](https://github.com/dev-sec/ansible-collection-hardening/pull/466) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([kravietz](https://github.com/kravietz))
- Add SUB\_UID\_MIN/MAX/COUNT, SUB\_GID\_MIN/MAX/COUNT [\#463](https://github.com/dev-sec/ansible-collection-hardening/pull/463) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([elgalu](https://github.com/elgalu))
- Add os\_auth\_uid\_max, os\_auth\_gid\_max [\#461](https://github.com/dev-sec/ansible-collection-hardening/pull/461) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([elgalu](https://github.com/elgalu))
**Closed issues:**
- MySQL hardening fails because of missing attribute [\#464](https://github.com/dev-sec/ansible-collection-hardening/issues/464)
- add "when" statements for every import\_tasks in hardening.yml [\#453](https://github.com/dev-sec/ansible-collection-hardening/issues/453)
**Merged pull requests:**
- update metadata to include community.mysql deps [\#465](https://github.com/dev-sec/ansible-collection-hardening/pull/465) ([rndmh3ro](https://github.com/rndmh3ro))
## [7.8.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.8.0) (2021-07-01)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.7.0...7.8.0)
**Implemented enhancements:**
- SHA\_CRYPT\_MIN\_ROUNDS should be increased in login.defs [\#365](https://github.com/dev-sec/ansible-collection-hardening/issues/365) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
- Add support for Rocky Linux 8 [\#454](https://github.com/dev-sec/ansible-collection-hardening/pull/454) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([sherwind](https://github.com/sherwind))
- make sha rounds configurable and increase no of rounds [\#452](https://github.com/dev-sec/ansible-collection-hardening/pull/452) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
**Fixed bugs:**
- add tag always to os dependent vars task [\#456](https://github.com/dev-sec/ansible-collection-hardening/pull/456) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([schurzi](https://github.com/schurzi))
- Use `include_tasks` for os\_hardening/main.yml [\#451](https://github.com/dev-sec/ansible-collection-hardening/pull/451) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([coadler](https://github.com/coadler))
**Closed issues:**
- Disable IPv6 | sysctl-18 net.ipv6.conf.all.disable\_ipv6: 1 [\#406](https://github.com/dev-sec/ansible-collection-hardening/issues/406) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
**Merged pull requests:**
- Cleanup old OS-support and simplify vars [\#458](https://github.com/dev-sec/ansible-collection-hardening/pull/458) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- add rocky linux 8 tests and make sure that all relevant tasks are execd [\#457](https://github.com/dev-sec/ansible-collection-hardening/pull/457) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- add "when" statements in hardening.yml\(\#453\) [\#455](https://github.com/dev-sec/ansible-collection-hardening/pull/455) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([jqiuyin](https://github.com/jqiuyin))
- enable ipv6 globally [\#450](https://github.com/dev-sec/ansible-collection-hardening/pull/450) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
## [7.7.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.7.0) (2021-05-24)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.6.0...7.7.0)
**Implemented enhancements:**
- Add tasks for new controls [\#123](https://github.com/dev-sec/ansible-collection-hardening/issues/123)
- ssh\_allow\_tcp\_forwarding remote option added [\#447](https://github.com/dev-sec/ansible-collection-hardening/pull/447) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([alimli](https://github.com/alimli))
**Fixed bugs:**
- Warning: iptables-legacy tables present, Debian 10 [\#274](https://github.com/dev-sec/ansible-collection-hardening/issues/274)
- Check for MariaDB Version when selecting users without passwords [\#444](https://github.com/dev-sec/ansible-collection-hardening/pull/444) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([neubi4](https://github.com/neubi4))
- Adds dependency on ansible.posix and community.general [\#415](https://github.com/dev-sec/ansible-collection-hardening/pull/415) ([irl](https://github.com/irl))
**Closed issues:**
- No dependency on ansible.posix collection [\#414](https://github.com/dev-sec/ansible-collection-hardening/issues/414)
- No dependency on community.general [\#413](https://github.com/dev-sec/ansible-collection-hardening/issues/413)
- in lxc/docker/openvz IPv6 is always disabled by ufw-configuration [\#402](https://github.com/dev-sec/ansible-collection-hardening/issues/402)
- Allow login\_unix\_socket to be specified [\#327](https://github.com/dev-sec/ansible-collection-hardening/issues/327)
**Merged pull requests:**
- Removed sysctl that tries to disable IPv6 [\#449](https://github.com/dev-sec/ansible-collection-hardening/pull/449) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([lduesing](https://github.com/lduesing))
- limit changelog labels to role names [\#448](https://github.com/dev-sec/ansible-collection-hardening/pull/448) ([schurzi](https://github.com/schurzi))
- add back labels to changelog [\#446](https://github.com/dev-sec/ansible-collection-hardening/pull/446) ([rndmh3ro](https://github.com/rndmh3ro))
## [7.6.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.6.0) (2021-04-27)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.5.0...7.6.0)
**Implemented enhancements:**
- ssh: Client HostKeyAlgorithms configuration variable [\#442](https://github.com/dev-sec/ansible-collection-hardening/pull/442) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([sepek](https://github.com/sepek))
**Fixed bugs:**
- mysql USER and HOST should be quoted for drop query [\#443](https://github.com/dev-sec/ansible-collection-hardening/pull/443) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([neubi4](https://github.com/neubi4))
**Closed issues:**
- Support HostKeyAlgorithms configuration for ssh\_client file [\#441](https://github.com/dev-sec/ansible-collection-hardening/issues/441)
**Merged pull requests:**
- fixed a typo in comments [\#439](https://github.com/dev-sec/ansible-collection-hardening/pull/439) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([ssttehrani](https://github.com/ssttehrani))
## [7.5.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.5.0) (2021-04-01)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.4.0...7.5.0)
**Implemented enhancements:**
- Not accepting source routing for IPv6. This was already done for IPv4. [\#424](https://github.com/dev-sec/ansible-collection-hardening/pull/424) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
**Fixed bugs:**
- SSH kex sntrup4591761x25519-sha512@tinyssh.org replaced [\#433](https://github.com/dev-sec/ansible-collection-hardening/issues/433)
- Fix ssh kex sntrup761x25519-sha512@openssh.com for openssh \>= 8.5 [\#437](https://github.com/dev-sec/ansible-collection-hardening/pull/437) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([BenjaminBoehm](https://github.com/BenjaminBoehm))
**Closed issues:**
- Harden user home directories [\#276](https://github.com/dev-sec/ansible-collection-hardening/issues/276)
**Merged pull requests:**
- remove secure-auth param if mysql \>= 8.0.3 [\#438](https://github.com/dev-sec/ansible-collection-hardening/pull/438) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- Improved comments. [\#436](https://github.com/dev-sec/ansible-collection-hardening/pull/436) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
- os\_auth\_pam\_pwquality\_options: Changed type to authtok\_type [\#432](https://github.com/dev-sec/ansible-collection-hardening/pull/432) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
- add restart-auditd handler after configuration change [\#427](https://github.com/dev-sec/ansible-collection-hardening/pull/427) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- add new tasks to delete mysql users without passwords [\#423](https://github.com/dev-sec/ansible-collection-hardening/pull/423) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- Uppercased first letter of task names. [\#422](https://github.com/dev-sec/ansible-collection-hardening/pull/422) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([joubbi](https://github.com/joubbi))
## [7.4.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.4.0) (2021-03-23)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.3.0...7.4.0)
**Implemented enhancements:**
- Harden user home dirs [\#428](https://github.com/dev-sec/ansible-collection-hardening/pull/428) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
**Closed issues:**
- Errors in packer build for vagrant builder [\#244](https://github.com/dev-sec/ansible-collection-hardening/issues/244)
**Merged pull requests:**
- Use pam\_pwhistory.so instead of pam\_unix.so for remembering old passwords [\#431](https://github.com/dev-sec/ansible-collection-hardening/pull/431) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
- Remove comments from PAM config file, but keep it in the template [\#430](https://github.com/dev-sec/ansible-collection-hardening/pull/430) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
- add support for using a proxy to test with molecule [\#429](https://github.com/dev-sec/ansible-collection-hardening/pull/429) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- Improve Documentation for sysctl defaults [\#418](https://github.com/dev-sec/ansible-collection-hardening/pull/418) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
## [7.3.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.3.0) (2021-03-16)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.2.0...7.3.0)
**Implemented enhancements:**
- pam\_tally2 is deprecated in RHEL8 and pam\_faillock should be used in EL7 and EL8 instead. [\#377](https://github.com/dev-sec/ansible-collection-hardening/issues/377) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
- Replace pam\_tally2 with pam\_faillock in Redhat [\#273](https://github.com/dev-sec/ansible-collection-hardening/issues/273) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
- Extend GSSAPI configuration support to ssh\_config [\#403](https://github.com/dev-sec/ansible-collection-hardening/pull/403) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([wzzrd](https://github.com/wzzrd))
- add restart handler variable for mysql role [\#399](https://github.com/dev-sec/ansible-collection-hardening/pull/399) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- restructure PAM handling and update for currently supported Linux distributions [\#392](https://github.com/dev-sec/ansible-collection-hardening/pull/392) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([schurzi](https://github.com/schurzi))
**Fixed bugs:**
- Not able to use `sudo` command for user authenticated via ActiveDirectory [\#278](https://github.com/dev-sec/ansible-collection-hardening/issues/278) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
- You shouldn't touch /etc/pam.d/system-auth-ac in RedHat/CentOS [\#252](https://github.com/dev-sec/ansible-collection-hardening/issues/252) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
**Closed issues:**
- Netdata monitoring of docker in docker no longer possible [\#412](https://github.com/dev-sec/ansible-collection-hardening/issues/412)
- Unable to connect with SSH \(Permission denied \(publickey\)\) [\#411](https://github.com/dev-sec/ansible-collection-hardening/issues/411)
- TASK \[os\_hardening : configure auditd | package-08\] [\#410](https://github.com/dev-sec/ansible-collection-hardening/issues/410)
- Collection throws undefined ansible\_role\_name error in auditd task [\#409](https://github.com/dev-sec/ansible-collection-hardening/issues/409)
- Ensure permissions on /etc/crontab are configured [\#375](https://github.com/dev-sec/ansible-collection-hardening/issues/375) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
- Documentation should be updated [\#361](https://github.com/dev-sec/ansible-collection-hardening/issues/361)
**Merged pull requests:**
- Improve Release Action [\#421](https://github.com/dev-sec/ansible-collection-hardening/pull/421) ([schurzi](https://github.com/schurzi))
- remove FQCN from roles in examples [\#420](https://github.com/dev-sec/ansible-collection-hardening/pull/420) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([schurzi](https://github.com/schurzi))
- Ensure permissions on /etc/crontab are configured [\#405](https://github.com/dev-sec/ansible-collection-hardening/pull/405) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
- remove FQCN from roles in examples [\#404](https://github.com/dev-sec/ansible-collection-hardening/pull/404) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([schurzi](https://github.com/schurzi))
- do not install mysql python package on target host [\#401](https://github.com/dev-sec/ansible-collection-hardening/pull/401) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- make wrong password fail task [\#400](https://github.com/dev-sec/ansible-collection-hardening/pull/400) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
## [7.2.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.2.0) (2021-02-10)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.1.1...7.2.0)
**Implemented enhancements:**
- Add variable to specify SSH host RSA key size [\#394](https://github.com/dev-sec/ansible-collection-hardening/pull/394) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([Normo](https://github.com/Normo))
- Set default for ssh host key files only when hardening the server [\#393](https://github.com/dev-sec/ansible-collection-hardening/pull/393) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([Normo](https://github.com/Normo))
**Fixed bugs:**
- A reason why instance would go in rescue mode ? [\#267](https://github.com/dev-sec/ansible-collection-hardening/issues/267)
- fix galaxy action to update local galaxy.yml [\#395](https://github.com/dev-sec/ansible-collection-hardening/pull/395) ([Normo](https://github.com/Normo))
**Closed issues:**
- Updating version in galaxy.yml should be part of the release process [\#396](https://github.com/dev-sec/ansible-collection-hardening/issues/396)
- ssh\_hardening fail on keypair generation [\#388](https://github.com/dev-sec/ansible-collection-hardening/issues/388)
- The system must display the date and time of the last successful account logon upon an SSH logon. [\#362](https://github.com/dev-sec/ansible-collection-hardening/issues/362)
- Error in "root password is present" step [\#326](https://github.com/dev-sec/ansible-collection-hardening/issues/326)
**Merged pull requests:**
- update ansible-lint to version 5 [\#397](https://github.com/dev-sec/ansible-collection-hardening/pull/397) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([schurzi](https://github.com/schurzi))
- fix minimum required ansible version in docs [\#390](https://github.com/dev-sec/ansible-collection-hardening/pull/390) ([schurzi](https://github.com/schurzi))
## [7.1.1](https://github.com/dev-sec/ansible-collection-hardening/tree/7.1.1) (2021-02-05)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.1.0...7.1.1)
**Fixed bugs:**
- use fqcn for community.crypto.openssh\_keypair module [\#389](https://github.com/dev-sec/ansible-collection-hardening/pull/389) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([schurzi](https://github.com/schurzi))
**Closed issues:**
- AnsibleUndefinedVariable: 'ansible\_role\_name' is undefined with 7.1.0 [\#387](https://github.com/dev-sec/ansible-collection-hardening/issues/387)
## [7.1.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.1.0) (2021-02-02)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/7.0.0...7.1.0)
**Implemented enhancements:**
- Default value for ssh\_max\_startups should be changed [\#366](https://github.com/dev-sec/ansible-collection-hardening/issues/366) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)]
- Comment in configuration files should state which collection was there [\#345](https://github.com/dev-sec/ansible-collection-hardening/issues/345)
- Error on applying the sysctl vars on Debian Jessy [\#230](https://github.com/dev-sec/ansible-collection-hardening/issues/230)
- add Support for OpenSSH HostCertificate config option [\#380](https://github.com/dev-sec/ansible-collection-hardening/pull/380) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([mpraeger](https://github.com/mpraeger))
- Syncookie [\#372](https://github.com/dev-sec/ansible-collection-hardening/pull/372) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
- Sorted sysctl values and lists in READMEs alphabetically \(No functional changes\). [\#371](https://github.com/dev-sec/ansible-collection-hardening/pull/371) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([joubbi](https://github.com/joubbi))
- make auditd 'max\_log\_file' configurable [\#370](https://github.com/dev-sec/ansible-collection-hardening/pull/370) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([tgueldner-mms](https://github.com/tgueldner-mms))
- reduce maximum unauthenticated ssh sessions [\#368](https://github.com/dev-sec/ansible-collection-hardening/pull/368) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([schurzi](https://github.com/schurzi))
- add a runtime.yml to declare minimum ansible version [\#363](https://github.com/dev-sec/ansible-collection-hardening/pull/363) ([rndmh3ro](https://github.com/rndmh3ro))
- change inclusion of os specific defaults [\#353](https://github.com/dev-sec/ansible-collection-hardening/pull/353) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([schurzi](https://github.com/schurzi))
- make the os\_env\_umask variable usable [\#351](https://github.com/dev-sec/ansible-collection-hardening/pull/351) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([sprat](https://github.com/sprat))
- Fix \#348: make ssh configuration files paths configurable [\#350](https://github.com/dev-sec/ansible-collection-hardening/pull/350) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([sprat](https://github.com/sprat))
- Removed Protocol statement in later versions of sshd, since the code … [\#342](https://github.com/dev-sec/ansible-collection-hardening/pull/342) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([joubbi](https://github.com/joubbi))
- Improvements of comments in opensshd.conf.j2 \#338 [\#339](https://github.com/dev-sec/ansible-collection-hardening/pull/339) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([joubbi](https://github.com/joubbi))
**Fixed bugs:**
- Comments in opensshd.conf.j2 should be improved [\#338](https://github.com/dev-sec/ansible-collection-hardening/issues/338)
- check for correct cpu vendor in initramfs-tools [\#374](https://github.com/dev-sec/ansible-collection-hardening/pull/374) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([schurzi](https://github.com/schurzi))
- set hidepid=0 on RHEL/CentOS 7 [\#369](https://github.com/dev-sec/ansible-collection-hardening/pull/369) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([schurzi](https://github.com/schurzi))
**Closed issues:**
- initramfs-tools modules.j2 does not seem to be able to detect AMD CPUs [\#373](https://github.com/dev-sec/ansible-collection-hardening/issues/373)
- How do i install this on Centos 8? [\#367](https://github.com/dev-sec/ansible-collection-hardening/issues/367)
- hidepid=2 gives error when running systemctl on EL7 [\#364](https://github.com/dev-sec/ansible-collection-hardening/issues/364) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
- Allow putting the ssh/sshd config in alternative files [\#348](https://github.com/dev-sec/ansible-collection-hardening/issues/348)
- os\_env\_umask has no effect [\#344](https://github.com/dev-sec/ansible-collection-hardening/issues/344)
- Don't modify /etc/sysctl.conf [\#343](https://github.com/dev-sec/ansible-collection-hardening/issues/343) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
**Merged pull requests:**
- use version tag for changelog action [\#386](https://github.com/dev-sec/ansible-collection-hardening/pull/386) ([schurzi](https://github.com/schurzi))
- make release workflow manually runnable [\#384](https://github.com/dev-sec/ansible-collection-hardening/pull/384) ([schurzi](https://github.com/schurzi))
- run labeler workflow with higher privileges [\#383](https://github.com/dev-sec/ansible-collection-hardening/pull/383) ([schurzi](https://github.com/schurzi))
- remove issue labels from changelog [\#382](https://github.com/dev-sec/ansible-collection-hardening/pull/382) ([schurzi](https://github.com/schurzi))
- Added comment on top of templates about which role manages the file [\#378](https://github.com/dev-sec/ansible-collection-hardening/pull/378) [[mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/mysql_hardening)] [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] [[nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/nginx_hardening)] ([joubbi](https://github.com/joubbi))
- Regenerate RSA key with size 4096 bits [\#376](https://github.com/dev-sec/ansible-collection-hardening/pull/376) ([ssttehrani](https://github.com/ssttehrani))
- fix second changelog generation task, too [\#349](https://github.com/dev-sec/ansible-collection-hardening/pull/349) ([rndmh3ro](https://github.com/rndmh3ro))
- fix changelog generation [\#341](https://github.com/dev-sec/ansible-collection-hardening/pull/341) ([rndmh3ro](https://github.com/rndmh3ro))
- Improve README for ssh\_hardening [\#335](https://github.com/dev-sec/ansible-collection-hardening/pull/335) [[ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/ssh_hardening)] ([szEvEz](https://github.com/szEvEz))
## [7.0.0](https://github.com/dev-sec/ansible-collection-hardening/tree/7.0.0) (2020-11-11)
[Full Changelog](https://github.com/dev-sec/ansible-collection-hardening/compare/a9591764206b79a4ed324bb8576151ebac0127b1...7.0.0)
**Breaking changes:**
- Move all roles to one single collection [\#332](https://github.com/dev-sec/ansible-collection-hardening/pull/332) ([rndmh3ro](https://github.com/rndmh3ro))
**Implemented enhancements:**
- Breaking change in ansible-lint - set file permissions explicitly [\#299](https://github.com/dev-sec/ansible-collection-hardening/issues/299) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)]
- Configure audit=1 for more accurate auid auditing [\#253](https://github.com/dev-sec/ansible-collection-hardening/issues/253)
- Add Debian Buster support for ansible-os-hardening [\#233](https://github.com/dev-sec/ansible-collection-hardening/issues/233)
- Add CentOS 8 support for ansible-os-hardening [\#232](https://github.com/dev-sec/ansible-collection-hardening/issues/232)
- Speed up "minimize access on found files" task [\#208](https://github.com/dev-sec/ansible-collection-hardening/issues/208)
- Fedora support? [\#163](https://github.com/dev-sec/ansible-collection-hardening/issues/163)
- Update some RH settings in this role [\#155](https://github.com/dev-sec/ansible-collection-hardening/issues/155)
- Add selinux configuration [\#154](https://github.com/dev-sec/ansible-collection-hardening/issues/154)
- Warning about "include" for tasks for ansible-playbook 2.4.0 \(devel f0a5854e39\) [\#131](https://github.com/dev-sec/ansible-collection-hardening/issues/131)
- Removal of core dump hardening configuration if core dumps are allowed [\#129](https://github.com/dev-sec/ansible-collection-hardening/issues/129)
- Description of the Ansible roles of dev-sec says "This Ansible playbook" [\#97](https://github.com/dev-sec/ansible-collection-hardening/issues/97)
- Improve Documentation [\#315](https://github.com/dev-sec/ansible-collection-hardening/pull/315) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([schurzi](https://github.com/schurzi))
- Arch support [\#303](https://github.com/dev-sec/ansible-collection-hardening/pull/303) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([rndmh3ro](https://github.com/rndmh3ro))
- fix linting for molecule [\#301](https://github.com/dev-sec/ansible-collection-hardening/pull/301) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([schurzi](https://github.com/schurzi))
- file permissions explicitly defined [\#300](https://github.com/dev-sec/ansible-collection-hardening/pull/300) [[os_hardening](https://github.com/dev-sec/ansible-collection-hardening/labels/os_hardening)] ([danielkubat](https://github.com/danielkubat))
- Optimize and unify when clause [\#295](https://github.com/dev-sec/ansible-collection-hardening/pull/295) ([Alexhha](https://github.com/Alexhha))
- use find module instead of shell [\#294](https://github.com/dev-sec/ansible-collection-hardening/pull/294) ([danielkubat](https://github.com/danielkubat))
- improve testing [\#287](https://github.com/dev-sec/ansible-collection-hardening/pull/287) ([schurzi](https://github.com/schurzi))
- Mount proc filesystem using hidepid option [\#283](https://github.com/dev-sec/ansible-collection-hardening/pull/283) ([alegrey91](https://github.com/alegrey91))
- unify changelog and release actions [\#279](https://github.com/dev-sec/ansible-collection-hardening/pull/279) ([rndmh3ro](https://github.com/rndmh3ro))
- purge insecure packages [\#275](https://github.com/dev-sec/ansible-collection-hardening/pull/275) ([chris-rock](https://github.com/chris-rock))
- add changelog and release workflow [\#271](https://github.com/dev-sec/ansible-collection-hardening/pull/271) ([rndmh3ro](https://github.com/rndmh3ro))
- github action for changelog generation [\#270](https://github.com/dev-sec/ansible-collection-hardening/pull/270) ([rndmh3ro](https://github.com/rndmh3ro))
- Make useradd defaults in login.defs dependent on OS [\#266](https://github.com/dev-sec/ansible-collection-hardening/pull/266) ([aisbergg](https://github.com/aisbergg))
- Add kernel hardening parameters from Tails and CIS Benchmark [\#263](https://github.com/dev-sec/ansible-collection-hardening/pull/263) ([kravietz](https://github.com/kravietz))
- add ansible-lint [\#262](https://github.com/dev-sec/ansible-collection-hardening/pull/262) ([rndmh3ro](https://github.com/rndmh3ro))
- Remove trailing space [\#261](https://github.com/dev-sec/ansible-collection-hardening/pull/261) ([kravietz](https://github.com/kravietz))
- Add kernel parameter information to README [\#259](https://github.com/dev-sec/ansible-collection-hardening/pull/259) ([jaredledvina](https://github.com/jaredledvina))
- Remove trailing whitespaces \(ansible-lint 201\) [\#254](https://github.com/dev-sec/ansible-collection-hardening/pull/254) ([kravietz](https://github.com/kravietz))
- Standardize the var ordering [\#251](https://github.com/dev-sec/ansible-collection-hardening/pull/251) ([dustinmiller](https://github.com/dustinmiller))
- Add intial support for OpenSUSE [\#250](https://github.com/dev-sec/ansible-collection-hardening/pull/250) ([dustinmiller](https://github.com/dustinmiller))
- Make max\_log\_file\_action for auditd configurable [\#246](https://github.com/dev-sec/ansible-collection-hardening/pull/246) ([jandd](https://github.com/jandd))
- Add exception in sysctl task [\#240](https://github.com/dev-sec/ansible-collection-hardening/pull/240) ([ghost](https://github.com/ghost))
- Fedora - Use new auto ansible\_python\_interpreter for dnf [\#239](https://github.com/dev-sec/ansible-collection-hardening/pull/239) ([jaredledvina](https://github.com/jaredledvina))
- add test support for CentOS8 [\#237](https://github.com/dev-sec/ansible-collection-hardening/pull/237) ([yeoldegrove](https://github.com/yeoldegrove))
- Support configuring SELinux and default to enforcing [\#236](https://github.com/dev-sec/ansible-collection-hardening/pull/236) ([jaredledvina](https://github.com/jaredledvina))
- Add test support for debian buster [\#234](https://github.com/dev-sec/ansible-collection-hardening/pull/234) ([123Haynes](https://github.com/123Haynes))
- Changed local var name to a less common one [\#231](https://github.com/dev-sec/ansible-collection-hardening/pull/231) ([rgarrigue](https://github.com/rgarrigue))
- Use ansible facts for vars [\#226](https://github.com/dev-sec/ansible-collection-hardening/pull/226) ([joshuatalb](https://github.com/joshuatalb))
- Fix deprecation warnings in Ansible 2.8 [\#224](https://github.com/dev-sec/ansible-collection-hardening/pull/224) ([Normo](https://github.com/Normo))
- add docs to find-task in minimize access. fix \#219 [\#220](https://github.com/dev-sec/ansible-collection-hardening/pull/220) ([rndmh3ro](https://github.com/rndmh3ro))
- remove eol'd OS and add new [\#217](https://github.com/dev-sec/ansible-collection-hardening/pull/217) ([rndmh3ro](https://github.com/rndmh3ro))
- Add note about docker under warning [\#214](https://github.com/dev-sec/ansible-collection-hardening/pull/214) ([ChrisMcKee](https://github.com/ChrisMcKee))
- change minimize access tasks to speed them up [\#209](https://github.com/dev-sec/ansible-collection-hardening/pull/209) ([rndmh3ro](https://github.com/rndmh3ro))
- Added fedora support [\#206](https://github.com/dev-sec/ansible-collection-hardening/pull/206) ([jonaswre](https://github.com/jonaswre))
- Pass package list directly to apt and yum modules without using with\_items loop [\#200](https://github.com/dev-sec/ansible-collection-hardening/pull/200) ([Normo](https://github.com/Normo))
- add ubuntu 1804 support [\#196](https://github.com/dev-sec/ansible-collection-hardening/pull/196) ([rndmh3ro](https://github.com/rndmh3ro))
- add option to disable auditd [\#192](https://github.com/dev-sec/ansible-collection-hardening/pull/192) ([rndmh3ro](https://github.com/rndmh3ro))
- fix problems with efi and vfat [\#190](https://github.com/dev-sec/ansible-collection-hardening/pull/190) ([rndmh3ro](https://github.com/rndmh3ro))
- added os\_hardening\_enabled flag [\#186](https://github.com/dev-sec/ansible-collection-hardening/pull/186) ([jcheroske](https://github.com/jcheroske))
- add amazon run opts to travis [\#183](https://github.com/dev-sec/ansible-collection-hardening/pull/183) ([rndmh3ro](https://github.com/rndmh3ro))
- use package instead of yum and apt [\#180](https://github.com/dev-sec/ansible-collection-hardening/pull/180) ([rndmh3ro](https://github.com/rndmh3ro))
- add oracle7 to travis [\#178](https://github.com/dev-sec/ansible-collection-hardening/pull/178) ([rndmh3ro](https://github.com/rndmh3ro))
- fix wrong permissions passwdqc \#170 [\#176](https://github.com/dev-sec/ansible-collection-hardening/pull/176) ([rndmh3ro](https://github.com/rndmh3ro))
- ipv4 forwarding comment is inconsistent with example [\#174](https://github.com/dev-sec/ansible-collection-hardening/pull/174) ([carchrae](https://github.com/carchrae))
- Rename pam\_passwdqd.j2 to pam\_passwdqc.j2 [\#172](https://github.com/dev-sec/ansible-collection-hardening/pull/172) ([martinbydefault](https://github.com/martinbydefault))
- Use package state 'present' since 'installed' is deprecated [\#168](https://github.com/dev-sec/ansible-collection-hardening/pull/168) ([Normo](https://github.com/Normo))
- Update syntax to Ansible 2.4 [\#161](https://github.com/dev-sec/ansible-collection-hardening/pull/161) ([thomasjpfan](https://github.com/thomasjpfan))
- add amazon linux testing [\#160](https://github.com/dev-sec/ansible-collection-hardening/pull/160) ([rndmh3ro](https://github.com/rndmh3ro))
- Add support for Amazon Linux [\#158](https://github.com/dev-sec/ansible-collection-hardening/pull/158) ([woneill](https://github.com/woneill))
- Don't create home for system accounts [\#156](https://github.com/dev-sec/ansible-collection-hardening/pull/156) ([oakey-b1](https://github.com/oakey-b1))
- Prevent disabling of filesystems via whitelist [\#153](https://github.com/dev-sec/ansible-collection-hardening/pull/153) ([manuelprinz](https://github.com/manuelprinz))
- Add kernel hardening settings from Ubuntu /etc/sysctl.d [\#150](https://github.com/dev-sec/ansible-collection-hardening/pull/150) ([kravietz](https://github.com/kravietz))
- Removal of core dump hardening configuration if core dumps are allowed [\#146](https://github.com/dev-sec/ansible-collection-hardening/pull/146) ([martinbydefault](https://github.com/martinbydefault))
- install and configure auditd - fix inspec package-08 [\#144](https://github.com/dev-sec/ansible-collection-hardening/pull/144) ([rndmh3ro](https://github.com/rndmh3ro))
- add missing sysctl parameter [\#143](https://github.com/dev-sec/ansible-collection-hardening/pull/143) ([rndmh3ro](https://github.com/rndmh3ro))
- update readme [\#139](https://github.com/dev-sec/ansible-collection-hardening/pull/139) ([rndmh3ro](https://github.com/rndmh3ro))
- add modprobe template, control os-10 [\#138](https://github.com/dev-sec/ansible-collection-hardening/pull/138) ([rndmh3ro](https://github.com/rndmh3ro))
- new task for delete netrc files, control os-09 [\#137](https://github.com/dev-sec/ansible-collection-hardening/pull/137) ([rndmh3ro](https://github.com/rndmh3ro))
- add passwd task, control os-03 [\#136](https://github.com/dev-sec/ansible-collection-hardening/pull/136) ([rndmh3ro](https://github.com/rndmh3ro))
- remove prelink package, control package-09 [\#135](https://github.com/dev-sec/ansible-collection-hardening/pull/135) ([rndmh3ro](https://github.com/rndmh3ro))
- style update [\#134](https://github.com/dev-sec/ansible-collection-hardening/pull/134) ([rndmh3ro](https://github.com/rndmh3ro))
- Remove deprecated include for static tasks and use instead import\_tasks fix \#131 [\#132](https://github.com/dev-sec/ansible-collection-hardening/pull/132) ([HelioCampos](https://github.com/HelioCampos))
- Fix ansible.cfg and use comment filter [\#130](https://github.com/dev-sec/ansible-collection-hardening/pull/130) ([fazlearefin](https://github.com/fazlearefin))
- install initramfs-tools [\#114](https://github.com/dev-sec/ansible-collection-hardening/pull/114) ([rndmh3ro](https://github.com/rndmh3ro))
- omit empty variables [\#106](https://github.com/dev-sec/ansible-collection-hardening/pull/106) ([rndmh3ro](https://github.com/rndmh3ro))
- Supports --check mode [\#93](https://github.com/dev-sec/ansible-collection-hardening/pull/93) ([conorsch](https://github.com/conorsch))
- Adds support for CentOS 7 [\#91](https://github.com/dev-sec/ansible-collection-hardening/pull/91) ([conorsch](https://github.com/conorsch))
- Docker [\#90](https://github.com/dev-sec/ansible-collection-hardening/pull/90) ([rndmh3ro](https://github.com/rndmh3ro))
- debian 8 support [\#88](https://github.com/dev-sec/ansible-collection-hardening/pull/88) ([rndmh3ro](https://github.com/rndmh3ro))
- Ufw manage defaults [\#85](https://github.com/dev-sec/ansible-collection-hardening/pull/85) ([fitz123](https://github.com/fitz123))
- replace ignore\_errors to failed\_when to supress ugly error warnings [\#81](https://github.com/dev-sec/ansible-collection-hardening/pull/81) ([fitz123](https://github.com/fitz123))
- fix bare variables usage for loops [\#79](https://github.com/dev-sec/ansible-collection-hardening/pull/79) ([fitz123](https://github.com/fitz123))
- update platforms in meta-file [\#69](https://github.com/dev-sec/ansible-collection-hardening/pull/69) ([rndmh3ro](https://github.com/rndmh3ro))
- add webhook for ansible galaxy [\#68](https://github.com/dev-sec/ansible-collection-hardening/pull/68) ([rndmh3ro](https://github.com/rndmh3ro))
- Move sysctl vars to defaults [\#67](https://github.com/dev-sec/ansible-collection-hardening/pull/67) ([rndmh3ro](https://github.com/rndmh3ro))
- make sys\_uid and sys\_gid configurable [\#62](https://github.com/dev-sec/ansible-collection-hardening/pull/62) ([rndmh3ro](https://github.com/rndmh3ro))
- Ansible 2.0 support [\#59](https://github.com/dev-sec/ansible-collection-hardening/pull/59) ([rndmh3ro](https://github.com/rndmh3ro))
- use inspec as test framework [\#58](https://github.com/dev-sec/ansible-collection-hardening/pull/58) ([chris-rock](https://github.com/chris-rock))
- Packages as attributes [\#57](https://github.com/dev-sec/ansible-collection-hardening/pull/57) ([rndmh3ro](https://github.com/rndmh3ro))
- Change categories to tags for upcoming ansible 2.0 [\#56](https://github.com/dev-sec/ansible-collection-hardening/pull/56) ([rndmh3ro](https://github.com/rndmh3ro))
- Add SINGLE and PROMPT parameters. [\#55](https://github.com/dev-sec/ansible-collection-hardening/pull/55) ([rndmh3ro](https://github.com/rndmh3ro))
- add changelog generator [\#54](https://github.com/dev-sec/ansible-collection-hardening/pull/54) ([chris-rock](https://github.com/chris-rock))
**Fixed bugs:**
- Task "set 10.hardcore.conf perms to 0400 and root ownership" fails in check mode [\#313](https://github.com/dev-sec/ansible-collection-hardening/issues/313)
- Inconsistent use of role vars/role defaults [\#284](https://github.com/dev-sec/ansible-collection-hardening/issues/284)
- Is it safe to use on Debian 10? The build is failing. [\#281](https://github.com/dev-sec/ansible-collection-hardening/issues/281)
- /etc/login.defs alters centos 7/8 default values [\#265](https://github.com/dev-sec/ansible-collection-hardening/issues/265)
- Invalid Conditionals in user\_accounts.yml [\#255](https://github.com/dev-sec/ansible-collection-hardening/issues/255)
- `auth-system` related files are created for non-RHEL systems \(e.g. Debian\) [\#247](https://github.com/dev-sec/ansible-collection-hardening/issues/247)
- NSA website links are stale [\#227](https://github.com/dev-sec/ansible-collection-hardening/issues/227)
- Running ansible on python3 throughs "TypeError: '\<=' not supported between instances of 'str' and 'int'" [\#223](https://github.com/dev-sec/ansible-collection-hardening/issues/223)
- \[lots of\] deprecation warnings in Ansible 2.8 [\#221](https://github.com/dev-sec/ansible-collection-hardening/issues/221)
- `squash_actions` deprecation warning [\#218](https://github.com/dev-sec/ansible-collection-hardening/issues/218)
- login.defs.j2 template: ENV\_PATH is missing ':' before variable substitution [\#202](https://github.com/dev-sec/ansible-collection-hardening/issues/202)
- auditd causing v5.0 to fail on unpriviledged LXC's [\#191](https://github.com/dev-sec/ansible-collection-hardening/issues/191)
- Setting os\_security\_users\_allow has no effect [\#175](https://github.com/dev-sec/ansible-collection-hardening/issues/175)
- minimize\_access: maximum recursion depth exceeded on Ansible 2.5 [\#171](https://github.com/dev-sec/ansible-collection-hardening/issues/171)
- wrong permissions passwdqc [\#170](https://github.com/dev-sec/ansible-collection-hardening/issues/170)
- 'sysctl\_rhel\_config' is undefined [\#167](https://github.com/dev-sec/ansible-collection-hardening/issues/167)
- Update deprecated `include` statements [\#166](https://github.com/dev-sec/ansible-collection-hardening/issues/166)
- Strongly recommend against disabling vfat by default [\#162](https://github.com/dev-sec/ansible-collection-hardening/issues/162)
- bug in ufw.j2 template [\#151](https://github.com/dev-sec/ansible-collection-hardening/issues/151)
- Add a "don't fail on error" switch ? [\#148](https://github.com/dev-sec/ansible-collection-hardening/issues/148)
- System completely unresponsive after role execution [\#145](https://github.com/dev-sec/ansible-collection-hardening/issues/145)
- Why is rsync removed? [\#141](https://github.com/dev-sec/ansible-collection-hardening/issues/141)
- RHEL 7.4: Too many setuid bits removed [\#140](https://github.com/dev-sec/ansible-collection-hardening/issues/140)
- Change system accounts not on the user provided ignore-list items are not JSON serializable [\#125](https://github.com/dev-sec/ansible-collection-hardening/issues/125)
- playbook makes OS undetectable [\#124](https://github.com/dev-sec/ansible-collection-hardening/issues/124)
- Centos7/RHEL7: Exec shield is enabled by default and not manageable anymore by sysctl.conf [\#118](https://github.com/dev-sec/ansible-collection-hardening/issues/118)
- Could not find gem 'ruby \(\>= 2.1.0\)' [\#116](https://github.com/dev-sec/ansible-collection-hardening/issues/116)
- os\_security\_kernel\_enable\_sysrq is not implemented [\#115](https://github.com/dev-sec/ansible-collection-hardening/issues/115)
- The task sysctl fails when /etc/initramfs-tools is not present [\#111](https://github.com/dev-sec/ansible-collection-hardening/issues/111)
- The role fails when conditionally included [\#105](https://github.com/dev-sec/ansible-collection-hardening/issues/105)
- Deprecation warning always\_run [\#103](https://github.com/dev-sec/ansible-collection-hardening/issues/103)
- CentOS 7 selinux dependencies [\#102](https://github.com/dev-sec/ansible-collection-hardening/issues/102)
- ubuntu xenial warning during activate gpg-check for yum-repos [\#99](https://github.com/dev-sec/ansible-collection-hardening/issues/99)
- rhel\_system\_auth.j2 is still using pam\_passwdqc.so for CentOS 7 [\#98](https://github.com/dev-sec/ansible-collection-hardening/issues/98)
- Centos 7.1 fails at \[Change various sysctl-settings on rhel-hosts...\] [\#74](https://github.com/dev-sec/ansible-collection-hardening/issues/74)
- Enable pam\_pwquality in rhel-family \> 7 [\#73](https://github.com/dev-sec/ansible-collection-hardening/issues/73)
- Hardening fails on Centos 7.1 at task 'minimize access' [\#71](https://github.com/dev-sec/ansible-collection-hardening/issues/71)
- "irc" user always changed after reboot [\#53](https://github.com/dev-sec/ansible-collection-hardening/issues/53)
- use touch for 10.hardcore.conf to avoid problems with dry-run [\#314](https://github.com/dev-sec/ansible-collection-hardening/pull/314) ([schurzi](https://github.com/schurzi))
- use touch with no date changes [\#310](https://github.com/dev-sec/ansible-collection-hardening/pull/310) ([rndmh3ro](https://github.com/rndmh3ro))
- do not touch sysctl file to avoid idempotency problems [\#309](https://github.com/dev-sec/ansible-collection-hardening/pull/309) ([rndmh3ro](https://github.com/rndmh3ro))
- replace module parameter fixed [\#297](https://github.com/dev-sec/ansible-collection-hardening/pull/297) ([danielkubat](https://github.com/danielkubat))
- Addressing issue \#255 [\#258](https://github.com/dev-sec/ansible-collection-hardening/pull/258) ([ljkimmel](https://github.com/ljkimmel))
- Fix \#247, cleanup conditions [\#248](https://github.com/dev-sec/ansible-collection-hardening/pull/248) ([fernandezcuesta](https://github.com/fernandezcuesta))
- Fix error on applying the sysctl vars on containers [\#243](https://github.com/dev-sec/ansible-collection-hardening/pull/243) ([ghost](https://github.com/ghost))
- Update location of NSA RHEL 5 Guide [\#235](https://github.com/dev-sec/ansible-collection-hardening/pull/235) ([jaredledvina](https://github.com/jaredledvina))
- Fix typo [\#212](https://github.com/dev-sec/ansible-collection-hardening/pull/212) ([ruslo](https://github.com/ruslo))
- Update modprobe to 0644 [\#211](https://github.com/dev-sec/ansible-collection-hardening/pull/211) ([joshuatalb](https://github.com/joshuatalb))
- Test Kitchen Vagrant Fixes [\#210](https://github.com/dev-sec/ansible-collection-hardening/pull/210) ([joshuatalb](https://github.com/joshuatalb))
- \[readme\] Update documentation link [\#207](https://github.com/dev-sec/ansible-collection-hardening/pull/207) ([pmav99](https://github.com/pmav99))
- fix ansible lint remarks [\#204](https://github.com/dev-sec/ansible-collection-hardening/pull/204) ([rndmh3ro](https://github.com/rndmh3ro))
- add colon to user env paths - fix \#202 [\#203](https://github.com/dev-sec/ansible-collection-hardening/pull/203) ([rndmh3ro](https://github.com/rndmh3ro))
- add /usr/bin/su to suid\_guid whitelist [\#199](https://github.com/dev-sec/ansible-collection-hardening/pull/199) ([ccolic](https://github.com/ccolic))
- ensure that permissions to su-binary are not restricted to root user and group only, if os\_security\_users\_allow contains the value change\_user [\#197](https://github.com/dev-sec/ansible-collection-hardening/pull/197) ([szEvEz](https://github.com/szEvEz))
- do not install passwdqc on amazon linux [\#189](https://github.com/dev-sec/ansible-collection-hardening/pull/189) ([rndmh3ro](https://github.com/rndmh3ro))
- add back run opts for debian 8 in travis [\#184](https://github.com/dev-sec/ansible-collection-hardening/pull/184) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix core dump config file creation when core dumps are disabled [\#182](https://github.com/dev-sec/ansible-collection-hardening/pull/182) ([Normo](https://github.com/Normo))
- change minimize access method [\#181](https://github.com/dev-sec/ansible-collection-hardening/pull/181) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix errors produced by ansible-lint [\#159](https://github.com/dev-sec/ansible-collection-hardening/pull/159) ([zbrojny120](https://github.com/zbrojny120))
- replace single ticks with double ticks. fix \#151 [\#152](https://github.com/dev-sec/ansible-collection-hardening/pull/152) ([rndmh3ro](https://github.com/rndmh3ro))
- fixed tag [\#149](https://github.com/dev-sec/ansible-collection-hardening/pull/149) ([martinbydefault](https://github.com/martinbydefault))
- Remove rsync from package blacklist [\#142](https://github.com/dev-sec/ansible-collection-hardening/pull/142) ([duk3luk3](https://github.com/duk3luk3))
- Updates "tags" parameters on includes in main.yml [\#66](https://github.com/dev-sec/ansible-collection-hardening/pull/66) ([conorsch](https://github.com/conorsch))
- Suid set def var, fix \#64 [\#63](https://github.com/dev-sec/ansible-collection-hardening/pull/63) ([rndmh3ro](https://github.com/rndmh3ro))
**Closed issues:**
- Any planned support for RHEL/CentOS 8? [\#298](https://github.com/dev-sec/ansible-collection-hardening/issues/298)
- Consider using find module instead of shell [\#293](https://github.com/dev-sec/ansible-collection-hardening/issues/293)
- Optimize logical OR in when clause [\#292](https://github.com/dev-sec/ansible-collection-hardening/issues/292)
- vfat added to dev-sec.conf, but efi is used [\#288](https://github.com/dev-sec/ansible-collection-hardening/issues/288)
- The state of the galaxy release [\#269](https://github.com/dev-sec/ansible-collection-hardening/issues/269)
- OpenSUSE Support [\#249](https://github.com/dev-sec/ansible-collection-hardening/issues/249)
- ansible hardening fails on ubuntu 16.04 with msg": "ERROR! 'sysctl\_rhel\_config' is undefined [\#147](https://github.com/dev-sec/ansible-collection-hardening/issues/147)
- Enhancement: Test with TestInfra and Molecule [\#128](https://github.com/dev-sec/ansible-collection-hardening/issues/128)
- Enhancement: Pin python dependencies for development and testing [\#127](https://github.com/dev-sec/ansible-collection-hardening/issues/127)
- Update readme to include baselines [\#122](https://github.com/dev-sec/ansible-collection-hardening/issues/122)
- Error running on RHEL 7 due to syntax issues [\#112](https://github.com/dev-sec/ansible-collection-hardening/issues/112)
- disable password age [\#109](https://github.com/dev-sec/ansible-collection-hardening/issues/109)
- Permissions on /etc/shadow can lock out GUI users [\#86](https://github.com/dev-sec/ansible-collection-hardening/issues/86)
- network related sysctl rewritten by ufw in ubuntu [\#82](https://github.com/dev-sec/ansible-collection-hardening/issues/82)
- ansible \>= 2.0 complains: Using bare variables is deprecated [\#78](https://github.com/dev-sec/ansible-collection-hardening/issues/78)
- Hardening fails on Centos 7.1 at task 'remove suid/sgid bit from all binaries except in system and user whitelist' [\#72](https://github.com/dev-sec/ansible-collection-hardening/issues/72)
- ansible 2.0 | "remove suid/sgid" task fails [\#64](https://github.com/dev-sec/ansible-collection-hardening/issues/64)
- Custom sysctl [\#50](https://github.com/dev-sec/ansible-collection-hardening/issues/50)
- Fix directory structure. [\#48](https://github.com/dev-sec/ansible-collection-hardening/issues/48)
- pam auth update error [\#47](https://github.com/dev-sec/ansible-collection-hardening/issues/47)
- ansible-os-hardening/tasks/minimize\_access.yml [\#38](https://github.com/dev-sec/ansible-collection-hardening/issues/38)
- Role configuration. vars/main.yml? [\#34](https://github.com/dev-sec/ansible-collection-hardening/issues/34)
- Sysctl reloading [\#18](https://github.com/dev-sec/ansible-collection-hardening/issues/18)
- Add conditions for disabling of ip forwarding [\#15](https://github.com/dev-sec/ansible-collection-hardening/issues/15)
- Disable System Accounts [\#6](https://github.com/dev-sec/ansible-collection-hardening/issues/6)
**Merged pull requests:**
- prettier markdown files action added [\#322](https://github.com/dev-sec/ansible-collection-hardening/pull/322) ([danielkubat](https://github.com/danielkubat))
- adjust permissions on shadow file on suse [\#311](https://github.com/dev-sec/ansible-collection-hardening/pull/311) ([rndmh3ro](https://github.com/rndmh3ro))
- fix fedora build [\#296](https://github.com/dev-sec/ansible-collection-hardening/pull/296) ([rndmh3ro](https://github.com/rndmh3ro))
- do not blacklist used filesystems [\#289](https://github.com/dev-sec/ansible-collection-hardening/pull/289) ([schurzi](https://github.com/schurzi))
- move hidepid vars into defaults so theyre overwritable [\#285](https://github.com/dev-sec/ansible-collection-hardening/pull/285) ([rndmh3ro](https://github.com/rndmh3ro))
- install procps in debian so sysctl.conf exists [\#282](https://github.com/dev-sec/ansible-collection-hardening/pull/282) ([rndmh3ro](https://github.com/rndmh3ro))
- move defaults to os-specific vars [\#157](https://github.com/dev-sec/ansible-collection-hardening/pull/157) ([rndmh3ro](https://github.com/rndmh3ro))
- Converts set to JSON-serializable list [\#126](https://github.com/dev-sec/ansible-collection-hardening/pull/126) ([pestaa](https://github.com/pestaa))
- add more sysctl settings, allow overwriting [\#120](https://github.com/dev-sec/ansible-collection-hardening/pull/120) ([rndmh3ro](https://github.com/rndmh3ro))
- remove execshield sysctl-parameter on rhel7 [\#119](https://github.com/dev-sec/ansible-collection-hardening/pull/119) ([rndmh3ro](https://github.com/rndmh3ro))
- change shadow owner in debian systems [\#117](https://github.com/dev-sec/ansible-collection-hardening/pull/117) ([rndmh3ro](https://github.com/rndmh3ro))
- Rhel7 [\#113](https://github.com/dev-sec/ansible-collection-hardening/pull/113) ([tyrken](https://github.com/tyrken))
- use new Docker images [\#110](https://github.com/dev-sec/ansible-collection-hardening/pull/110) ([rndmh3ro](https://github.com/rndmh3ro))
- Don’t refer to this role as "playbook" in the role description [\#104](https://github.com/dev-sec/ansible-collection-hardening/pull/104) ([ypid](https://github.com/ypid))
- update template [\#101](https://github.com/dev-sec/ansible-collection-hardening/pull/101) ([rndmh3ro](https://github.com/rndmh3ro))
- fix deprecation warning for undefined error. \#99 [\#100](https://github.com/dev-sec/ansible-collection-hardening/pull/100) ([rndmh3ro](https://github.com/rndmh3ro))
- add rhel7 pam\_pwquality. fix \#73 [\#94](https://github.com/dev-sec/ansible-collection-hardening/pull/94) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix a formatting issue in readme. [\#92](https://github.com/dev-sec/ansible-collection-hardening/pull/92) ([vivekagr](https://github.com/vivekagr))
- Permits overriding permissions on /etc/shadow [\#89](https://github.com/dev-sec/ansible-collection-hardening/pull/89) ([conorsch](https://github.com/conorsch))
- Release 3.0.0 [\#75](https://github.com/dev-sec/ansible-collection-hardening/pull/75) ([rndmh3ro](https://github.com/rndmh3ro))
- Add explicit role-path to kitchen.yml [\#52](https://github.com/dev-sec/ansible-collection-hardening/pull/52) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix pam passwdqc template [\#51](https://github.com/dev-sec/ansible-collection-hardening/pull/51) ([rndmh3ro](https://github.com/rndmh3ro))
- New dir layout [\#49](https://github.com/dev-sec/ansible-collection-hardening/pull/49) ([rndmh3ro](https://github.com/rndmh3ro))
- remove duplicate "update pam" task [\#46](https://github.com/dev-sec/ansible-collection-hardening/pull/46) ([fitz123](https://github.com/fitz123))
- Fix stuck in case pam files was updated before by force update [\#45](https://github.com/dev-sec/ansible-collection-hardening/pull/45) ([fitz123](https://github.com/fitz123))
- Fix nologin shell path [\#44](https://github.com/dev-sec/ansible-collection-hardening/pull/44) ([fitz123](https://github.com/fitz123))
- improved travis-tests to cover more cases [\#42](https://github.com/dev-sec/ansible-collection-hardening/pull/42) ([rndmh3ro](https://github.com/rndmh3ro))
- Update kitchen-ansible, remove separate debian install [\#40](https://github.com/dev-sec/ansible-collection-hardening/pull/40) ([rndmh3ro](https://github.com/rndmh3ro))
- Add mode to su-binary task. Fix \#38 [\#39](https://github.com/dev-sec/ansible-collection-hardening/pull/39) ([rndmh3ro](https://github.com/rndmh3ro))
- update common kitchen.yml platforms \(ansible\), kitchen\_debian.yml platforms \(ansible\) [\#37](https://github.com/dev-sec/ansible-collection-hardening/pull/37) ([chris-rock](https://github.com/chris-rock))
- Change oneliner if-statements to be more readable [\#36](https://github.com/dev-sec/ansible-collection-hardening/pull/36) ([rndmh3ro](https://github.com/rndmh3ro))
- Separate system-vars from editable vars. Fix \#34 [\#35](https://github.com/dev-sec/ansible-collection-hardening/pull/35) ([rndmh3ro](https://github.com/rndmh3ro))
- Create limits.d-directory if it does not exist. [\#33](https://github.com/dev-sec/ansible-collection-hardening/pull/33) ([rndmh3ro](https://github.com/rndmh3ro))
- Add correct CONTRIB-file [\#32](https://github.com/dev-sec/ansible-collection-hardening/pull/32) ([rndmh3ro](https://github.com/rndmh3ro))
- Add Ansible Galaxy badge [\#31](https://github.com/dev-sec/ansible-collection-hardening/pull/31) ([rndmh3ro](https://github.com/rndmh3ro))
- Update readme, todo, changelog, vars [\#30](https://github.com/dev-sec/ansible-collection-hardening/pull/30) ([rndmh3ro](https://github.com/rndmh3ro))
- List-cleanup and follow symlinks added [\#29](https://github.com/dev-sec/ansible-collection-hardening/pull/29) ([rndmh3ro](https://github.com/rndmh3ro))
- Add module configuration [\#28](https://github.com/dev-sec/ansible-collection-hardening/pull/28) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix two sysctl-settings [\#27](https://github.com/dev-sec/ansible-collection-hardening/pull/27) ([rndmh3ro](https://github.com/rndmh3ro))
- Add meta-files for Ansible Galaxy [\#26](https://github.com/dev-sec/ansible-collection-hardening/pull/26) ([rndmh3ro](https://github.com/rndmh3ro))
- Disable System Accounts. Fix \#6 [\#25](https://github.com/dev-sec/ansible-collection-hardening/pull/25) ([rndmh3ro](https://github.com/rndmh3ro))
- Use changed\_when to avoid changed tasks [\#24](https://github.com/dev-sec/ansible-collection-hardening/pull/24) ([rndmh3ro](https://github.com/rndmh3ro))
- Delete authconfig-task on rhel-systems [\#23](https://github.com/dev-sec/ansible-collection-hardening/pull/23) ([rndmh3ro](https://github.com/rndmh3ro))
- Add missing rhosts-include task [\#21](https://github.com/dev-sec/ansible-collection-hardening/pull/21) ([rndmh3ro](https://github.com/rndmh3ro))
- Change sysctl-task. Fix \#18 [\#20](https://github.com/dev-sec/ansible-collection-hardening/pull/20) ([rndmh3ro](https://github.com/rndmh3ro))
- Add travis-support [\#17](https://github.com/dev-sec/ansible-collection-hardening/pull/17) ([rndmh3ro](https://github.com/rndmh3ro))
- Add conditions for various tasks. Fix \#15 [\#16](https://github.com/dev-sec/ansible-collection-hardening/pull/16) ([rndmh3ro](https://github.com/rndmh3ro))
- fix configuration of playbook path [\#14](https://github.com/dev-sec/ansible-collection-hardening/pull/14) ([chris-rock](https://github.com/chris-rock))
- Make tasks clearer [\#13](https://github.com/dev-sec/ansible-collection-hardening/pull/13) ([rndmh3ro](https://github.com/rndmh3ro))
- Add remove suid/sgid function [\#12](https://github.com/dev-sec/ansible-collection-hardening/pull/12) ([rndmh3ro](https://github.com/rndmh3ro))
- Add task to remove unused repos and pkgs [\#11](https://github.com/dev-sec/ansible-collection-hardening/pull/11) ([rndmh3ro](https://github.com/rndmh3ro))
- Edit README to fit to os-hardening [\#10](https://github.com/dev-sec/ansible-collection-hardening/pull/10) ([rndmh3ro](https://github.com/rndmh3ro))
- ignore RAs on Ipv6 [\#9](https://github.com/dev-sec/ansible-collection-hardening/pull/9) ([rndmh3ro](https://github.com/rndmh3ro))
- Repair debian install script [\#8](https://github.com/dev-sec/ansible-collection-hardening/pull/8) ([rndmh3ro](https://github.com/rndmh3ro))
- Separate tasks into multiple smaller files [\#7](https://github.com/dev-sec/ansible-collection-hardening/pull/7) ([rndmh3ro](https://github.com/rndmh3ro))
- Enable gpg-check on all yum-repositories [\#5](https://github.com/dev-sec/ansible-collection-hardening/pull/5) ([rndmh3ro](https://github.com/rndmh3ro))
- Change playbook-path to accomodate test-repo [\#4](https://github.com/dev-sec/ansible-collection-hardening/pull/4) ([rndmh3ro](https://github.com/rndmh3ro))
- treat securetty config as an array [\#3](https://github.com/dev-sec/ansible-collection-hardening/pull/3) ([arlimus](https://github.com/arlimus))
- Add Securetty-support [\#2](https://github.com/dev-sec/ansible-collection-hardening/pull/2) ([rndmh3ro](https://github.com/rndmh3ro))
- Add profile.conf configuration [\#1](https://github.com/dev-sec/ansible-collection-hardening/pull/1) ([rndmh3ro](https://github.com/rndmh3ro))
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
+12 -17
View File
@@ -26,28 +26,25 @@ Please follow common commit best-practices. Be explicit, have a short summary, a
Some great guidelines can be found [here](https://wiki.openstack.org/wiki/GitCommitMessages) and [here](http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message).
## Expectations
### Don't reinvent the wheel
This hardening project doesn't intend to reinvent the configuration stack for services. Aim to use official configuration projects first and provide hardening as a layer on top. The goal is remove the need for a user to configure all aspects of services and maintain security configuration. This way, the user can still configure a service using the interface provided by the official project.
* For Chef refer to the official [opscode community cookbooks](http://community.opscode.com/cookbooks).
* For Puppet head to the [Puppet Forge](https://forge.puppetlabs.com/) and take a node of the Puppet supported modules.
* For Ansible check the [Ansible Module Index](http://docs.ansible.com/list_of_all_modules.html)
- For Chef refer to the official [opscode community cookbooks](http://community.opscode.com/cookbooks).
- For Puppet head to the [Puppet Forge](https://forge.puppetlabs.com/) and take a node of the Puppet supported modules.
- For Ansible check the [Ansible Module Index](http://docs.ansible.com/list_of_all_modules.html)
These projects are generally hosted on GitHub as well.
In some cases, we in fact create the full rollout stack, but this is generally the exception ([os-hardening](https://github.com/TelekomLabs/chef-os-hardening), [nginx-hardening](https://github.com/TelekomLabs/chef-nginx-hardening)).
### Be explicit
* Please avoid using nonsensical property and variable names.
* Use self-describing attribute names for user configuration.
* In case of failures, communicate what happened and why a failure occurs to the user. Make it easy to track the code or action that produced the error. Try to catch and handle errors if possible to provide improved failure messages.
- Please avoid using nonsensical property and variable names.
- Use self-describing attribute names for user configuration.
- In case of failures, communicate what happened and why a failure occurs to the user. Make it easy to track the code or action that produced the error. Try to catch and handle errors if possible to provide improved failure messages.
### Add tests
@@ -59,24 +56,22 @@ You may add a new feature request by creating a test for whatever value you need
All tests will be reviewed internally for their validity and overall project direction.
### Document your code
As code is more often read than written, please provide documentation in all projects.
As code is more often read than written, please provide documentation in all projects.
Adhere to the respective guidelines for documentation:
* Chef generally documents code based explicit readme files. For code documentation please use [yard-chef](https://github.com/rightscale/yard-chef)
* [Puppet module documentation](http://docs.puppetlabs.com/puppet/latest/reference/modules_documentation.html)
- Chef generally documents code based explicit readme files. For code documentation please use [yard-chef](https://github.com/rightscale/yard-chef)
- [Puppet module documentation](http://docs.puppetlabs.com/puppet/latest/reference/modules_documentation.html)
### Follow coding styles
We generally include test for coding guidelines:
* Chef follows [Foodcritic](http://acrmp.github.io/foodcritic/)
* Puppet is checked with [puppet-lint](http://puppet-lint.com/checks/)
* Ansible is checked by running the playbook with the syntax-check option, e.g. `ansible-playbook foo.yml --syntax-check`
- Chef follows [Foodcritic](http://acrmp.github.io/foodcritic/)
- Puppet is checked with [puppet-lint](http://puppet-lint.com/checks/)
- Ansible is checked by running the playbook with the syntax-check option, e.g. `ansible-playbook foo.yml --syntax-check`
Remember: Code is generally read much more often than written.
-18
View File
@@ -1,18 +0,0 @@
# encoding: utf-8
source 'https://rubygems.org'
group :integration do
gem 'test-kitchen', '~> 1.0'
gem 'kitchen-ansible'
gem 'kitchen-vagrant'
gem 'kitchen-inspec'
gem 'kitchen-sharedtests', '~> 0.2.0'
gem 'kitchen-sync'
gem 'kitchen-transport-rsync'
gem 'kitchen-docker'
end
group :tools do
gem 'github_changelog_generator', '~> 1'
end
+201
View File
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+467
View File
@@ -0,0 +1,467 @@
# Changelog
## [6.2.0](https://github.com/dev-sec/ansible-os-hardening/tree/6.2.0) (2020-08-17)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/6.1.0...6.2.0)
**Implemented enhancements:**
- Optimize and unify when clause [\#295](https://github.com/dev-sec/ansible-os-hardening/pull/295) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([Alexhha](https://github.com/Alexhha))
- use find module instead of shell [\#294](https://github.com/dev-sec/ansible-os-hardening/pull/294) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([danielkubat](https://github.com/danielkubat))
- improve testing [\#287](https://github.com/dev-sec/ansible-os-hardening/pull/287) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[minor](https://github.com/dev-sec/ansible-os-hardening/labels/minor)] ([schurzi](https://github.com/schurzi))
**Fixed bugs:**
- Inconsistent use of role vars/role defaults [\#284](https://github.com/dev-sec/ansible-os-hardening/issues/284) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- replace module parameter fixed [\#297](https://github.com/dev-sec/ansible-os-hardening/pull/297) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([danielkubat](https://github.com/danielkubat))
**Closed issues:**
- Consider using find module instead of shell [\#293](https://github.com/dev-sec/ansible-os-hardening/issues/293)
- Optimize logical OR in when clause [\#292](https://github.com/dev-sec/ansible-os-hardening/issues/292)
- vfat added to dev-sec.conf, but efi is used [\#288](https://github.com/dev-sec/ansible-os-hardening/issues/288)
- OpenSUSE Support [\#249](https://github.com/dev-sec/ansible-os-hardening/issues/249)
**Merged pull requests:**
- fix fedora build [\#296](https://github.com/dev-sec/ansible-os-hardening/pull/296) ([rndmh3ro](https://github.com/rndmh3ro))
- do not blacklist used filesystems [\#289](https://github.com/dev-sec/ansible-os-hardening/pull/289) [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([schurzi](https://github.com/schurzi))
- move hidepid vars into defaults so theyre overwritable [\#285](https://github.com/dev-sec/ansible-os-hardening/pull/285) [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([rndmh3ro](https://github.com/rndmh3ro))
## [6.1.0](https://github.com/dev-sec/ansible-os-hardening/tree/6.1.0) (2020-07-21)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/6.0.3...6.1.0)
**Implemented enhancements:**
- Mount proc filesystem using hidepid option [\#283](https://github.com/dev-sec/ansible-os-hardening/pull/283) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[minor](https://github.com/dev-sec/ansible-os-hardening/labels/minor)] ([alegrey91](https://github.com/alegrey91))
**Fixed bugs:**
- Is it safe to use on Debian 10? The build is failing. [\#281](https://github.com/dev-sec/ansible-os-hardening/issues/281) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
**Closed issues:**
- The state of the galaxy release [\#269](https://github.com/dev-sec/ansible-os-hardening/issues/269)
**Merged pull requests:**
- install procps in debian so sysctl.conf exists [\#282](https://github.com/dev-sec/ansible-os-hardening/pull/282) [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([rndmh3ro](https://github.com/rndmh3ro))
## [6.0.3](https://github.com/dev-sec/ansible-os-hardening/tree/6.0.3) (2020-06-06)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/6.0.2...6.0.3)
**Implemented enhancements:**
- unify changelog and release actions [\#279](https://github.com/dev-sec/ansible-os-hardening/pull/279) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([rndmh3ro](https://github.com/rndmh3ro))
## [6.0.2](https://github.com/dev-sec/ansible-os-hardening/tree/6.0.2) (2020-06-02)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/6.0.1...6.0.2)
**Implemented enhancements:**
- purge insecure packages [\#275](https://github.com/dev-sec/ansible-os-hardening/pull/275) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[minor](https://github.com/dev-sec/ansible-os-hardening/labels/minor)] ([chris-rock](https://github.com/chris-rock))
## [6.0.1](https://github.com/dev-sec/ansible-os-hardening/tree/6.0.1) (2020-05-09)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/6.0.0...6.0.1)
**Implemented enhancements:**
- add changelog and release workflow [\#271](https://github.com/dev-sec/ansible-os-hardening/pull/271) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([rndmh3ro](https://github.com/rndmh3ro))
- github action for changelog generation [\#270](https://github.com/dev-sec/ansible-os-hardening/pull/270) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[patch](https://github.com/dev-sec/ansible-os-hardening/labels/patch)] ([rndmh3ro](https://github.com/rndmh3ro))
## [6.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/6.0.0) (2020-05-05)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/5.2.1...6.0.0)
**Implemented enhancements:**
- Configure audit=1 for more accurate auid auditing [\#253](https://github.com/dev-sec/ansible-os-hardening/issues/253) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)]
- Add Debian Buster support for ansible-os-hardening [\#233](https://github.com/dev-sec/ansible-os-hardening/issues/233) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[hacktoberfest](https://github.com/dev-sec/ansible-os-hardening/labels/hacktoberfest)]
- Add CentOS 8 support for ansible-os-hardening [\#232](https://github.com/dev-sec/ansible-os-hardening/issues/232) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[hacktoberfest](https://github.com/dev-sec/ansible-os-hardening/labels/hacktoberfest)]
- Add selinux configuration [\#154](https://github.com/dev-sec/ansible-os-hardening/issues/154) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[hacktoberfest](https://github.com/dev-sec/ansible-os-hardening/labels/hacktoberfest)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
- Make useradd defaults in login.defs dependent on OS [\#266](https://github.com/dev-sec/ansible-os-hardening/pull/266) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([aisbergg](https://github.com/aisbergg))
- Add kernel hardening parameters from Tails and CIS Benchmark [\#263](https://github.com/dev-sec/ansible-os-hardening/pull/263) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([kravietz](https://github.com/kravietz))
- add ansible-lint [\#262](https://github.com/dev-sec/ansible-os-hardening/pull/262) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Remove trailing space [\#261](https://github.com/dev-sec/ansible-os-hardening/pull/261) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([kravietz](https://github.com/kravietz))
- Add kernel parameter information to README [\#259](https://github.com/dev-sec/ansible-os-hardening/pull/259) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([jaredledvina](https://github.com/jaredledvina))
- Remove trailing whitespaces \(ansible-lint 201\) [\#254](https://github.com/dev-sec/ansible-os-hardening/pull/254) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([kravietz](https://github.com/kravietz))
- Standardize the var ordering [\#251](https://github.com/dev-sec/ansible-os-hardening/pull/251) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([dustinmiller1337](https://github.com/dustinmiller1337))
- Add intial support for OpenSUSE [\#250](https://github.com/dev-sec/ansible-os-hardening/pull/250) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([dustinmiller1337](https://github.com/dustinmiller1337))
- Make max_log_file_action for auditd configurable [\#246](https://github.com/dev-sec/ansible-os-hardening/pull/246) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([jandd](https://github.com/jandd))
- Add exception in sysctl task [\#240](https://github.com/dev-sec/ansible-os-hardening/pull/240) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([ghost](https://github.com/ghost))
- Fedora - Use new auto ansible_python_interpreter for dnf [\#239](https://github.com/dev-sec/ansible-os-hardening/pull/239) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([jaredledvina](https://github.com/jaredledvina))
- add test support for CentOS8 [\#237](https://github.com/dev-sec/ansible-os-hardening/pull/237) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([yeoldegrove](https://github.com/yeoldegrove))
- Support configuring SELinux and default to enforcing [\#236](https://github.com/dev-sec/ansible-os-hardening/pull/236) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([jaredledvina](https://github.com/jaredledvina))
- Add test support for debian buster [\#234](https://github.com/dev-sec/ansible-os-hardening/pull/234) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([123Haynes](https://github.com/123Haynes))
- Changed local var name to a less common one [\#231](https://github.com/dev-sec/ansible-os-hardening/pull/231) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rgarrigue](https://github.com/rgarrigue))
- Use ansible facts for vars [\#226](https://github.com/dev-sec/ansible-os-hardening/pull/226) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([joshuatalb](https://github.com/joshuatalb))
**Fixed bugs:**
- /etc/login.defs alters centos 7/8 default values [\#265](https://github.com/dev-sec/ansible-os-hardening/issues/265) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
- Invalid Conditionals in user_accounts.yml [\#255](https://github.com/dev-sec/ansible-os-hardening/issues/255) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- `auth-system` related files are created for non-RHEL systems \(e.g. Debian\) [\#247](https://github.com/dev-sec/ansible-os-hardening/issues/247) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- NSA website links are stale [\#227](https://github.com/dev-sec/ansible-os-hardening/issues/227) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[hacktoberfest](https://github.com/dev-sec/ansible-os-hardening/labels/hacktoberfest)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
- Running ansible on python3 throughs "TypeError: '\<=' not supported between instances of 'str' and 'int'" [\#223](https://github.com/dev-sec/ansible-os-hardening/issues/223) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- \[lots of\] deprecation warnings in Ansible 2.8 [\#221](https://github.com/dev-sec/ansible-os-hardening/issues/221) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
- Add a "don't fail on error" switch ? [\#148](https://github.com/dev-sec/ansible-os-hardening/issues/148) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Addressing issue \#255 [\#258](https://github.com/dev-sec/ansible-os-hardening/pull/258) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([ljkimmel](https://github.com/ljkimmel))
- Fix \#247, cleanup conditions [\#248](https://github.com/dev-sec/ansible-os-hardening/pull/248) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([fernandezcuesta](https://github.com/fernandezcuesta))
- Fix error on applying the sysctl vars on containers [\#243](https://github.com/dev-sec/ansible-os-hardening/pull/243) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([ghost](https://github.com/ghost))
- Update location of NSA RHEL 5 Guide [\#235](https://github.com/dev-sec/ansible-os-hardening/pull/235) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([jaredledvina](https://github.com/jaredledvina))
## [5.2.1](https://github.com/dev-sec/ansible-os-hardening/tree/5.2.1) (2019-06-09)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/5.2.0...5.2.1)
**Implemented enhancements:**
- Fix deprecation warnings in Ansible 2.8 [\#224](https://github.com/dev-sec/ansible-os-hardening/pull/224) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([Normo](https://github.com/Normo))
- add docs to find-task in minimize access. fix \#219 [\#220](https://github.com/dev-sec/ansible-os-hardening/pull/220) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
**Fixed bugs:**
- `squash_actions` deprecation warning [\#218](https://github.com/dev-sec/ansible-os-hardening/issues/218) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
## [5.2.0](https://github.com/dev-sec/ansible-os-hardening/tree/5.2.0) (2019-05-04)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/5.1.0...5.2.0)
**Implemented enhancements:**
- Speed up "minimize access on found files" task [\#208](https://github.com/dev-sec/ansible-os-hardening/issues/208) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)]
- Fedora support? [\#163](https://github.com/dev-sec/ansible-os-hardening/issues/163) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
- remove eol'd OS and add new [\#217](https://github.com/dev-sec/ansible-os-hardening/pull/217) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Add note about docker under warning [\#214](https://github.com/dev-sec/ansible-os-hardening/pull/214) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([ChrisMcKee](https://github.com/ChrisMcKee))
- change minimize access tasks to speed them up [\#209](https://github.com/dev-sec/ansible-os-hardening/pull/209) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Added fedora support [\#206](https://github.com/dev-sec/ansible-os-hardening/pull/206) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([jonaswre](https://github.com/jonaswre))
- Pass package list directly to apt and yum modules without using with_items loop [\#200](https://github.com/dev-sec/ansible-os-hardening/pull/200) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([Normo](https://github.com/Normo))
**Fixed bugs:**
- login.defs.j2 template: ENV_PATH is missing ':' before variable substitution [\#202](https://github.com/dev-sec/ansible-os-hardening/issues/202) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- 'sysctl_rhel_config' is undefined [\#167](https://github.com/dev-sec/ansible-os-hardening/issues/167) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- RHEL 7.4: Too many setuid bits removed [\#140](https://github.com/dev-sec/ansible-os-hardening/issues/140) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
- Fix typo [\#212](https://github.com/dev-sec/ansible-os-hardening/pull/212) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([ruslo](https://github.com/ruslo))
- Update modprobe to 0644 [\#211](https://github.com/dev-sec/ansible-os-hardening/pull/211) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([joshuatalb](https://github.com/joshuatalb))
- Test Kitchen Vagrant Fixes [\#210](https://github.com/dev-sec/ansible-os-hardening/pull/210) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([joshuatalb](https://github.com/joshuatalb))
- \[readme\] Update documentation link [\#207](https://github.com/dev-sec/ansible-os-hardening/pull/207) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([pmav99](https://github.com/pmav99))
- fix ansible lint remarks [\#204](https://github.com/dev-sec/ansible-os-hardening/pull/204) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([rndmh3ro](https://github.com/rndmh3ro))
- add colon to user env paths - fix \#202 [\#203](https://github.com/dev-sec/ansible-os-hardening/pull/203) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([rndmh3ro](https://github.com/rndmh3ro))
- Fix errors produced by ansible-lint [\#159](https://github.com/dev-sec/ansible-os-hardening/pull/159) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([zbrojny120](https://github.com/zbrojny120))
## [5.1.0](https://github.com/dev-sec/ansible-os-hardening/tree/5.1.0) (2018-10-17)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/5.0.0...5.1.0)
**Implemented enhancements:**
- add ubuntu 1804 support [\#196](https://github.com/dev-sec/ansible-os-hardening/pull/196) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- add option to disable auditd [\#192](https://github.com/dev-sec/ansible-os-hardening/pull/192) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
**Fixed bugs:**
- auditd causing v5.0 to fail on unpriviledged LXC's [\#191](https://github.com/dev-sec/ansible-os-hardening/issues/191) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Setting os_security_users_allow has no effect [\#175](https://github.com/dev-sec/ansible-os-hardening/issues/175) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- add /usr/bin/su to suid_guid whitelist [\#199](https://github.com/dev-sec/ansible-os-hardening/pull/199) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([ccolic](https://github.com/ccolic))
- ensure that permissions to su-binary are not restricted to root user and group only, if os_security_users_allow contains the value change_user [\#197](https://github.com/dev-sec/ansible-os-hardening/pull/197) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([szEvEz](https://github.com/szEvEz))
## [5.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/5.0.0) (2018-09-02)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/4.3.0...5.0.0)
**Implemented enhancements:**
- Warning about "include" for tasks for ansible-playbook 2.4.0 \(devel f0a5854e39\) [\#131](https://github.com/dev-sec/ansible-os-hardening/issues/131) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)]
- fix problems with efi and vfat [\#190](https://github.com/dev-sec/ansible-os-hardening/pull/190) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- added os_hardening_enabled flag [\#186](https://github.com/dev-sec/ansible-os-hardening/pull/186) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([jcheroske](https://github.com/jcheroske))
- add amazon run opts to travis [\#183](https://github.com/dev-sec/ansible-os-hardening/pull/183) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- use package instead of yum and apt [\#180](https://github.com/dev-sec/ansible-os-hardening/pull/180) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- add oracle7 to travis [\#178](https://github.com/dev-sec/ansible-os-hardening/pull/178) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- fix wrong permissions passwdqc \#170 [\#176](https://github.com/dev-sec/ansible-os-hardening/pull/176) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- ipv4 forwarding comment is inconsistent with example [\#174](https://github.com/dev-sec/ansible-os-hardening/pull/174) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([carchrae](https://github.com/carchrae))
- Rename pam_passwdqd.j2 to pam_passwdqc.j2 [\#172](https://github.com/dev-sec/ansible-os-hardening/pull/172) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([martinbydefault](https://github.com/martinbydefault))
- Use package state 'present' since 'installed' is deprecated [\#168](https://github.com/dev-sec/ansible-os-hardening/pull/168) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([Normo](https://github.com/Normo))
- Update syntax to Ansible 2.4 [\#161](https://github.com/dev-sec/ansible-os-hardening/pull/161) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([thomasjpfan](https://github.com/thomasjpfan))
- add amazon linux testing [\#160](https://github.com/dev-sec/ansible-os-hardening/pull/160) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Add support for Amazon Linux [\#158](https://github.com/dev-sec/ansible-os-hardening/pull/158) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([woneill](https://github.com/woneill))
- install and configure auditd - fix inspec package-08 [\#144](https://github.com/dev-sec/ansible-os-hardening/pull/144) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Remove deprecated include for static tasks and use instead import_tasks fix \#131 [\#132](https://github.com/dev-sec/ansible-os-hardening/pull/132) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([HelioCampos](https://github.com/HelioCampos))
**Fixed bugs:**
- minimize_access: maximum recursion depth exceeded on Ansible 2.5 [\#171](https://github.com/dev-sec/ansible-os-hardening/issues/171) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- wrong permissions passwdqc [\#170](https://github.com/dev-sec/ansible-os-hardening/issues/170) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Update deprecated `include` statements [\#166](https://github.com/dev-sec/ansible-os-hardening/issues/166) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Strongly recommend against disabling vfat by default [\#162](https://github.com/dev-sec/ansible-os-hardening/issues/162) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- System completely unresponsive after role execution [\#145](https://github.com/dev-sec/ansible-os-hardening/issues/145) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- do not install passwdqc on amazon linux [\#189](https://github.com/dev-sec/ansible-os-hardening/pull/189) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([rndmh3ro](https://github.com/rndmh3ro))
- add back run opts for debian 8 in travis [\#184](https://github.com/dev-sec/ansible-os-hardening/pull/184) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([rndmh3ro](https://github.com/rndmh3ro))
- Fix core dump config file creation when core dumps are disabled [\#182](https://github.com/dev-sec/ansible-os-hardening/pull/182) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([Normo](https://github.com/Normo))
- change minimize access method [\#181](https://github.com/dev-sec/ansible-os-hardening/pull/181) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([rndmh3ro](https://github.com/rndmh3ro))
## [4.3.0](https://github.com/dev-sec/ansible-os-hardening/tree/4.3.0) (2018-01-03)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/4.3.1...4.3.0)
**Implemented enhancements:**
- Update some RH settings in this role [\#155](https://github.com/dev-sec/ansible-os-hardening/issues/155) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)]
- Removal of core dump hardening configuration if core dumps are allowed [\#129](https://github.com/dev-sec/ansible-os-hardening/issues/129) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
- Don't create home for system accounts [\#156](https://github.com/dev-sec/ansible-os-hardening/pull/156) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([oakey-b1](https://github.com/oakey-b1))
- Prevent disabling of filesystems via whitelist [\#153](https://github.com/dev-sec/ansible-os-hardening/pull/153) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([manuelprinz](https://github.com/manuelprinz))
- Add kernel hardening settings from Ubuntu /etc/sysctl.d [\#150](https://github.com/dev-sec/ansible-os-hardening/pull/150) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([kravietz](https://github.com/kravietz))
- Removal of core dump hardening configuration if core dumps are allowed [\#146](https://github.com/dev-sec/ansible-os-hardening/pull/146) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([martinbydefault](https://github.com/martinbydefault))
- add missing sysctl parameter [\#143](https://github.com/dev-sec/ansible-os-hardening/pull/143) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] [[in progress](https://github.com/dev-sec/ansible-os-hardening/labels/in%20progress)] ([rndmh3ro](https://github.com/rndmh3ro))
- update readme [\#139](https://github.com/dev-sec/ansible-os-hardening/pull/139) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
**Fixed bugs:**
- bug in ufw.j2 template [\#151](https://github.com/dev-sec/ansible-os-hardening/issues/151) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- replace single ticks with double ticks. fix \#151 [\#152](https://github.com/dev-sec/ansible-os-hardening/pull/152) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([rndmh3ro](https://github.com/rndmh3ro))
- fixed tag [\#149](https://github.com/dev-sec/ansible-os-hardening/pull/149) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([martinbydefault](https://github.com/martinbydefault))
**Closed issues:**
- ansible hardening fails on ubuntu 16.04 with msg": "ERROR! 'sysctl_rhel_config' is undefined [\#147](https://github.com/dev-sec/ansible-os-hardening/issues/147)
- Enhancement: Test with TestInfra and Molecule [\#128](https://github.com/dev-sec/ansible-os-hardening/issues/128)
**Merged pull requests:**
- move defaults to os-specific vars [\#157](https://github.com/dev-sec/ansible-os-hardening/pull/157) ([rndmh3ro](https://github.com/rndmh3ro))
## [4.3.1](https://github.com/dev-sec/ansible-os-hardening/tree/4.3.1) (2017-09-13)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/4.2.0...4.3.1)
**Fixed bugs:**
- os_security_kernel_enable_sysrq is not implemented [\#115](https://github.com/dev-sec/ansible-os-hardening/issues/115) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
## [4.2.0](https://github.com/dev-sec/ansible-os-hardening/tree/4.2.0) (2017-08-08)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/4.1.0...4.2.0)
**Implemented enhancements:**
- add modprobe template, control os-10 [\#138](https://github.com/dev-sec/ansible-os-hardening/pull/138) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- new task for delete netrc files, control os-09 [\#137](https://github.com/dev-sec/ansible-os-hardening/pull/137) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- add passwd task, control os-03 [\#136](https://github.com/dev-sec/ansible-os-hardening/pull/136) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- remove prelink package, control package-09 [\#135](https://github.com/dev-sec/ansible-os-hardening/pull/135) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- style update [\#134](https://github.com/dev-sec/ansible-os-hardening/pull/134) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Fix ansible.cfg and use comment filter [\#130](https://github.com/dev-sec/ansible-os-hardening/pull/130) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([fazlearefin](https://github.com/fazlearefin))
**Fixed bugs:**
- Why is rsync removed? [\#141](https://github.com/dev-sec/ansible-os-hardening/issues/141) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- playbook makes OS undetectable [\#124](https://github.com/dev-sec/ansible-os-hardening/issues/124) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Centos7/RHEL7: Exec shield is enabled by default and not manageable anymore by sysctl.conf [\#118](https://github.com/dev-sec/ansible-os-hardening/issues/118) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Remove rsync from package blacklist [\#142](https://github.com/dev-sec/ansible-os-hardening/pull/142) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([duk3luk3](https://github.com/duk3luk3))
**Merged pull requests:**
- remove execshield sysctl-parameter on rhel7 [\#119](https://github.com/dev-sec/ansible-os-hardening/pull/119) ([rndmh3ro](https://github.com/rndmh3ro))
## [4.1.0](https://github.com/dev-sec/ansible-os-hardening/tree/4.1.0) (2017-06-27)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/4.0.0...4.1.0)
**Fixed bugs:**
- Change system accounts not on the user provided ignore-list items are not JSON serializable [\#125](https://github.com/dev-sec/ansible-os-hardening/issues/125) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Could not find gem 'ruby \(\>= 2.1.0\)' [\#116](https://github.com/dev-sec/ansible-os-hardening/issues/116) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- The task sysctl fails when /etc/initramfs-tools is not present [\#111](https://github.com/dev-sec/ansible-os-hardening/issues/111) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Deprecation warning always_run [\#103](https://github.com/dev-sec/ansible-os-hardening/issues/103) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
**Closed issues:**
- Enhancement: Pin python dependencies for development and testing [\#127](https://github.com/dev-sec/ansible-os-hardening/issues/127)
- Update readme to include baselines [\#122](https://github.com/dev-sec/ansible-os-hardening/issues/122)
**Merged pull requests:**
- Converts set to JSON-serializable list [\#126](https://github.com/dev-sec/ansible-os-hardening/pull/126) ([pestaa](https://github.com/pestaa))
- add more sysctl settings, allow overwriting [\#120](https://github.com/dev-sec/ansible-os-hardening/pull/120) ([rndmh3ro](https://github.com/rndmh3ro))
## [4.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/4.0.0) (2017-03-14)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/3.2.0...4.0.0)
**Implemented enhancements:**
- Description of the Ansible roles of dev-sec says "This Ansible playbook" [\#97](https://github.com/dev-sec/ansible-os-hardening/issues/97) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)]
- install initramfs-tools [\#114](https://github.com/dev-sec/ansible-os-hardening/pull/114) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- omit empty variables [\#106](https://github.com/dev-sec/ansible-os-hardening/pull/106) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
**Fixed bugs:**
- The role fails when conditionally included [\#105](https://github.com/dev-sec/ansible-os-hardening/issues/105) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
**Closed issues:**
- Error running on RHEL 7 due to syntax issues [\#112](https://github.com/dev-sec/ansible-os-hardening/issues/112)
- disable password age [\#109](https://github.com/dev-sec/ansible-os-hardening/issues/109)
**Merged pull requests:**
- change shadow owner in debian systems [\#117](https://github.com/dev-sec/ansible-os-hardening/pull/117) ([rndmh3ro](https://github.com/rndmh3ro))
- Rhel7 [\#113](https://github.com/dev-sec/ansible-os-hardening/pull/113) ([tyrken](https://github.com/tyrken))
- use new Docker images [\#110](https://github.com/dev-sec/ansible-os-hardening/pull/110) ([rndmh3ro](https://github.com/rndmh3ro))
- Don’t refer to this role as "playbook" in the role description [\#104](https://github.com/dev-sec/ansible-os-hardening/pull/104) ([ypid](https://github.com/ypid))
## [3.2.0](https://github.com/dev-sec/ansible-os-hardening/tree/3.2.0) (2016-10-24)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/3.1.0...3.2.0)
**Fixed bugs:**
- CentOS 7 selinux dependencies [\#102](https://github.com/dev-sec/ansible-os-hardening/issues/102) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- ubuntu xenial warning during activate gpg-check for yum-repos [\#99](https://github.com/dev-sec/ansible-os-hardening/issues/99) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- rhel_system_auth.j2 is still using pam_passwdqc.so for CentOS 7 [\#98](https://github.com/dev-sec/ansible-os-hardening/issues/98) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Enable pam_pwquality in rhel-family \> 7 [\#73](https://github.com/dev-sec/ansible-os-hardening/issues/73) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
- "irc" user always changed after reboot [\#53](https://github.com/dev-sec/ansible-os-hardening/issues/53) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
**Merged pull requests:**
- update template [\#101](https://github.com/dev-sec/ansible-os-hardening/pull/101) ([rndmh3ro](https://github.com/rndmh3ro))
- fix deprecation warning for undefined error. \#99 [\#100](https://github.com/dev-sec/ansible-os-hardening/pull/100) ([rndmh3ro](https://github.com/rndmh3ro))
- add rhel7 pam_pwquality. fix \#73 [\#94](https://github.com/dev-sec/ansible-os-hardening/pull/94) ([rndmh3ro](https://github.com/rndmh3ro))
## [3.1.0](https://github.com/dev-sec/ansible-os-hardening/tree/3.1.0) (2016-08-03)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/3.1...3.1.0)
## [3.1](https://github.com/dev-sec/ansible-os-hardening/tree/3.1) (2016-07-27)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/3.0.0...3.1)
**Implemented enhancements:**
- Supports --check mode [\#93](https://github.com/dev-sec/ansible-os-hardening/pull/93) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([conorsch](https://github.com/conorsch))
- Adds support for CentOS 7 [\#91](https://github.com/dev-sec/ansible-os-hardening/pull/91) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([conorsch](https://github.com/conorsch))
- Docker [\#90](https://github.com/dev-sec/ansible-os-hardening/pull/90) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- debian 8 support [\#88](https://github.com/dev-sec/ansible-os-hardening/pull/88) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Ufw manage defaults [\#85](https://github.com/dev-sec/ansible-os-hardening/pull/85) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([fitz123](https://github.com/fitz123))
- replace ignore_errors to failed_when to supress ugly error warnings [\#81](https://github.com/dev-sec/ansible-os-hardening/pull/81) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([fitz123](https://github.com/fitz123))
- fix bare variables usage for loops [\#79](https://github.com/dev-sec/ansible-os-hardening/pull/79) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([fitz123](https://github.com/fitz123))
**Fixed bugs:**
- Centos 7.1 fails at \[Change various sysctl-settings on rhel-hosts...\] [\#74](https://github.com/dev-sec/ansible-os-hardening/issues/74) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)]
- Hardening fails on Centos 7.1 at task 'minimize access' [\#71](https://github.com/dev-sec/ansible-os-hardening/issues/71) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] [[help wanted](https://github.com/dev-sec/ansible-os-hardening/labels/help%20wanted)]
**Closed issues:**
- Permissions on /etc/shadow can lock out GUI users [\#86](https://github.com/dev-sec/ansible-os-hardening/issues/86)
- network related sysctl rewritten by ufw in ubuntu [\#82](https://github.com/dev-sec/ansible-os-hardening/issues/82)
- ansible \>= 2.0 complains: Using bare variables is deprecated [\#78](https://github.com/dev-sec/ansible-os-hardening/issues/78)
**Merged pull requests:**
- Fix a formatting issue in readme. [\#92](https://github.com/dev-sec/ansible-os-hardening/pull/92) ([vivekagr](https://github.com/vivekagr))
- Permits overriding permissions on /etc/shadow [\#89](https://github.com/dev-sec/ansible-os-hardening/pull/89) ([conorsch](https://github.com/conorsch))
## [3.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/3.0.0) (2016-03-13)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/2.0.0...3.0.0)
**Implemented enhancements:**
- update platforms in meta-file [\#69](https://github.com/dev-sec/ansible-os-hardening/pull/69) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- add webhook for ansible galaxy [\#68](https://github.com/dev-sec/ansible-os-hardening/pull/68) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Move sysctl vars to defaults [\#67](https://github.com/dev-sec/ansible-os-hardening/pull/67) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- make sys_uid and sys_gid configurable [\#62](https://github.com/dev-sec/ansible-os-hardening/pull/62) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Ansible 2.0 support [\#59](https://github.com/dev-sec/ansible-os-hardening/pull/59) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- use inspec as test framework [\#58](https://github.com/dev-sec/ansible-os-hardening/pull/58) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([chris-rock](https://github.com/chris-rock))
- Packages as attributes [\#57](https://github.com/dev-sec/ansible-os-hardening/pull/57) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Change categories to tags for upcoming ansible 2.0 [\#56](https://github.com/dev-sec/ansible-os-hardening/pull/56) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- Add SINGLE and PROMPT parameters. [\#55](https://github.com/dev-sec/ansible-os-hardening/pull/55) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([rndmh3ro](https://github.com/rndmh3ro))
- add changelog generator [\#54](https://github.com/dev-sec/ansible-os-hardening/pull/54) [[enhancement](https://github.com/dev-sec/ansible-os-hardening/labels/enhancement)] ([chris-rock](https://github.com/chris-rock))
**Fixed bugs:**
- Updates "tags" parameters on includes in main.yml [\#66](https://github.com/dev-sec/ansible-os-hardening/pull/66) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([conorsch](https://github.com/conorsch))
- Suid set def var, fix \#64 [\#63](https://github.com/dev-sec/ansible-os-hardening/pull/63) [[bug](https://github.com/dev-sec/ansible-os-hardening/labels/bug)] ([rndmh3ro](https://github.com/rndmh3ro))
**Closed issues:**
- Hardening fails on Centos 7.1 at task 'remove suid/sgid bit from all binaries except in system and user whitelist' [\#72](https://github.com/dev-sec/ansible-os-hardening/issues/72)
- ansible 2.0 | "remove suid/sgid" task fails [\#64](https://github.com/dev-sec/ansible-os-hardening/issues/64)
- Custom sysctl [\#50](https://github.com/dev-sec/ansible-os-hardening/issues/50)
**Merged pull requests:**
- Release 3.0.0 [\#75](https://github.com/dev-sec/ansible-os-hardening/pull/75) ([rndmh3ro](https://github.com/rndmh3ro))
## [2.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/2.0.0) (2015-11-28)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/1.0.0...2.0.0)
**Closed issues:**
- Fix directory structure. [\#48](https://github.com/dev-sec/ansible-os-hardening/issues/48)
- pam auth update error [\#47](https://github.com/dev-sec/ansible-os-hardening/issues/47)
**Merged pull requests:**
- Add explicit role-path to kitchen.yml [\#52](https://github.com/dev-sec/ansible-os-hardening/pull/52) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix pam passwdqc template [\#51](https://github.com/dev-sec/ansible-os-hardening/pull/51) ([rndmh3ro](https://github.com/rndmh3ro))
- New dir layout [\#49](https://github.com/dev-sec/ansible-os-hardening/pull/49) ([rndmh3ro](https://github.com/rndmh3ro))
- remove duplicate "update pam" task [\#46](https://github.com/dev-sec/ansible-os-hardening/pull/46) ([fitz123](https://github.com/fitz123))
- Fix stuck in case pam files was updated before by force update [\#45](https://github.com/dev-sec/ansible-os-hardening/pull/45) ([fitz123](https://github.com/fitz123))
- Fix nologin shell path [\#44](https://github.com/dev-sec/ansible-os-hardening/pull/44) ([fitz123](https://github.com/fitz123))
- improved travis-tests to cover more cases [\#42](https://github.com/dev-sec/ansible-os-hardening/pull/42) ([rndmh3ro](https://github.com/rndmh3ro))
## [1.0.0](https://github.com/dev-sec/ansible-os-hardening/tree/1.0.0) (2015-09-01)
[Full Changelog](https://github.com/dev-sec/ansible-os-hardening/compare/a9591764206b79a4ed324bb8576151ebac0127b1...1.0.0)
**Closed issues:**
- ansible-os-hardening/tasks/minimize_access.yml [\#38](https://github.com/dev-sec/ansible-os-hardening/issues/38)
- Role configuration. vars/main.yml? [\#34](https://github.com/dev-sec/ansible-os-hardening/issues/34)
- Sysctl reloading [\#18](https://github.com/dev-sec/ansible-os-hardening/issues/18)
- Add conditions for disabling of ip forwarding [\#15](https://github.com/dev-sec/ansible-os-hardening/issues/15)
- Disable System Accounts [\#6](https://github.com/dev-sec/ansible-os-hardening/issues/6)
**Merged pull requests:**
- Update kitchen-ansible, remove separate debian install [\#40](https://github.com/dev-sec/ansible-os-hardening/pull/40) ([rndmh3ro](https://github.com/rndmh3ro))
- Add mode to su-binary task. Fix \#38 [\#39](https://github.com/dev-sec/ansible-os-hardening/pull/39) ([rndmh3ro](https://github.com/rndmh3ro))
- update common kitchen.yml platforms \(ansible\), kitchen_debian.yml platforms \(ansible\) [\#37](https://github.com/dev-sec/ansible-os-hardening/pull/37) ([chris-rock](https://github.com/chris-rock))
- Change oneliner if-statements to be more readable [\#36](https://github.com/dev-sec/ansible-os-hardening/pull/36) ([rndmh3ro](https://github.com/rndmh3ro))
- Separate system-vars from editable vars. Fix \#34 [\#35](https://github.com/dev-sec/ansible-os-hardening/pull/35) ([rndmh3ro](https://github.com/rndmh3ro))
- Create limits.d-directory if it does not exist. [\#33](https://github.com/dev-sec/ansible-os-hardening/pull/33) ([rndmh3ro](https://github.com/rndmh3ro))
- Add correct CONTRIB-file [\#32](https://github.com/dev-sec/ansible-os-hardening/pull/32) ([rndmh3ro](https://github.com/rndmh3ro))
- Add Ansible Galaxy badge [\#31](https://github.com/dev-sec/ansible-os-hardening/pull/31) ([rndmh3ro](https://github.com/rndmh3ro))
- Update readme, todo, changelog, vars [\#30](https://github.com/dev-sec/ansible-os-hardening/pull/30) ([rndmh3ro](https://github.com/rndmh3ro))
- List-cleanup and follow symlinks added [\#29](https://github.com/dev-sec/ansible-os-hardening/pull/29) ([rndmh3ro](https://github.com/rndmh3ro))
- Add module configuration [\#28](https://github.com/dev-sec/ansible-os-hardening/pull/28) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix two sysctl-settings [\#27](https://github.com/dev-sec/ansible-os-hardening/pull/27) ([rndmh3ro](https://github.com/rndmh3ro))
- Add meta-files for Ansible Galaxy [\#26](https://github.com/dev-sec/ansible-os-hardening/pull/26) ([rndmh3ro](https://github.com/rndmh3ro))
- Disable System Accounts. Fix \#6 [\#25](https://github.com/dev-sec/ansible-os-hardening/pull/25) ([rndmh3ro](https://github.com/rndmh3ro))
- Use changed_when to avoid changed tasks [\#24](https://github.com/dev-sec/ansible-os-hardening/pull/24) ([rndmh3ro](https://github.com/rndmh3ro))
- Delete authconfig-task on rhel-systems [\#23](https://github.com/dev-sec/ansible-os-hardening/pull/23) ([rndmh3ro](https://github.com/rndmh3ro))
- Add missing rhosts-include task [\#21](https://github.com/dev-sec/ansible-os-hardening/pull/21) ([rndmh3ro](https://github.com/rndmh3ro))
- Change sysctl-task. Fix \#18 [\#20](https://github.com/dev-sec/ansible-os-hardening/pull/20) ([rndmh3ro](https://github.com/rndmh3ro))
- Add travis-support [\#17](https://github.com/dev-sec/ansible-os-hardening/pull/17) ([rndmh3ro](https://github.com/rndmh3ro))
- Add conditions for various tasks. Fix \#15 [\#16](https://github.com/dev-sec/ansible-os-hardening/pull/16) ([rndmh3ro](https://github.com/rndmh3ro))
- fix configuration of playbook path [\#14](https://github.com/dev-sec/ansible-os-hardening/pull/14) ([chris-rock](https://github.com/chris-rock))
- Make tasks clearer [\#13](https://github.com/dev-sec/ansible-os-hardening/pull/13) ([rndmh3ro](https://github.com/rndmh3ro))
- Add remove suid/sgid function [\#12](https://github.com/dev-sec/ansible-os-hardening/pull/12) ([rndmh3ro](https://github.com/rndmh3ro))
- Add task to remove unused repos and pkgs [\#11](https://github.com/dev-sec/ansible-os-hardening/pull/11) ([rndmh3ro](https://github.com/rndmh3ro))
- Edit README to fit to os-hardening [\#10](https://github.com/dev-sec/ansible-os-hardening/pull/10) ([rndmh3ro](https://github.com/rndmh3ro))
- ignore RAs on Ipv6 [\#9](https://github.com/dev-sec/ansible-os-hardening/pull/9) ([rndmh3ro](https://github.com/rndmh3ro))
- Repair debian install script [\#8](https://github.com/dev-sec/ansible-os-hardening/pull/8) ([rndmh3ro](https://github.com/rndmh3ro))
- Separate tasks into multiple smaller files [\#7](https://github.com/dev-sec/ansible-os-hardening/pull/7) ([rndmh3ro](https://github.com/rndmh3ro))
- Enable gpg-check on all yum-repositories [\#5](https://github.com/dev-sec/ansible-os-hardening/pull/5) ([rndmh3ro](https://github.com/rndmh3ro))
- Change playbook-path to accomodate test-repo [\#4](https://github.com/dev-sec/ansible-os-hardening/pull/4) ([rndmh3ro](https://github.com/rndmh3ro))
- treat securetty config as an array [\#3](https://github.com/dev-sec/ansible-os-hardening/pull/3) ([arlimus](https://github.com/arlimus))
- Add Securetty-support [\#2](https://github.com/dev-sec/ansible-os-hardening/pull/2) ([rndmh3ro](https://github.com/rndmh3ro))
- Add profile.conf configuration [\#1](https://github.com/dev-sec/ansible-os-hardening/pull/1) ([rndmh3ro](https://github.com/rndmh3ro))
\* _This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)_
+73 -135
View File
@@ -1,172 +1,110 @@
# os-hardening (Ansible Role)
# Ansible Collection - devsec.hardening
[![Build Status](http://img.shields.io/travis/dev-sec/ansible-os-hardening.svg)][1]
[![Gitter Chat](https://badges.gitter.im/Join%20Chat.svg)][2]
[![Ansible Galaxy](https://img.shields.io/badge/galaxy-os--hardening-660198.svg)][3]
![devsec.os_hardening](https://github.com/dev-sec/ansible-os-hardening/workflows/devsec.os_hardening/badge.svg)
![devsec.os_hardening VM](https://github.com/dev-sec/ansible-os-hardening/workflows/devsec.os_hardening%20VM/badge.svg)
![devsec.ssh_hardening](https://github.com/dev-sec/ansible-os-hardening/workflows/devsec.ssh_hardening/badge.svg)
![devsec.nginx_hardening](https://github.com/dev-sec/ansible-os-hardening/workflows/devsec.nginx_hardening/badge.svg)
![devsec.mysql_hardening](https://github.com/dev-sec/ansible-os-hardening/workflows/devsec.mysql_hardening/badge.svg)
## Description
This roles provides numerous security-related configurations, providing all-round base protection. It is intended to be compliant with the [DevSec Linux Baseline](https://github.com/dev-sec/linux-baseline).
This collection provides battle tested hardening for:
It configures:
- Linux operating systems:
- CentOS 7
- Rocky Linux 8
- Debian 10/11
- Ubuntu 18.04/20.04/22.04
- Amazon Linux (some roles supported)
- Arch Linux (some roles supported)
- Fedora (some roles supported)
- Suse Tumbleweed (some roles supported)
- MySQL
- MariaDB >= 5.5.65, >= 10.1.45, >= 10.3.17
- MySQL >= 5.7.31, >= 8.0.3
- Nginx 1.0.16 or later
- OpenSSH 5.3 and later
* Configures package management e.g. allows only signed packages
* Remove packages with known issues
* Configures `pam` and `pam_limits` module
* Shadow password suite configuration
* Configures system path permissions
* Disable core dumps via soft limits
* Restrict Root Logins to System Console
* Set SUIDs
* Configures kernel parameters via sysctl
The hardening is intended to be compliant with the Inspec DevSec Baselines:
It will not:
- <https://github.com/dev-sec/linux-baseline>
- <https://github.com/dev-sec/mysql-baseline>
- <https://github.com/dev-sec/nginx-baseline>
- <https://github.com/dev-sec/ssh-baseline>
* Update system packages
* Install security patches
## Looking for the old roles?
## Requirements
The roles are now part of the hardening-collection.
We have kept the old releases of the `os-hardening` role in this repository, so you can find the them by exploring older tags.
The last release of the standalone role was [6.2.0](https://github.com/dev-sec/ansible-collection-hardening/tree/6.2.0).
* Ansible 2.2.1
The other roles are in separate archives repositories:
## Variables
- [apache_hardening](https://github.com/dev-sec/ansible-apache-hardening)
- [mysql_hardening](https://github.com/dev-sec/ansible-mysql-hardening)
- [nginx_hardening](https://github.com/dev-sec/ansible-nginx-hardening)
- [ssh_hardening](https://github.com/dev-sec/ansible-ssh-hardening)
- [windows_hardening](https://github.com/dev-sec/ansible-windows-hardening)
| Name | Default Value | Description |
| -------------- | ------------- | -----------------------------------|
| `os_desktop_enable`| false | true if this is a desktop system, ie Xorg, KDE/GNOME/Unity/etc|
| `os_env_extra_user_paths`| [] | add additional paths to the user's `PATH` variable (default is empty).|
| `os_env_umask`| 027| set default permissions for new files to `750` |
| `os_auth_pw_max_age`| 60 | maximum password age (set to `99999` to effectively disable it) |
| `os_auth_pw_min_age`| 7 | minimum password age (before allowing any other password change)|
| `os_auth_retries`| 5 | the maximum number of authentication attempts, before the account is locked for some time|
| `os_auth_lockout_time`| 600 | time in seconds that needs to pass, if the account was locked due to too many failed authentication attempts|
| `os_auth_timeout`| 60 | authentication timeout in seconds, so login will exit if this time passes|
| `os_auth_allow_homeless`| false | true if to allow users without home to login|
| `os_auth_pam_passwdqc_enable`| true | true if you want to use strong password checking in PAM using passwdqc|
| `os_auth_pam_passwdqc_options`| "min=disabled,disabled,16,12,8" | set to any option line (as a string) that you want to pass to passwdqc|
| `os_security_users_allow`| [] | list of things, that a user is allowed to do. May contain `change_user`.
| `os_security_kernel_enable_module_loading`| true | true if you want to allowed to change kernel modules once the system is running (eg `modprobe`, `rmmod`)|
| `os_security_kernel_enable_sysrq`| false | sysrq is a 'magical' key combo you can hit which the kernel will respond to regardless of whatever else it is doing, unless it is completely locked up. |
| `os_security_kernel_enable_core_dump`| false | kernel is crashing or otherwise misbehaving and a kernel core dump is created |
| `os_security_suid_sgid_enforce`| true | true if you want to reduce SUID/SGID bits. There is already a list of items which are searched for configured, but you can also add your own|
| `os_security_suid_sgid_blacklist`| [] | a list of paths which should have their SUID/SGID bits removed|
| `os_security_suid_sgid_whitelist`| [] | a list of paths which should not have their SUID/SGID bits altered|
| `os_security_suid_sgid_remove_from_unknown`| false | true if you want to remove SUID/SGID bits from any file, that is not explicitly configured in a `blacklist`. This will make every Ansible-run search through the mounted filesystems looking for SUID/SGID bits that are not configured in the default and user blacklist. If it finds an SUID/SGID bit, it will be removed, unless this file is in your `whitelist`.|
| `os_security_packages_clean'`| true | removes packages with known issues. See section packages.|
| `ufw_manage_defaults` | true | true means apply all settings with `ufw_` prefix|
| `ufw_ipt_sysctl` | '' | by default it disables IPT_SYSCTL in /etc/default/ufw. If you want to overwrite /etc/sysctl.conf values using ufw - set it to your sysctl dictionary, for example `/etc/ufw/sysctl.conf`
| `ufw_default_input_policy` | DROP | set default input policy of ufw to `DROP` |
| `ufw_default_output_policy` | ACCEPT | set default output policy of ufw to `ACCEPT` |
| `ufw_default_forward_policy` | DROP| set default forward policy of ufw to `DROP` |
## Minimum required Ansible-version
## Packages
- Ansible >= 2.9.10
We remove the following packages:
## Included content
* xinetd ([NSA](http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf), Chapter 3.2.1)
* inetd ([NSA](http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf), Chapter 3.2.1)
* tftp-server ([NSA](http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf), Chapter 3.2.5)
* ypserv ([NSA](http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf), Chapter 3.2.4)
* telnet-server ([NSA](http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf), Chapter 3.2.2)
* rsh-server ([NSA](http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf), Chapter 3.2.3)
- [os_hardening](roles/os_hardening/)
- [mysql_hardening](roles/mysql_hardening/)
- [nginx_hardening](roles/nginx_hardening/)
- [ssh_hardening](roles/ssh_hardening/)
## Example Playbook
In progress, not working:
- hosts: localhost
roles:
- dev-sec.os-hardening
- [apache_hardening](roles/apache_hardening/)
- [windows_hardening](roles/windows_hardening/)
## Installation
## Changing sysctl variables
+If you want to overwrite sysctl-variables, you can use the `sysctl_overwrite` variable (in older versions you had to overwrite the whole `sysctl_dict`).
+So for example if you want to change the IPv4 traffic forwarding variable to `1`, do it like this:
Install the collection via ansible-galaxy:
```
- hosts: localhost
roles:
- dev-sec.os-hardening
vars:
sysctl_overwrite:
# Disable IPv4 traffic forwarding.
net.ipv4.ip_forward: 1
```
`ansible-galaxy collection install devsec.hardening`
Alternatively you can change Ansible's [hash-behaviour](https://docs.ansible.com/ansible/intro_configuration.html#hash-behaviour) to `merge`, then you only have to overwrite the single hash you need to. But please be aware that changing the hash-behaviour changes it for all your playbooks and is not recommended by Ansible.
## Using this collection
## Local Testing
Please refer to the examples in the readmes of the role.
The preferred way of locally testing the role is to use Docker. You will have to install Docker on your system. See [Get started](https://docs.docker.com/) for a Docker package suitable to for your system.
See [Ansible Using collections](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) for more details.
You can also use vagrant and Virtualbox or VMWare to run tests locally. You will have to install Virtualbox and Vagrant on your system. See [Vagrant Downloads](http://downloads.vagrantup.com/) for a vagrant package suitable for your system. For all our tests we use `test-kitchen`. If you are not familiar with `test-kitchen` please have a look at [their guide](http://kitchen.ci/docs/getting-started).
## Contributing to this collection
Next install test-kitchen:
See the [contributor guideline](CONTRIBUTING.md).
```bash
# Install dependencies
gem install bundler
bundle install
```
## Release notes
### Testing with Docker
```
# fast test on one machine
bundle exec kitchen test default-ubuntu-1404
See the [changelog](https://github.com/dev-sec/ansible-os-hardening/tree/master/CHANGELOG.md).
# test on all machines
bundle exec kitchen test
## Roadmap
# for development
bundle exec kitchen create default-ubuntu-1404
bundle exec kitchen converge default-ubuntu-1404
```
Todos:
### Testing with Virtualbox
```
# fast test on one machine
KITCHEN_YAML=".kitchen.vagrant.yml" bundle exec kitchen test default-ubuntu-1404
- Work on [apache_hardening](roles/apache_hardening/) and [windows_hardening](roles/windows_hardening/)
- Add support for more operating systems
# test on all machines
KITCHEN_YAML=".kitchen.vagrant.yml" bundle exec kitchen test
## More information
# for development
KITCHEN_YAML=".kitchen.vagrant.yml" bundle exec kitchen create default-ubuntu-1404
KITCHEN_YAML=".kitchen.vagrant.yml" bundle exec kitchen converge default-ubuntu-1404
```
For more information see [test-kitchen](http://kitchen.ci/docs/getting-started)
General information:
## Contributors + Kudos
- [Ansible Collection overview](https://github.com/ansible-collections/overview)
- [Ansible User guide](https://docs.ansible.com/ansible/latest/user_guide/index.html)
- [Ansible Developer guide](https://docs.ansible.com/ansible/latest/dev_guide/index.html)
- [Ansible Collections Checklist](https://github.com/ansible-collections/overview/blob/master/collection_requirements.rst)
- [Ansible Community code of conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html)
- [The Bullhorn (the Ansible Contributor newsletter)](https://us19.campaign-archive.com/home/?u=56d874e027110e35dea0e03c1&id=d6635f5420)
- [Changes impacting Contributors](https://github.com/ansible-collections/overview/issues/45)
...
## Licensing
This role is mostly based on guides by:
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
* [Arch Linux wiki, Sysctl hardening](https://wiki.archlinux.org/index.php/Sysctl)
* [NSA: Guide to the Secure Configuration of Red Hat Enterprise Linux 5](http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf)
* [Ubuntu Security/Features](https://wiki.ubuntu.com/Security/Features)
* [Deutsche Telekom, Group IT Security, Security Requirements (German)](http://www.telekom.com/static/-/155996/7/technische-sicherheitsanforderungen-si)
<http://www.apache.org/licenses/LICENSE-2.0>
Thanks to all of you!
## Contributing
See [contributor guideline](CONTRIBUTING.md).
## License and Author
* Author:: Sebastian Gumprich <sebastian.gumprich@38.de>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
[1]: http://travis-ci.org/dev-sec/ansible-os-hardening
[2]: https://gitter.im/dev-sec/general
[3]: https://galaxy.ansible.com/dev-sec/os-hardening
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
-11
View File
@@ -1,11 +0,0 @@
#!/usr/bin/env rake
# encoding: utf-8
# Automatically generate a changelog for this project. Only loaded if
# the necessary gem is installed.
begin
require 'github_changelog_generator/task'
GitHubChangelogGenerator::RakeTask.new :changelog
rescue LoadError
puts '>>>>> GitHub Changelog Generator not loaded, omitting tasks'
end
-4
View File
@@ -1,4 +0,0 @@
# TODO
* [Adduser consistency](https://github.com/hardening-io/chef-os-hardening/pull/73)
* [add support for limiting password re-use](https://github.com/hardening-io/puppet-os-hardening/pull/61)
-15
View File
@@ -1,15 +0,0 @@
# config file for ansible -- http://ansible.com/
# ==============================================
# nearly all parameters can be overridden in ansible-playbook
# or with command line flags. ansible will read ANSIBLE_CONFIG,
# ansible.cfg in the current working directory, .ansible.cfg in
# the home directory or /etc/ansible/ansible.cfg, whichever it
# finds first
[defaults]
ansible_managed = Ansible managed: {file} modified on %Y-%m-%d by {uid} on {host}
# additional paths to search for roles in, colon separated
roles_path = ../
-178
View File
@@ -1,178 +0,0 @@
os_desktop_enable: false
os_env_extra_user_paths: []
os_env_umask: '027'
os_auth_pw_max_age: 60
os_auth_pw_min_age: 7 # discourage password cycling
os_auth_retries: 5
os_auth_lockout_time: 600 # 10min
os_auth_timeout: 60
os_auth_allow_homeless: false
os_auth_pam_passwdqc_enable: true
os_auth_pam_passwdqc_options: 'min=disabled,disabled,16,12,8' # used in RHEL6
os_auth_pam_pwquality_options: 'try_first_pass retry=3 type=' # used in RHEL7
os_auth_root_ttys: [console, tty1, tty2, tty3, tty4, tty5, tty6]
os_auth_uid_min: 1000
os_auth_gid_min: 1000
os_auth_sys_uid_min: 100
os_auth_sys_uid_max: 999
os_auth_sys_gid_min: 100
os_auth_sys_gid_max: 999
os_chfn_restrict: ''
# may contain: change_user
os_security_users_allow: []
# specify system accounts those login should not be disabled and password not changed
os_ignore_users: ['vagrant']
os_security_kernel_enable_module_loading: true
os_security_kernel_enable_core_dump: false
os_security_suid_sgid_enforce: true
# user-defined blacklist and whitelist
os_security_suid_sgid_blacklist: []
os_security_suid_sgid_whitelist: []
# if this is true, remove any suid/sgid bits from files that were not in the whitelist
os_security_suid_sgid_remove_from_unknown: false
# remove packages with known issues
os_security_packages_clean: true
os_security_packages_list: ['xinetd','inetd','ypserv','telnet-server','rsh-server','rsync']
# Allow interactive startup (rhel, centos)
os_security_init_prompt: true
# Require root password for single user mode. (rhel, centos)
os_security_init_single: false
# Apply ufw defaults
ufw_manage_defaults: true
# Empty variable disables IPT_SYSCTL in /etc/default/ufw
# by default in Ubuntu it set to: /etc/ufw/sysctl.conf
# CAUTION
# if you enable it - it'll overwrite /etc/sysctl.conf file, managed by hardening framework
ufw_ipt_sysctl: ''
# Default ufw variables
ufw_default_input_policy: 'DROP'
ufw_default_output_policy: 'ACCEPT'
ufw_default_forward_policy: 'DROP'
ufw_default_application_policy: 'SKIP'
ufw_manage_builtins: 'no'
ufw_ipt_modules: 'nf_conntrack_ftp nf_nat_ftp nf_conntrack_netbios_ns'
sysctl_config:
# Disable IPv4 traffic forwarding.
net.ipv4.ip_forward: 0
# Disable IPv6 traffic forwarding.
net.ipv6.conf.all.forwarding: 0
# ignore RAs on Ipv6.
net.ipv6.conf.all.accept_ra: 0
net.ipv6.conf.default.accept_ra: 0
# Enable RFC-recommended source validation feature.
net.ipv4.conf.all.rp_filter: 1
net.ipv4.conf.default.rp_filter: 1
# Reduce the surface on SMURF attacks.
# Make sure to ignore ECHO broadcasts, which are only required in broad network analysis.
net.ipv4.icmp_echo_ignore_broadcasts: 1
# There is no reason to accept bogus error responses from ICMP, so ignore them instead.
net.ipv4.icmp_ignore_bogus_error_responses: 1
# Limit the amount of traffic the system uses for ICMP.
net.ipv4.icmp_ratelimit: 100
# Adjust the ICMP ratelimit to include ping, dst unreachable,
# source quench, ime exceed, param problem, timestamp reply, information reply
net.ipv4.icmp_ratemask: 88089
# Disable IPv6
net.ipv6.conf.all.disable_ipv6: 1
# Protect against wrapping sequence numbers at gigabit speeds
net.ipv4.tcp_timestamps: 0
# Define restriction level for announcing the local source IP
net.ipv4.conf.all.arp_ignore: 1
# Define mode for sending replies in response to
# received ARP requests that resolve local target IP addresses
net.ipv4.conf.all.arp_announce: 2
# RFC 1337 fix F1
net.ipv4.tcp_rfc1337: 1
# Send(router) or accept(host) RFC1620 shared media redirects
net.ipv4.conf.all.shared_media: 1
net.ipv4.conf.default.shared_media: 1
# Accepting source route can lead to malicious networking behavior,
# so disable it if not needed.
net.ipv4.conf.all.accept_source_route: 0
net.ipv4.conf.default.accept_source_route: 0
# Accepting redirects can lead to malicious networking behavior, so disable
# it if not needed.
net.ipv4.conf.default.accept_redirects: 0
net.ipv4.conf.all.accept_redirects: 0
net.ipv4.conf.all.secure_redirects: 0
net.ipv4.conf.default.secure_redirects: 0
net.ipv6.conf.default.accept_redirects: 0
net.ipv6.conf.all.accept_redirects: 0
# For non-routers: don't send redirects, these settings are 0
net.ipv4.conf.all.send_redirects: 0
net.ipv4.conf.default.send_redirects: 0
# log martian packets
net.ipv4.conf.all.log_martians: 1
# ipv6 config
# NSA 2.5.3.2.5 Limit Network-Transmitted Configuration
net.ipv6.conf.default.router_solicitations: 0
net.ipv6.conf.default.accept_ra_rtr_pref: 0
net.ipv6.conf.default.accept_ra_pinfo: 0
net.ipv6.conf.default.accept_ra_defrtr: 0
net.ipv6.conf.default.autoconf: 0
net.ipv6.conf.default.dad_transmits: 0
net.ipv6.conf.default.max_addresses: 1
# This settings controls how the kernel behaves towards module changes at
# runtime. Setting to 1 will disable module loading at runtime.
# Setting it to 0 is actually never supported.
# kernel.modules_disabled: 1
# Magic Sysrq should be disabled, but can also be set to a safe value if so
# desired for physical machines. It can allow a safe reboot if the system hangs
# and is a 'cleaner' alternative to hitting the reset button.
# The following values are permitted:
# * **0** - disable sysrq
# * **1** - enable sysrq completely
# * **>1** - bitmask of enabled sysrq functions:
# * **2** - control of console logging level
# * **4** - control of keyboard (SAK, unraw)
# * **8** - debugging dumps of processes etc.
# * **16** - sync command
# * **32** - remount read-only
# * **64** - signalling of processes (term, kill, oom-kill)
# * **128** - reboot/poweroff
# * **256** - nicing of all RT tasks
kernel.sysrq: 0
# Prevent core dumps with SUID. These are usually only
# needed by developers and may contain sensitive information.
fs.suid_dumpable: 0
# Virtual memory regions protection
kernel.randomize_va_space: 2
# Do not delete the following line or otherwise the playbook will fail
# at task "create a combined sysctl-dict if overwrites are defined"
sysctl_overwrite:
sysctl_rhel_config:
# ExecShield protection against buffer overflows
kernel.exec-shield: 1
# Syncookies is used to prevent SYN-flooding attacks.
net.ipv4.tcp_syncookies: 1
+44
View File
@@ -0,0 +1,44 @@
namespace: devsec
name: hardening
version: 8.2.0
readme: README.md
authors:
- dev-sec <[email protected]>
description: 'This collection provides battle tested hardening for Linux, SSH, nginx, MySQL'
license:
- Apache-2.0
license_file: ''
tags:
- devsec
- hardening
- centos
- ubuntu
- debian
- nginx
- mysql
- openssh
- apache_hardening
- mysql_hardening
- nginx_hardening
- os_hardening
- ssh_hardening
dependencies:
ansible.posix: '>=1.0.0'
community.crypto: '>=1.0.0'
community.general: '>=1.0.0'
community.mysql: '>=1.3.0'
repository: 'https://github.com/dev-sec/ansible-collection-hardening/'
homepage: 'https://dev-sec.io/'
issues: 'https://github.com/dev-sec/ansible-collection-hardening/issues'
build_ignore:
- codecov.yml
- .github
- .gitattributes
- .gitignore
- hacking
- requirements.txt
- test-requirements.txt
- tests
- .tox
- tox.ini
- .yamllint
-5
View File
@@ -1,5 +0,0 @@
# This is a Vagrant block to allow proxy settings to be carried into Kitchen
# You need this for all of yum/apt etc. to work!
Vagrant.configure(2) do |config|
end
+2
View File
@@ -0,0 +1,2 @@
---
requires_ansible: '>=2.9.10'
+22
View File
@@ -0,0 +1,22 @@
******
Docker driver installation guide
******
Requirements
============
* Docker Engine
Install
=======
Please refer to the `Virtual environment`_ documentation for installation best
practices. If not using a virtual environment, please consider passing the
widely recommended `'--user' flag`_ when invoking ``pip``.
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
.. code-block:: bash
$ python3 -m pip install 'molecule[docker]'
+34
View File
@@ -0,0 +1,34 @@
---
- name: wrapper playbook for kitchen testing "ansible-mysql-hardening"
hosts: all
become: true
collections:
- devsec.hardening
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
tasks:
- name: Determine required MySQL Python libraries (Ubuntu Focal Fossa ++)
set_fact:
mysql_python_package_debian: "python3-pymysql"
when:
- mysql_python_package_debian is not defined
- ansible_distribution == "Ubuntu"
- ansible_distribution_major_version|int > 19
- name: Determine required MySQL Python libraries.
set_fact:
mysql_python_package_debian: "{% if 'python3' in ansible_python_interpreter|default('') %}python3-mysqldb{% else %}python-mysqldb{% endif %}"
when:
- mysql_python_package_debian is not defined
- ansible_distribution != "Ubuntu"
- ansible_distribution_major_version|int < 20
- include_role:
name: mysql_hardening
vars:
overwrite_global_mycnf: false
mysql_root_password: iloverandompasswordsbutthiswilldo
mysql_user_password: iloverandompasswordsbutthiswilldo
mysql_config_file: /etc/mysql/mariadb.cnf
mysql_root_password_update: true
+64
View File
@@ -0,0 +1,64 @@
---
dependency:
name: galaxy
options:
role-file: molecule/mysql_hardening/requirements.yml
requirements-file: molecule/mysql_hardening/requirements.yml
driver:
name: docker
platforms:
- name: instance
image: "rndmh3ro/docker-${MOLECULE_DISTRO}-ansible:latest"
command: ${MOLECULE_DOCKER_COMMAND:-/lib/systemd/systemd}
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
privileged: true
pre_build_image: true
environment:
container: docker
security_opts:
- apparmor=unconfined
env:
http_proxy: "${http_proxy}"
https_proxy: "${https_proxy}"
no_proxy: "${no_proxy}"
container: docker
provisioner:
name: ansible
config_options:
defaults:
interpreter_python: auto_silent
callback_whitelist: profile_tasks, timer, yaml
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- destroy
- syntax
- create
- prepare
- converge
# - idempotence # not idempotent
- verify
- destroy
+73
View File
@@ -0,0 +1,73 @@
---
- name: wrapper playbook for kitchen testing "ansible-mysql-hardening"
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
tasks:
- name: Use Python 3 on Debian 11
set_fact:
ansible_python_interpreter: /usr/bin/python3
when:
- ansible_distribution == 'Debian'
- ansible_distribution_major_version|int >= 11
- name: Use Python 2 on Debian 10
set_fact:
ansible_python_interpreter: /usr/bin/python
when:
- ansible_distribution == 'Debian'
- ansible_distribution_major_version|int == 10
- name: Run the equivalent of "apt-get update && apt-get upgrade"
apt:
name: "*"
state: latest
update_cache: true
when: ansible_os_family == 'Debian'
- name: install required tools on SuSE
community.general.zypper:
name: "python-xml"
state: present
when: ansible_facts.os_family == 'Suse'
- name: create missing directory
file:
path: "/etc/mysql/conf.d"
state: directory
- name: Determine required MySQL Python libraries (Ubuntu Focal Fossa ++)
set_fact:
mysql_python_package_debian: "python3-pymysql"
when:
- mysql_python_package_debian is not defined
- ansible_distribution == "Ubuntu"
- ansible_distribution_major_version|int > 19
- name: Determine required MySQL Python libraries.
set_fact:
mysql_python_package_debian: "{% if 'python3' in ansible_python_interpreter|default('') %}python3-mysqldb{% else %}python-mysqldb{% endif %}"
when:
- mysql_python_package_debian is not defined
- ansible_distribution != "Ubuntu"
- ansible_distribution_major_version|int < 20
- include_role:
name: dev-sec.mysql
- name: create a user with an empty password
community.mysql.mysql_query:
query:
- "CREATE USER foo@bar;"
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
vars:
overwrite_global_mycnf: false
mysql_root_password: iloverandompasswordsbutthiswilldo
mysql_user_password: iloverandompasswordsbutthiswilldo
mysql_config_file: /etc/mysql/mariadb.cnf
mysql_root_password_update: true
+11
View File
@@ -0,0 +1,11 @@
---
roles:
- name: geerlingguy.git
version: 3.0.0
- name: dev-sec.mysql
version: master
collections:
- name: https://github.com/ansible-collections/community.mysql.git
type: git
version: main
+59
View File
@@ -0,0 +1,59 @@
---
- name: Verify
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
roles:
- geerlingguy.git
tasks:
- name: install fake SuSE-release for cinc compatibility
copy:
content: |
openSUSE Faked Enterprise 2020 (x86_64)
VERSION = 2020
CODENAME = Faked Feature
dest: /etc/SuSE-release
owner: root
group: root
mode: '0444'
when: ansible_facts.os_family == 'Suse'
- name: install git for SuSE since geerlinguy.git does not support it
zypper:
name: git
state: present
when: ansible_facts.os_family == 'Suse'
- name: install procps for debian systems
apt:
name: procps
state: present
update_cache: true
when: ansible_distribution == 'Debian'
- name: download cinc-auditor
get_url:
url: https://omnitruck.cinc.sh/install.sh
dest: /tmp/install.sh
mode: '0775'
- name: install cinc-auditor
shell: "bash /tmp/install.sh -s -- -P cinc-auditor -v 4"
- name: Execute cinc-auditor tests
command: "/opt/cinc-auditor/bin/cinc-auditor exec --no-show-progress --no-color --no-distinct-exit https://github.com/dev-sec/mysql-baseline/archive/refs/heads/master.zip"
register: test_results
changed_when: false
ignore_errors: true
- name: Display details about the cinc-auditor results
debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
fail:
msg: "Inspec failed to validate"
when: test_results.rc != 0
+22
View File
@@ -0,0 +1,22 @@
*******
Docker driver installation guide
*******
Requirements
============
* Docker Engine
Install
=======
Please refer to the `Virtual environment`_ documentation for installation best
practices. If not using a virtual environment, please consider passing the
widely recommended `'--user' flag`_ when invoking ``pip``.
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
.. code-block:: bash
$ python3 -m pip install 'molecule[docker]'
+14
View File
@@ -0,0 +1,14 @@
---
- name: wrapper playbook for kitchen testing "ansible-nginx-hardening" with custom settings
become: true
hosts: all
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
vars:
- nginx_ppa_use: true
- nginx_ppa_version: stable
tasks:
- include_role:
name: nginx_hardening
+64
View File
@@ -0,0 +1,64 @@
---
dependency:
name: galaxy
options:
role-file: molecule/nginx_hardening/requirements.yml
driver:
name: docker
platforms:
- name: instance
image: "rndmh3ro/docker-${MOLECULE_DISTRO}-ansible:latest"
command: ${MOLECULE_DOCKER_COMMAND:-/lib/systemd/systemd}
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
privileged: true
tmpfs:
- /tmp
- /run
capabilities:
- SYS_ADMIN
tty: true
env:
http_proxy: "${http_proxy}"
https_proxy: "${https_proxy}"
no_proxy: "${no_proxy}"
container: docker
provisioner:
name: ansible
config_options:
defaults:
interpreter_python: auto_silent
callback_whitelist: profile_tasks, timer, yaml
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- destroy
@@ -0,0 +1,24 @@
---
- name: wrapper playbook for kitchen testing "ansible-nginx-hardening" with custom settings
hosts: localhost
vars:
- nginx_main_template_enable: true
- nginx_main_template:
template_file: nginx.conf.j2
conf_file_name: nginx.conf
conf_file_location: /etc/nginx/
user: www-data
worker_processes: auto
error_level: warn
worker_connections: 1024
http_enable: true
http_settings:
keepalive_timeout: 65
cache: false
rate_limit: false
keyval: false
stream_enable: false
http_global_autoindex: false
roles:
- nginxinc.nginx
- nginx_hardening
@@ -0,0 +1,6 @@
---
- name: wrapper playbook for kitchen testing "ansible-nginx-hardening" with custom settings
hosts: localhost
roles:
- nginxinc.nginx
- nginx_hardening
+28
View File
@@ -0,0 +1,28 @@
---
- name: prepare playbook for kitchen testing "ansible-nginx-hardening" with custom settings
become: true
hosts: all
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
tasks:
- name: install required tools on SuSE
community.general.zypper:
name: "python-xml"
state: present
when: ansible_facts.os_family == 'Suse'
- name: install required packages
package:
name: "python3-apt"
update_cache: true
ignore_errors: true # noqa ignore-errors
- name: Set correct distribution Version for Amazon Linux
set_fact:
ansible_distribution_major_version: 7
when: ansible_distribution == 'Amazon'
- include_role:
name: geerlingguy.nginx
@@ -0,0 +1,4 @@
---
roles:
- geerlingguy.git
- geerlingguy.nginx
+62
View File
@@ -0,0 +1,62 @@
---
- name: Verify
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
roles:
- geerlingguy.git
tasks:
- name: install fake SuSE-release for cinc compatibility
copy:
content: |
openSUSE Faked Enterprise 2020 (x86_64)
VERSION = 2020
CODENAME = Faked Feature
dest: /etc/SuSE-release
owner: root
group: root
mode: '0444'
when: ansible_facts.os_family == 'Suse'
- name: install git for SuSE since geerlinguy.git does not support it
zypper:
name: git
state: present
when: ansible_facts.os_family == 'Suse'
- name: Run the equivalent of "apt-get update" as a separate step
apt:
update_cache: true
when: ansible_facts.os_family == 'Debian'
- name: install required tools on debian
apt:
name: procps
when: ansible_facts.os_family == 'Debian'
- name: download cinc-auditor
get_url:
url: https://omnitruck.cinc.sh/install.sh
dest: /tmp/install.sh
mode: '0775'
- name: install cinc-auditor
shell: "bash /tmp/install.sh -s -- -P cinc-auditor -v 4"
- name: Execute cinc-auditor tests
command: "/opt/cinc-auditor/bin/cinc-auditor exec --no-show-progress --no-color --no-distinct-exit https://github.com/dev-sec/nginx-baseline/archive/refs/heads/master.zip"
register: test_results
changed_when: false
ignore_errors: true
- name: Display details about the cinc-auditor results
debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
fail:
msg: "Inspec failed to validate"
when: test_results.rc != 0
+22
View File
@@ -0,0 +1,22 @@
*******
Docker driver installation guide
*******
Requirements
============
* Docker Engine
Install
=======
Please refer to the `Virtual environment`_ documentation for installation best
practices. If not using a virtual environment, please consider passing the
widely recommended `'--user' flag`_ when invoking ``pip``.
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
.. code-block:: bash
$ python3 -m pip install 'molecule[docker]'
@@ -1,18 +1,33 @@
---
- name: wrapper playbook for kitchen testing "ansible-os-hardening" with custom vars for testing
hosts: localhost
roles:
- ansible-os-hardening
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
collections:
- devsec.hardening
tasks:
- name: workaround for https://github.com/ansible/ansible/issues/66304
set_fact:
ansible_virtualization_type: "docker"
- include_role:
name: os_hardening
vars:
os_security_users_allow: change_user
os_security_kernel_enable_core_dump: false
os_security_suid_sgid_remove_from_unknown: true
os_auth_pam_passwdqc_enable: false
os_auth_lockout_time: 15
os_desktop_enable: true
os_env_extra_user_paths: ['/home']
os_auth_allow_homeless: true
os_security_suid_sgid_blacklist: ['/bin/umount']
os_security_suid_sgid_whitelist: ['/usr/bin/rlogin']
os_filesystem_whitelist: []
os_yum_repo_file_whitelist: ['foo.repo']
os_netrc_enabled: false
sysctl_config:
net.ipv4.ip_forward: 0
net.ipv6.conf.all.forwarding: 0
@@ -24,7 +39,6 @@
net.ipv4.icmp_ignore_bogus_error_responses: 1
net.ipv4.icmp_ratelimit: 100
net.ipv4.icmp_ratemask: 88089
net.ipv6.conf.all.disable_ipv6: 1
net.ipv4.conf.all.arp_ignore: 1
net.ipv4.conf.all.arp_announce: 2
net.ipv4.conf.all.shared_media: 1
@@ -44,16 +58,30 @@
net.ipv6.conf.default.accept_ra_rtr_pref: 0
net.ipv6.conf.default.accept_ra_pinfo: 0
net.ipv6.conf.default.accept_ra_defrtr: 0
net.ipv6.conf.default.autoconf: 0
net.ipv6.conf.default.conf: 0
net.ipv6.conf.default.dad_transmits: 0
net.ipv6.conf.default.max_addresses: 1
kernel.sysrq: 0
fs.suid_dumpable: 0
kernel.randomize_va_space: 2
- name: wrapper playbook for kitchen testing "ansible-os-hardening"
hosts: localhost
roles:
- ansible-os-hardening
# - name: wrapper playbook for kitchen testing "ansible-os-hardening"
# hosts: all
# become: true
# collections:
# - devsec.hardening
# vars:
# os_auditd_enabled: false
# tasks:
# - name: set ansible_python_interpreter to "/usr/bin/python3" on fedora
# set_fact:
# ansible_python_interpreter: "/usr/bin/python3"
# when: ansible_facts.distribution == 'Fedora'
#
# - name: Run the equivalent of "apt-get update" as a separate step
# apt:
# update_cache: yes
# when: ansible_facts.os_family == 'Debian'
#
# - include_role:
# name: os_hardening
+64
View File
@@ -0,0 +1,64 @@
---
dependency:
name: galaxy
options:
role-file: molecule/os_hardening/requirements.yml
driver:
name: docker
platforms:
- name: instance
image: "rndmh3ro/docker-${MOLECULE_DISTRO}-ansible:latest"
command: ${MOLECULE_DOCKER_COMMAND:-/lib/systemd/systemd}
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
privileged: true
tmpfs:
- /tmp
- /run
capabilities:
- SYS_ADMIN
tty: true
env:
http_proxy: "${http_proxy}"
https_proxy: "${https_proxy}"
no_proxy: "${no_proxy}"
container: docker
provisioner:
name: ansible
config_options:
defaults:
interpreter_python: auto_silent
callback_whitelist: profile_tasks, timer, yaml
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- destroy
+64
View File
@@ -0,0 +1,64 @@
---
- name: wrapper playbook for kitchen testing "ansible-os-hardening" with custom vars for testing
hosts: all
become: true
collections:
- devsec.hardening
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
tasks:
- name: set ansible_python_interpreter to "/usr/bin/python3" on fedora
set_fact:
ansible_python_interpreter: "/usr/bin/python3"
when: ansible_facts.distribution == 'Fedora'
- name: Run the equivalent of "apt-get update && apt-get upgrade"
apt:
name: "*"
state: latest
update_cache: true
when: ansible_os_family == 'Debian'
- name: install required tools on SuSE
# cannot use zypper module, since it depends on python-xml
shell: "zypper -n install python-xml"
when: ansible_facts.os_family == 'Suse'
- name: install required tools on fedora
dnf:
name:
- python
- findutils
- procps-ng
when: ansible_facts.distribution == 'Fedora'
- name: install required tools on Arch
community.general.pacman:
name:
- awk
state: present
update_cache: true
when: ansible_facts.os_family == 'Archlinux'
- name: install required tools on RHEL # noqa ignore-errors
yum:
name:
- openssh-clients
- openssh
state: present
update_cache: true
ignore_errors: true
- name: create recursing symlink to test minimize access
shell: "rm -f /usr/bin/zzz && ln -s /usr/bin /usr/bin/zzz"
changed_when: false
- name: include YUM prepare tasks
include_tasks: prepare_tasks/yum.yml
when: ansible_facts.os_family == 'RedHat'
- name: include YUM prepare tasks
include_tasks: prepare_tasks/netrc.yml
@@ -0,0 +1,9 @@
---
- name: create '.netrc' in /root
ansible.builtin.copy:
dest: '/root/.netrc'
mode: '0600'
content: |
machine localhost
login root
password ipsum
@@ -0,0 +1,16 @@
---
- name: create 'foo' repository
ansible.builtin.yum_repository:
name: foo
description: mandatory description
baseurl: file:///mandatory-url
enabled: false
gpgcheck: false
- name: create 'bar' repository
ansible.builtin.yum_repository:
name: bar
description: mandatory description
baseurl: file:///mandatory-url
enabled: false
gpgcheck: false
+3
View File
@@ -0,0 +1,3 @@
---
roles:
- geerlingguy.git
+87
View File
@@ -0,0 +1,87 @@
---
- name: Verify
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
roles:
- geerlingguy.git
tasks:
- name: install fake SuSE-release for cinc compatibility
copy:
content: |
openSUSE Faked Enterprise 2020 (x86_64)
VERSION = 2020
CODENAME = Faked Feature
dest: /etc/SuSE-release
owner: root
group: root
mode: '0444'
when: ansible_facts.os_family == 'Suse'
- name: install git for SuSE since geerlinguy.git does not support it
zypper:
name: git
state: present
when: ansible_facts.os_family == 'Suse'
- name: Run the equivalent of "apt-get update" as a separate step
apt:
update_cache: true
when: ansible_facts.os_family == 'Debian'
- name: install required tools on debian
apt:
name: procps
when: ansible_facts.os_family == 'Debian'
- name: include netrc tests
include_tasks: verify_tasks/netrc.yml
- name: include PAM tests
include_tasks: verify_tasks/pam.yml
when: ansible_facts.distribution in ['Debian', 'Ubuntu'] or ansible_facts.os_family == 'RedHat'
- name: include YUM tests
include_tasks: verify_tasks/yum.yml
when: ansible_facts.os_family == 'RedHat'
- name: download cinc-auditor
get_url:
url: https://omnitruck.cinc.sh/install.sh
dest: /tmp/install.sh
mode: '0775'
- name: install cinc-auditor
shell: "bash /tmp/install.sh -s -- -P cinc-auditor -v 4"
- name: Execute cinc-auditor tests # noqa ignore-errors
command: "/opt/cinc-auditor/bin/cinc-auditor exec --no-show-progress --no-color --no-distinct-exit https://github.com/dev-sec/linux-baseline/archive/refs/heads/master.zip"
register: test_results
changed_when: false
ignore_errors: true
- name: Display details about the cinc-auditor results
debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
fail:
msg: "Inspec failed to validate"
when: test_results.rc != 0
# test if variable can be overridden
- name: workaround for https://github.com/ansible/ansible/issues/66304
set_fact:
ansible_virtualization_type: "docker"
os_env_umask: "027 #override"
- include_role:
name: os_hardening
- name: verify os_env_umask
shell:
cmd: "grep '027 #override' /etc/login.defs"
changed_when: false
@@ -0,0 +1,19 @@
---
- name: test that .netrc in root homedir exists
ansible.builtin.file:
path: '/root/.netrc'
state: file
register: result_test_netrc
- name: output result if .netrc for user root exists
ansible.builtin.assert:
that:
- "result_test_netrc.state == 'file'"
fail_msg: ".netrc in /root/ not present"
success_msg: ".netrc exists in /root/"
- name: delete '.netrc' in /root
ansible.builtin.file:
path: '/root/.netrc'
state: absent
when: result_test_netrc.state == 'file'
@@ -0,0 +1,59 @@
---
- name: download pam-tester
get_url:
url: https://github.com/schurzi/pam-tester/releases/download/latest/pam-tester
dest: /bin/pam-tester
mode: 0555
- name: set password for test
set_fact:
test_pw: "myTest!pw"
- name: set locale for test
set_fact:
locale: "en_US.UTF-8"
when:
- ansible_facts.os_family == 'RedHat'
- ansible_facts.distribution_major_version < '8'
- name: create testuser
user:
name: testuser
password: "{{ test_pw | password_hash('sha512') }}"
- name: check successfull login with correct password
shell:
cmd: "pam-tester --user testuser --password {{ test_pw }}"
environment:
TMPDIR: /var/tmp
LC_ALL: "{{ locale | default('C.UTF-8') }}"
LANG: "{{ locale | default('C.UTF-8') }}"
- name: check unsuccessfull login with incorrect password
shell:
cmd: "pam-tester --user testuser --password {{ test_pw }}fail --expectfail"
environment:
TMPDIR: /var/tmp
LC_ALL: "{{ locale | default('C.UTF-8') }}"
LANG: "{{ locale | default('C.UTF-8') }}"
with_sequence: count=6
- name: check unsuccessfull login, with correct password (lockout)
shell:
cmd: "pam-tester --user testuser --password {{ test_pw }} --expectfail"
environment:
TMPDIR: /var/tmp
LC_ALL: "{{ locale | default('C.UTF-8') }}"
LANG: "{{ locale | default('C.UTF-8') }}"
- name: wait for account to unlock
pause:
seconds: 20
- name: check successfull login
shell:
cmd: "pam-tester --user testuser --password {{ test_pw }}"
environment:
TMPDIR: /var/tmp
LC_ALL: "{{ locale | default('C.UTF-8') }}"
LANG: "{{ locale | default('C.UTF-8') }}"
@@ -0,0 +1,8 @@
---
- name: verify 'gpgcheck' was not enabled for 'foo' repository (in whitelist)
command: grep -e 'gpgcheck\s*=\s*0' /etc/yum.repos.d/foo.repo
changed_when: false
- name: verify 'gpgcheck' was enabled for 'bar' repository (not in whitelist)
command: grep -e 'gpgcheck\s*=\s*1' /etc/yum.repos.d/bar.repo
changed_when: false
+22
View File
@@ -0,0 +1,22 @@
*******
Docker driver installation guide
*******
Requirements
============
* Docker Engine
Install
=======
Please refer to the `Virtual environment`_ documentation for installation best
practices. If not using a virtual environment, please consider passing the
widely recommended `'--user' flag`_ when invoking ``pip``.
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
.. code-block:: bash
$ python3 -m pip install 'molecule[docker]'
+23
View File
@@ -0,0 +1,23 @@
---
- name: wrapper playbook for kitchen testing "ansible-os-hardening" with custom vars for testing
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
collections:
- devsec.hardening
tasks:
- name: override for arch
set_fact:
os_mnt_boot_enabled: false
when: ansible_facts.os_family == 'Archlinux'
- include_role:
name: os_hardening
vars:
os_auth_pam_passwdqc_enable: false
os_auth_lockout_time: 15
os_yum_repo_file_whitelist: ['foo.repo']
os_mnt_boot_enabled: true
os_mnt_boot_src: "/dev/vda1"
+57
View File
@@ -0,0 +1,57 @@
---
dependency:
name: galaxy
options:
role-file: molecule/os_hardening/requirements.yml
driver:
name: vagrant
provider:
name: libvirt
platforms:
- name: instance
box: "generic/${MOLECULE_DISTRO}"
memory: 1024
cpus: 2
provisioner:
name: ansible
env:
ANSIBLE_PIPELINING: "True"
config_options:
defaults:
interpreter_python: auto_silent
callback_whitelist: profile_tasks, timer, yaml
verifier:
name: ansible
env:
ANSIBLE_PIPELINING: "True"
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- destroy
+60
View File
@@ -0,0 +1,60 @@
---
- name: wrapper playbook for kitchen testing "ansible-os-hardening" with custom vars for testing
hosts: all
become: true
collections:
- devsec.hardening
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
tasks:
- name: set ansible_python_interpreter to "/usr/bin/python3" on fedora
set_fact:
ansible_python_interpreter: "/usr/bin/python3"
when: ansible_facts.distribution == 'Fedora'
- name: Run the equivalent of "apt-get update && apt-get upgrade"
apt:
name: "*"
state: latest
update_cache: true
when: ansible_os_family == 'Debian'
- name: install required tools on SuSE
# cannot use zypper module, since it depends on python-xml
shell: "zypper -n install python-xml"
when: ansible_facts.os_family == 'Suse'
- name: install required tools on fedora
dnf:
name:
- python
- findutils
- procps-ng
when: ansible_facts.distribution == 'Fedora'
- name: install required tools on Arch
community.general.pacman:
name:
- awk
state: present
update_cache: true
when: ansible_facts.os_family == 'Archlinux'
- name: install required tools on RHEL # noqa ignore-errors
yum:
name:
- openssh-clients
- openssh
state: present
update_cache: true
ignore_errors: true
- name: create recursing symlink to test minimize access
shell: "rm -f /usr/bin/zzz && ln -s /usr/bin /usr/bin/zzz"
changed_when: false
- name: include YUM prepare tasks
include_tasks: prepare_tasks/yum.yml
when: ansible_facts.os_family == 'RedHat'
@@ -0,0 +1,16 @@
---
- name: create 'foo' repository
ansible.builtin.yum_repository:
name: foo
description: mandatory description
baseurl: file:///mandatory-url
enabled: false
gpgcheck: false
- name: create 'bar' repository
ansible.builtin.yum_repository:
name: bar
description: mandatory description
baseurl: file:///mandatory-url
enabled: false
gpgcheck: false
@@ -0,0 +1,3 @@
---
roles:
- geerlingguy.git
+70
View File
@@ -0,0 +1,70 @@
---
- name: Verify
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
roles:
- geerlingguy.git
tasks:
- name: install fake SuSE-release for cinc compatibility
copy:
content: |
openSUSE Faked Enterprise 2020 (x86_64)
VERSION = 2020
CODENAME = Faked Feature
dest: /etc/SuSE-release
owner: root
group: root
mode: '0444'
when: ansible_facts.os_family == 'Suse'
- name: install git for SuSE since geerlinguy.git does not support it
zypper:
name: git
state: present
when: ansible_facts.os_family == 'Suse'
- name: Run the equivalent of "apt-get update" as a separate step
apt:
update_cache: true
when: ansible_facts.os_family == 'Debian'
- name: install required tools on debian
apt:
name: procps
when: ansible_facts.os_family == 'Debian'
- name: include PAM tests
include_tasks: verify_tasks/pam.yml
when: ansible_facts.distribution in ['Debian', 'Ubuntu'] or ansible_facts.os_family == 'RedHat'
- name: include YUM tests
include_tasks: verify_tasks/yum.yml
when: ansible_facts.os_family == 'RedHat'
- name: download cinc-auditor
get_url:
url: https://omnitruck.cinc.sh/install.sh
dest: /tmp/install.sh
mode: '0775'
- name: install cinc-auditor
shell: "bash /tmp/install.sh -s -- -P cinc-auditor -v 4"
- name: Execute cinc-auditor tests # noqa ignore-errors
command: "/opt/cinc-auditor/bin/cinc-auditor exec --no-show-progress --no-color --no-distinct-exit https://github.com/dev-sec/linux-baseline/archive/refs/heads/master.zip"
register: test_results
changed_when: false
ignore_errors: true
- name: Display details about the cinc-auditor results
debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
fail:
msg: "Inspec failed to validate"
when: test_results.rc != 0
@@ -0,0 +1,59 @@
---
- name: download pam-tester
get_url:
url: https://github.com/schurzi/pam-tester/releases/download/latest/pam-tester
dest: /bin/pam-tester
mode: 0555
- name: set password for test
set_fact:
test_pw: "myTest!pw"
- name: set locale for test
set_fact:
locale: "en_US.UTF-8"
when:
- ansible_facts.os_family == 'RedHat'
- ansible_facts.distribution_major_version < '8'
- name: create testuser
user:
name: testuser
password: "{{ test_pw | password_hash('sha512') }}"
- name: check successfull login with correct password
shell:
cmd: "pam-tester --user testuser --password {{ test_pw }}"
environment:
TMPDIR: /var/tmp
LC_ALL: "{{ locale | default('C.UTF-8') }}"
LANG: "{{ locale | default('C.UTF-8') }}"
- name: check unsuccessfull login with incorrect password
shell:
cmd: "pam-tester --user testuser --password {{ test_pw }}fail --expectfail"
environment:
TMPDIR: /var/tmp
LC_ALL: "{{ locale | default('C.UTF-8') }}"
LANG: "{{ locale | default('C.UTF-8') }}"
with_sequence: count=6
- name: check unsuccessfull login, with correct password (lockout)
shell:
cmd: "pam-tester --user testuser --password {{ test_pw }} --expectfail"
environment:
TMPDIR: /var/tmp
LC_ALL: "{{ locale | default('C.UTF-8') }}"
LANG: "{{ locale | default('C.UTF-8') }}"
- name: wait for account to unlock
pause:
seconds: 20
- name: check successfull login
shell:
cmd: "pam-tester --user testuser --password {{ test_pw }}"
environment:
TMPDIR: /var/tmp
LC_ALL: "{{ locale | default('C.UTF-8') }}"
LANG: "{{ locale | default('C.UTF-8') }}"
@@ -0,0 +1,8 @@
---
- name: verify 'gpgcheck' was not enabled for 'foo' repository (in whitelist)
command: grep -e 'gpgcheck\s*=\s*0' /etc/yum.repos.d/foo.repo
changed_when: false
- name: verify 'gpgcheck' was enabled for 'bar' repository (not in whitelist)
command: grep -e 'gpgcheck\s*=\s*1' /etc/yum.repos.d/bar.repo
changed_when: false
+22
View File
@@ -0,0 +1,22 @@
*******
Docker driver installation guide
*******
Requirements
============
* Docker Engine
Install
=======
Please refer to the `Virtual environment`_ documentation for installation best
practices. If not using a virtual environment, please consider passing the
widely recommended `'--user' flag`_ when invoking ``pip``.
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
.. code-block:: bash
$ python3 -m pip install 'molecule[docker]'
+14
View File
@@ -0,0 +1,14 @@
---
- name: wrapper playbook for kitchen testing "ansible-ssh-hardening" with default settings
hosts: all
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
collections:
- devsec.hardening
tasks:
- include_role:
name: ssh_hardening
vars:
sftp_enabled: false
+70
View File
@@ -0,0 +1,70 @@
---
dependency:
name: galaxy
options:
role-file: molecule/ssh_hardening/requirements.yml
driver:
name: docker
platforms:
- name: instance
image: "rndmh3ro/docker-${MOLECULE_DISTRO}-ansible:latest"
command: ${MOLECULE_DOCKER_COMMAND:-/lib/systemd/systemd}
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
privileged: true
tmpfs:
- /tmp
- /run
capabilities:
- SYS_ADMIN
tty: true
env:
http_proxy: "${http_proxy}"
https_proxy: "${https_proxy}"
no_proxy: "${no_proxy}"
container: docker
provisioner:
name: ansible
config_options:
defaults:
interpreter_python: auto_silent
callback_whitelist: profile_tasks, timer, yaml
inventory:
host_vars:
# https://molecule.readthedocs.io/en/latest/examples.html#docker-with-non-privileged-user
# setting for the platform instance named 'instance'
instance:
ansible_user: ansible
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- destroy
+76
View File
@@ -0,0 +1,76 @@
---
- name: wrapper playbook for kitchen testing "ansible-ssh-hardening" with default settings
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
tasks:
- name: use python3
set_fact:
ansible_python_interpreter: /usr/bin/python3
when: ansible_facts.distribution == 'Fedora'
- name: install packages # noqa ignore-errors
yum:
name:
- openssh-clients
- openssh-server
- libselinux-python
state: present
update_cache: true
ignore_errors: true
- name: install packages # noqa ignore-errors
dnf:
name:
- openssh-clients
- openssh-server
- procps-ng
state: present
update_cache: true
ignore_errors: true
- name: install packages # noqa ignore-errors
apt:
name:
- openssh-client
- openssh-server
state: present
update_cache: true
ignore_errors: true
- name: install required tools on SuSE
# cannot use zypper module, since it depends on python-xml
shell: "zypper -n install python-xml"
when: ansible_facts.os_family == 'Suse'
- name: install packages
zypper:
name:
- "openssh"
when: ansible_facts.os_family == 'Suse'
- name: install required tools on Arch
pacman:
name:
- openssh
- awk
state: present
update_cache: true
when: ansible_facts.os_family == 'Archlinux'
- name: created needed directory
file:
path: "/var/run/sshd"
state: directory
- name: create ssh host keys # noqa ignore-errors
command: "ssh-keygen -A"
when: not ((ansible_facts.os_family in ['Oracle Linux', 'RedHat']) and ansible_facts.distribution_major_version < '7') or
ansible_facts.distribution == "Fedora" or
ansible_facts.distribution == "Amazon" or
ansible_facts.os_family == "Suse"
changed_when: false
ignore_errors: true
+3
View File
@@ -0,0 +1,3 @@
---
roles:
- geerlingguy.git
+57
View File
@@ -0,0 +1,57 @@
---
- name: Verify
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
roles:
- geerlingguy.git
tasks:
- name: install fake SuSE-release for cinc compatibility
copy:
content: |
openSUSE Faked Enterprise 2020 (x86_64)
VERSION = 2020
CODENAME = Faked Feature
dest: /etc/SuSE-release
owner: root
group: root
mode: '0444'
when: ansible_facts.os_family == 'Suse'
- name: install git for SuSE since geerlinguy.git does not support it
zypper:
name: git
state: present
when: ansible_facts.os_family == 'Suse'
- name: install crypto compat modules on fedora
dnf:
name: libxcrypt-compat
when: ansible_facts.distribution == 'Fedora'
- name: download cinc-auditor
get_url:
url: https://omnitruck.cinc.sh/install.sh
dest: /tmp/install.sh
mode: '0775'
- name: install cinc-auditor
shell: "bash /tmp/install.sh -s -- -P cinc-auditor -v 4"
- name: Execute cinc-auditor tests
command: "/opt/cinc-auditor/bin/cinc-auditor exec --no-show-progress --no-color --no-distinct-exit https://github.com/dev-sec/ssh-baseline/archive/refs/heads/simplify_crypto.zip"
register: test_results
changed_when: false
ignore_errors: true
- name: Display details about the cinc-auditor results
debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
fail:
msg: "Inspec failed to validate"
when: test_results.rc != 0
@@ -0,0 +1,22 @@
*******
Docker driver installation guide
*******
Requirements
============
* Docker Engine
Install
=======
Please refer to the `Virtual environment`_ documentation for installation best
practices. If not using a virtual environment, please consider passing the
widely recommended `'--user' flag`_ when invoking ``pip``.
.. _Virtual environment: https://virtualenv.pypa.io/en/latest/
.. _'--user' flag: https://packaging.python.org/tutorials/installing-packages/#installing-to-the-user-site
.. code-block:: bash
$ python3 -m pip install 'molecule[docker]'
@@ -0,0 +1,103 @@
---
- name: wrapper playbook for kitchen testing "ansible-ssh-hardening" with custom settings
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
collections:
- devsec.hardening
tasks:
- include_role:
name: ssh_hardening
vars:
ssh_trusted_user_ca_keys_file: '/etc/ssh/ca.pub'
ssh_trusted_user_ca_keys:
- '# ssh-rsa ...'
ssh_authorized_principals_file: '/etc/ssh/auth_principals/%u'
ssh_authorized_principals:
- path: "/etc/ssh/auth_principals/root"
principals:
- "root"
owner: "{{ ssh_owner }}"
group: "{{ ssh_group }}"
directoryowner: "{{ ssh_owner }}"
directorygroup: "{{ ssh_group }}"
directorymode: "0700"
network_ipv6_enable: true
ssh_allow_tcp_forwarding: 'yes'
ssh_gateway_ports: true
ssh_allow_agent_forwarding: true
ssh_server_permit_environment_vars: 'yes'
ssh_server_accept_env_vars: 'PWD HTTP_PROXY'
ssh_client_alive_interval: 100
ssh_client_alive_count: 10
ssh_client_password_login: true
ssh_challengeresponseauthentication: true
ssh_compression: true
ssh_allow_users: 'root kitchen vagrant'
ssh_allow_groups: 'root kitchen vagrant'
ssh_deny_users: 'foo bar'
ssh_deny_groups: 'foo bar'
ssh_authorized_keys_file: '/etc/ssh/authorized_keys/%u'
ssh_max_auth_retries: 10
ssh_permit_root_login: "without-password"
ssh_permit_tunnel: true
ssh_print_motd: true
ssh_print_last_log: true
ssh_banner: true
ssh_server_password_login: true
sftp_chroot: true
# ssh_server_enabled: false
ssh_server_ports:
- 22
- 222
ssh_server_match_address:
- address: '192.168.1.0/24'
rules:
- 'AllowTcpForwarding yes'
- 'AllowAgentForwarding no'
ssh_server_match_group:
- group: 'root'
rules:
- 'AllowTcpForwarding yes'
- 'AllowAgentForwarding no'
ssh_server_match_user:
- user: 'root'
rules:
- 'AllowTcpForwarding yes'
- 'AllowAgentForwarding no'
ssh_server_match_local_port:
- port: 222
rules:
- 'AllowTcpForwarding yes'
- 'AllowAgentForwarding no'
ssh_remote_hosts:
- names: ['example.com', 'example2.com']
options: ['Port 2222', 'ForwardAgent yes']
- names: ['example3.com']
options: ['StrictHostKeyChecking no']
ssh_use_dns: true
ssh_use_pam: true
ssh_max_startups: '10:30:60'
ssh_host_key_algorithms:
- ssh-ed25519
- rsa-sha2-512
- rsa-sha2-256
- ssh-rsa
ssh_macs:
- hmac-sha2-512
- hmac-sha2-256
ssh_ciphers:
- aes256-ctr
- aes192-ctr
- aes128-ctr
- aes256-cbc
ssh_kex:
- diffie-hellman-group-exchange-sha256
- diffie-hellman-group-exchange-sha1
ssh_custom_options:
- "Include /etc/ssh/ssh_config.d/*"
sshd_custom_options:
- "AcceptEnv LANG"
@@ -0,0 +1,64 @@
---
dependency:
name: galaxy
options:
role-file: molecule/ssh_hardening/requirements.yml
driver:
name: docker
platforms:
- name: instance
image: "rndmh3ro/docker-${MOLECULE_DISTRO}-ansible:latest"
command: ${MOLECULE_DOCKER_COMMAND:-/lib/systemd/systemd}
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
privileged: true
tmpfs:
- /tmp
- /run
capabilities:
- SYS_ADMIN
tty: true
env:
http_proxy: "${http_proxy}"
https_proxy: "${https_proxy}"
no_proxy: "${no_proxy}"
container: docker
provisioner:
name: ansible
config_options:
defaults:
interpreter_python: auto_silent
callback_whitelist: profile_tasks, timer, yaml
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- destroy
@@ -0,0 +1,76 @@
---
- name: wrapper playbook for kitchen testing "ansible-ssh-hardening" with default settings
hosts: all
become: true
environment:
http_proxy: "{{ lookup('env', 'http_proxy') | default(omit) }}"
https_proxy: "{{ lookup('env', 'https_proxy') | default(omit) }}"
no_proxy: "{{ lookup('env', 'no_proxy') | default(omit) }}"
tasks:
- name: use python3
set_fact:
ansible_python_interpreter: /usr/bin/python3
when: ansible_facts.distribution == 'Fedora'
- name: install packages # noqa ignore-errors
yum:
name:
- openssh-clients
- openssh-server
- libselinux-python
state: present
update_cache: true
ignore_errors: true
- name: install packages # noqa ignore-errors
dnf:
name:
- openssh-clients
- openssh-server
- procps-ng
state: present
update_cache: true
ignore_errors: true
- name: install packages # noqa ignore-errors
apt:
name:
- openssh-client
- openssh-server
state: present
update_cache: true
ignore_errors: true
- name: install required tools on SuSE
# cannot use zypper module, since it depends on python-xml
shell: "zypper -n install python-xml"
when: ansible_facts.os_family == 'Suse'
- name: install packages
zypper:
name:
- "openssh"
when: ansible_facts.os_family == 'Suse'
- name: install required tools on Arch
pacman:
name:
- openssh
- awk
state: present
update_cache: true
when: ansible_facts.os_family == 'Archlinux'
- name: created needed directory
file:
path: "/var/run/sshd"
state: directory
- name: create ssh host keys # noqa ignore-errors
command: "ssh-keygen -A"
when: not ((ansible_facts.os_family in ['Oracle Linux', 'RedHat']) and ansible_facts.distribution_major_version < '7') or
ansible_facts.distribution == "Fedora" or
ansible_facts.distribution == "Amazon" or
ansible_facts.os_family == "Suse"
changed_when: false
ignore_errors: true
@@ -0,0 +1,3 @@
---
roles:
- geerlingguy.git
+7
View File
@@ -0,0 +1,7 @@
molecule[docker]
yamllint
ansible
ansible-lint
docker
flake8
jmespath
+118
View File
@@ -0,0 +1,118 @@
# Changelog
## [2.2.2](https://github.com/dev-sec/ansible-mysql-hardening/tree/2.2.2) (2020-10-18)
[Full Changelog](https://github.com/dev-sec/ansible-mysql-hardening/compare/2.2.1...2.2.2)
**Implemented enhancements:**
- Use mysql_query module instead of temporary files [\#56](https://github.com/dev-sec/ansible-mysql-hardening/pull/56) ([szEvEz](https://github.com/szEvEz))
- update readme to new layout for vars [\#53](https://github.com/dev-sec/ansible-mysql-hardening/pull/53) ([rndmh3ro](https://github.com/rndmh3ro))
- add mode to copy task [\#51](https://github.com/dev-sec/ansible-mysql-hardening/pull/51) ([rndmh3ro](https://github.com/rndmh3ro))
- Fix linting errors and simplivy vars-handling [\#49](https://github.com/dev-sec/ansible-mysql-hardening/pull/49) ([rndmh3ro](https://github.com/rndmh3ro))
**Fixed bugs:**
- permissions on /etc/mysql/mysql.cnf too restrictive [\#35](https://github.com/dev-sec/ansible-mysql-hardening/issues/35)
- fix missing variables [\#55](https://github.com/dev-sec/ansible-mysql-hardening/pull/55) ([rndmh3ro](https://github.com/rndmh3ro))
- add modes to template and file tasks [\#50](https://github.com/dev-sec/ansible-mysql-hardening/pull/50) ([rndmh3ro](https://github.com/rndmh3ro))
**Closed issues:**
- Use mysql_query module instead of temporary files [\#52](https://github.com/dev-sec/ansible-mysql-hardening/issues/52)
- Add Centos 8 support for ansible-mysql-hardening [\#36](https://github.com/dev-sec/ansible-mysql-hardening/issues/36)
**Merged pull requests:**
- Run ansible-lint via github action [\#58](https://github.com/dev-sec/ansible-mysql-hardening/pull/58) ([szEvEz](https://github.com/szEvEz))
- Fix kitchen and travisci for major distros [\#57](https://github.com/dev-sec/ansible-mysql-hardening/pull/57) ([szEvEz](https://github.com/szEvEz))
- update testing [\#48](https://github.com/dev-sec/ansible-mysql-hardening/pull/48) ([rndmh3ro](https://github.com/rndmh3ro))
## [2.2.1](https://github.com/dev-sec/ansible-mysql-hardening/tree/2.2.1) (2020-06-06)
[Full Changelog](https://github.com/dev-sec/ansible-mysql-hardening/compare/2.2.0...2.2.1)
**Implemented enhancements:**
- unify changelog and release actions [\#46](https://github.com/dev-sec/ansible-mysql-hardening/pull/46) ([rndmh3ro](https://github.com/rndmh3ro))
## [2.2.0](https://github.com/dev-sec/ansible-mysql-hardening/tree/2.2.0) (2020-05-09)
[Full Changelog](https://github.com/dev-sec/ansible-mysql-hardening/compare/2.1.0...2.2.0)
**Implemented enhancements:**
- add changelog and release workflow [\#45](https://github.com/dev-sec/ansible-mysql-hardening/pull/45) ([rndmh3ro](https://github.com/rndmh3ro))
- Use python3-mysqldb for Ubuntu 20.04 [\#44](https://github.com/dev-sec/ansible-mysql-hardening/pull/44) ([shadinaif](https://github.com/shadinaif))
- add ansible-lint [\#43](https://github.com/dev-sec/ansible-mysql-hardening/pull/43) ([rndmh3ro](https://github.com/rndmh3ro))
## [2.1.0](https://github.com/dev-sec/ansible-mysql-hardening/tree/2.1.0) (2019-10-17)
[Full Changelog](https://github.com/dev-sec/ansible-mysql-hardening/compare/2.0.0...2.1.0)
**Implemented enhancements:**
- Add support for Debian Buster in ansible-mysql-hardening [\#37](https://github.com/dev-sec/ansible-mysql-hardening/issues/37)
- Update readme to include baselines [\#28](https://github.com/dev-sec/ansible-mysql-hardening/issues/28)
- migrate to new inspec test suite [\#25](https://github.com/dev-sec/ansible-mysql-hardening/issues/25)
- use bool filter on bare variable to address Ansible 2.8 deprecation warning [\#40](https://github.com/dev-sec/ansible-mysql-hardening/pull/40) ([deefour](https://github.com/deefour))
- Add test support for Debian Buster [\#38](https://github.com/dev-sec/ansible-mysql-hardening/pull/38) ([cnkk](https://github.com/cnkk))
- remove eol'd OS and add new [\#34](https://github.com/dev-sec/ansible-mysql-hardening/pull/34) ([rndmh3ro](https://github.com/rndmh3ro))
- replace iteritems with items for python3 support [\#33](https://github.com/dev-sec/ansible-mysql-hardening/pull/33) ([rndmh3ro](https://github.com/rndmh3ro))
- make mysql daemon enabling configurable [\#30](https://github.com/dev-sec/ansible-mysql-hardening/pull/30) ([rndmh3ro](https://github.com/rndmh3ro))
**Fixed bugs:**
- Template fails to render with Python 3 [\#32](https://github.com/dev-sec/ansible-mysql-hardening/issues/32)
- my.cnf symlink turns into None? [\#24](https://github.com/dev-sec/ansible-mysql-hardening/issues/24)
## [2.0.0](https://github.com/dev-sec/ansible-mysql-hardening/tree/2.0.0) (2017-05-07)
[Full Changelog](https://github.com/dev-sec/ansible-mysql-hardening/compare/1.0.0...2.0.0)
**Implemented enhancements:**
- Add CentOS7 with MariaDB support [\#23](https://github.com/dev-sec/ansible-mysql-hardening/issues/23)
- Fix ansible.cfg settings [\#29](https://github.com/dev-sec/ansible-mysql-hardening/pull/29) ([fazlearefin](https://github.com/fazlearefin))
- Add CentOS7 with MariaDB support [\#27](https://github.com/dev-sec/ansible-mysql-hardening/pull/27) ([chrispoupart](https://github.com/chrispoupart))
- - renamed 'mysql_hardening_mysql_conf' var to 'mysql_hardening_mysql\_… [\#22](https://github.com/dev-sec/ansible-mysql-hardening/pull/22) ([agno01](https://github.com/agno01))
**Fixed bugs:**
- error on task protect my.cnf [\#20](https://github.com/dev-sec/ansible-mysql-hardening/issues/20)
**Merged pull requests:**
- use new docker files [\#26](https://github.com/dev-sec/ansible-mysql-hardening/pull/26) ([rndmh3ro](https://github.com/rndmh3ro))
## [1.0.0](https://github.com/dev-sec/ansible-mysql-hardening/tree/1.0.0) (2016-06-28)
[Full Changelog](https://github.com/dev-sec/ansible-mysql-hardening/compare/dab153eb56e2296ce340e77d95586a55b5eefb80...1.0.0)
**Implemented enhancements:**
- add follow=yes to my.cnf protect task, incase its a symlink. fixes \#20 [\#21](https://github.com/dev-sec/ansible-mysql-hardening/pull/21) ([rndmh3ro](https://github.com/rndmh3ro))
- add changelog generator [\#7](https://github.com/dev-sec/ansible-mysql-hardening/pull/7) ([chris-rock](https://github.com/chris-rock))
**Closed issues:**
- tasks - main [\#14](https://github.com/dev-sec/ansible-mysql-hardening/issues/14)
- Fix directory structure. [\#6](https://github.com/dev-sec/ansible-mysql-hardening/issues/6)
**Merged pull requests:**
- Local testing [\#17](https://github.com/dev-sec/ansible-mysql-hardening/pull/17) ([rndmh3ro](https://github.com/rndmh3ro))
- fix rhel daemon [\#16](https://github.com/dev-sec/ansible-mysql-hardening/pull/16) ([rndmh3ro](https://github.com/rndmh3ro))
- alt version initial commit [\#15](https://github.com/dev-sec/ansible-mysql-hardening/pull/15) ([fitz123](https://github.com/fitz123))
- add test support for ansible 2.0 and 1.9 [\#13](https://github.com/dev-sec/ansible-mysql-hardening/pull/13) ([rndmh3ro](https://github.com/rndmh3ro))
- add webhook for ansible galaxy [\#11](https://github.com/dev-sec/ansible-mysql-hardening/pull/11) ([rndmh3ro](https://github.com/rndmh3ro))
- update platforms in meta-file [\#10](https://github.com/dev-sec/ansible-mysql-hardening/pull/10) ([rndmh3ro](https://github.com/rndmh3ro))
- Simplify local testing with custom role [\#9](https://github.com/dev-sec/ansible-mysql-hardening/pull/9) ([rndmh3ro](https://github.com/rndmh3ro))
- New role layout [\#8](https://github.com/dev-sec/ansible-mysql-hardening/pull/8) ([rndmh3ro](https://github.com/rndmh3ro))
- fix mysql restart not happening because of missing os specific variable [\#5](https://github.com/dev-sec/ansible-mysql-hardening/pull/5) ([fheinle](https://github.com/fheinle))
- Update kitchen-ansible, remove separate debian install [\#4](https://github.com/dev-sec/ansible-mysql-hardening/pull/4) ([rndmh3ro](https://github.com/rndmh3ro))
- update common kitchen.yml platforms \(ansible\), kitchen_debian.yml platforms \(ansible\) [\#3](https://github.com/dev-sec/ansible-mysql-hardening/pull/3) ([chris-rock](https://github.com/chris-rock))
- Separate system-vars from editable vars. [\#2](https://github.com/dev-sec/ansible-mysql-hardening/pull/2) ([rndmh3ro](https://github.com/rndmh3ro))
- Add documentation for testing, change value in vars [\#1](https://github.com/dev-sec/ansible-mysql-hardening/pull/1) ([rndmh3ro](https://github.com/rndmh3ro))
\* _This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)_
+84
View File
@@ -0,0 +1,84 @@
# devsec.mysql_hardening
![devsec.mysql_hardening](https://github.com/dev-sec/ansible-os-hardening/workflows/devsec.mysql_hardening/badge.svg)
## Description
This role provides security configurations for MySQL and its derivates. It is intended to set up production-ready MySQL instances that are configured with minimal surface for attackers. Furthermore it is intended to be compliant with the [DevSec MySQL Baseline](https://github.com/dev-sec/mysql-baseline).
It configures:
- Permissions for the various configuration files and folders
- Removes anonymous users, users without a password or authentication_string and test databases
- various hardening options inside MySQL
## Requirements
- Ansible 2.9.0
- An existing MySQL installation
### Example playbook
```yml
- hosts: localhost
collections:
- devsec.hardening
roles:
- mysql_hardening
```
This role expects an existing installation of MySQL or MariaDB. Changes of options `log_error` or `datadir` in `mysql_hardening_options` will not be checked for correct permissions. Please change/set `log_error` or `datadir` with the installation role of MySQL before running this role, or you can run this role twice.
Please ensure that the following variables are set accordingly:
- `mysql_hardening_enabled: yes` role is enabled by default and can be disabled without removing it from a playbook. You can use conditional variable, for example: `mysql_hardening_enabled: "{{ true if mysql_enabled else false }}"`
- `mysql_hardening_user: 'mysql'` The user that mysql runs as.
- `mysql_hardening_mysql_hardening_conf_file: '/etc/mysql/conf.d/hardening.cnf'` The path to the configuration file where the hardening will be performed
- _deprecated: `mysql_datadir: '/var/lib/mysql'` The MySQL data directory_
- `mysql_datadir` is no longer necessary, as MySQL data directory is automatically taken from `mysql_info`. But it can still be defined and will also be checked for correct permissions.
## Role Variables
- `mysql_hardening_chroot`
- Default: ""
- Description: [chroot](http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_chroot)
- `mysql_hardening_options.safe-user-create`
- Default: 1
- Description: [safe-user-create](http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_safe-user-create)
- `mysql_hardening_options.secure-auth`
- Default: 1
- Description: [secure-auth](http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_secure-auth)
- `mysql_hardening_options.skip-symbolic-links`
- Default: 1
- Description: [skip-symbolic-links](http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_symbolic-links)
- `mysql_hardening_skip_grant_tables:`
- Default: false
- Description: [skip-grant-tables](https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_skip-grant-tables)
- `mysql_hardening_skip_show_database`
- Default: 1
- Description: [skip-show-database](http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_skip-show-database)
- `mysql_hardening_options.local-infile`
- Default: 0
- Description: [local-infile](http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_local_infile)
- `mysql_hardening_options.allow-suspicious-udfs`
- Default: 0
- Description: [allow-suspicious-udfs](https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_allow-suspicious-udfs)
- `mysql_hardening_chroot.automatic-sp-privileges`
- Default: 0
- Description: [automatic_sp_privileges](https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_automatic_sp_privileges)
- `mysql_hardening_options.secure-file-priv`
- Default: /tmp
- Description: [secure-file-priv](https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_secure-file-priv)
- `mysql_allow_remote_root`
- Default: false
- Description: delete remote root users
- `mysql_remove_anonymous_users`
- Default: true
- Description: remove users without authentication
- `mysql_remove_test_database`
- Default: true
- Description: remove test database
- `mysql_hardening_restart_mysql`
- Default: true
- Description: Restart mysql after running this role
Further information is available at [Deutsche Telekom (German)](http://www.telekom.com/static/-/155996/7/technische-sicherheitsanforderungen-si) and [Symantec](http://www.symantec.com/connect/articles/securing-mysql-step-step)
+53
View File
@@ -0,0 +1,53 @@
---
# switcher to enable/disable role
mysql_hardening_enabled: true
mysql_daemon_enabled: true
mysql_hardening_restart_mysql: true
# general configuration
mysql_hardening_mysql_hardening_conf_file: '{{ mysql_hardening_mysql_confd_dir }}/hardening.cnf'
# You have to change this to your own strong enough mysql root password
mysql_root_password: '-----====>SetR00tPa$$wordH3r3!!!<====-----'
# There .my.cnf with mysql root credentials will be installed
mysql_user_home: "{{ ansible_env.HOME }}"
# ensure the following parameters are set properly
mysql_remove_remote_root: true
mysql_remove_anonymous_users: true
mysql_remove_test_database: true
# @see http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_skip-show-database
mysql_hardening_skip_show_database: true
# @see https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_skip-grant-tables
mysql_hardening_skip_grant_tables: false
# @see http://www.symantec.com/connect/articles/securing-mysql-step-step
# @see http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_chroot
mysql_hardening_chroot: ""
mysql_hardening_options:
# @see http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_safe-user-create
safe-user-create: 1
# @see http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option-mysqld-secure-auth
secure-auth: 1
# @see http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option-mysqld-symbolic-links
skip-symbolic-links: 1
# @see http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar-local-infile
local-infile: 0
# @see https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option-mysqld-allow-suspicious-udfs
allow-suspicious-udfs: 0
# @see https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar-automatic-sp-privileges
automatic-sp-privileges: 0
# @see https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option-mysqld-secure-file-priv
secure-file-priv: '/tmp'
# @see https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_user
user: '{{ mysql_hardening_user }}'
+7
View File
@@ -0,0 +1,7 @@
---
- name: Restart mysql
service:
name: '{{ mysql_daemon }}'
state: restarted
when: mysql_hardening_restart_mysql | bool
+30
View File
@@ -0,0 +1,30 @@
---
galaxy_info:
author: "Sebastian Gumprich"
description: 'This Ansible playbook provides security configuration for mysql.'
company: Hardening Framework Team
license: Apache License 2.0
min_ansible_version: '2.9.10'
platforms:
- name: EL
versions:
- "7"
- "8"
- name: Ubuntu
versions:
- bionic
- focal
- jammy
- name: Debian
versions:
- bullseye
- buster
- name: Amazon
- name: Fedora
galaxy_tags:
- system
- security
- hardening
- database
- mysql
dependencies: []
+64
View File
@@ -0,0 +1,64 @@
---
- name: Protect my.cnf
file:
path: '{{ mysql_hardening_mysql_conf_file }}'
mode: '0640'
owner: '{{ mysql_cnf_owner }}'
group: '{{ mysql_cnf_group }}'
follow: true
state: file
- name: Ensure permissions on mysql-datadir are correct
file:
path: '{{ item }}'
state: directory
owner: '{{ mysql_hardening_user }}'
group: '{{ mysql_hardening_user }}'
mode: '0750'
when: item is defined and item != ""
loop:
- '{{ mysql_settings.settings.datadir }}'
- '{{ mysql_datadir | default("") }}'
- name: Ensure permissions on mysql-logfile are correct
file:
path: '{{ item }}'
state: file
owner: '{{ mysql_hardening_user }}'
group: '{{ mysql_hardening_group }}'
mode: '0640'
when: item is defined and item != ""
loop:
- '{{ mysql_settings.settings.log_error }}'
- '{{ mysql_hardening_log_file | default("") }}'
- name: Check mysql configuration-directory exists and has right permissions
file:
path: '{{ mysql_hardening_mysql_confd_dir }}'
state: directory
owner: '{{ mysql_hardening_user }}'
group: '{{ mysql_hardening_group }}'
mode: '0750'
- name: Check include-dir directive is present in my.cnf
lineinfile:
dest: '{{ mysql_hardening_mysql_conf_file }}'
line: '!includedir {{ mysql_hardening_mysql_confd_dir }}'
insertafter: 'EOF'
state: present
backup: true
notify: Restart mysql
- name: Apply hardening configuration
template:
src: 'hardening.cnf.j2'
dest: '{{ mysql_hardening_mysql_hardening_conf_file }}'
owner: '{{ mysql_cnf_owner }}'
group: '{{ mysql_cnf_group }}'
mode: '0640'
notify: Restart mysql
- name: Enable mysql
service:
name: '{{ mysql_daemon }}'
enabled: '{{ mysql_daemon_enabled }}'
+71
View File
@@ -0,0 +1,71 @@
---
- name: Fetch OS dependent variables
include_vars:
file: '{{ item }}'
name: 'os_vars'
with_first_found:
- files:
- '{{ ansible_facts.distribution }}_{{ ansible_facts.distribution_major_version }}.yml'
- '{{ ansible_facts.distribution }}.yml'
- '{{ ansible_facts.os_family }}_{{ ansible_facts.distribution_major_version }}.yml'
- '{{ ansible_facts.os_family }}.yml'
skip: true
tags: always
# we only override variables with our default if they have not been specified already.
# by default the lookup functions finds all varnames containing the string, therefore
# we add ^ and $ to denote start and end of string, so this returns only exact maches.
- name: Set OS dependent variables, if not already defined by user # noqa var-naming
set_fact:
'{{ item.key }}': '{{ item.value }}'
when: "not lookup('varnames', '^' + item.key + '$')"
with_dict: '{{ os_vars }}'
tags: always
- name: Check that the variable mysql_distribution is set correctly
ansible.builtin.assert:
that: mysql_distribution == 'mysql' or mysql_distribution == 'mariadb'
fail_msg: 'mysql_distribution must be set to either mysql or mariadb!'
when: mysql_distribution is defined
- name: Gather package facts to check for mysql/mariadb version
ansible.builtin.package_facts:
manager: auto
when: not mysql_distribution is defined
- name: Check if MySQL or MariaDB is used
set_fact:
mysql_distribution: "{{ ansible_facts.packages['mysql-server'] is defined | ternary('mysql', 'mariadb') }}"
when: not mysql_distribution is defined
- name: Check which MySQL/MariaDB version is used
community.mysql.mysql_info:
filter: version
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
register: mysql_version
- name: Check MySQL/MariaDB settings
community.mysql.mysql_info:
filter: settings
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
register: mysql_settings
# see https://stackoverflow.com/a/59451077/2953919 for the
# dict2items and vice versa magic
- name: Drop the secure-auth parameter on MySQL >=8.0.3 (not mariadb)
set_fact:
mysql_hardening_options: "{{ mysql_hardening_options | dict2items | rejectattr('key', 'search', 'secure-auth') | list | items2dict }}"
when:
- mysql_version.version.full is version('8.0.3', '>=')
- mysql_distribution == "mysql"
- include: configure.yml
when: mysql_hardening_enabled | bool
tags:
- mysql_hardening
- include: mysql_secure_installation.yml
when: mysql_hardening_enabled | bool
tags:
- mysql_hardening
- mysql_secure_installation
@@ -0,0 +1,104 @@
---
- name: Fail the role if the mysql root password was not set
fail:
msg: 'ERROR - you have to change default mysql_root_password'
when: mysql_root_password == '-----====>SetR00tPa$$wordH3r3!!!<====-----'
- name: ensure that the root password is present
community.mysql.mysql_user:
name: 'root'
host_all: true
password: '{{ mysql_root_password | mandatory }}'
state: present
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
- name: Install .my.cnf with credentials
template:
src: 'my.cnf.j2'
dest: '{{ mysql_user_home }}/.my.cnf'
mode: '0400'
tags: my_cnf
- name: ensure that the test database is absent
community.mysql.mysql_db:
name: test
state: absent
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
when: mysql_remove_test_database
- name: ensure that anonymous users are absent
community.mysql.mysql_user:
name: ''
state: absent
host_all: true
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
when: mysql_remove_anonymous_users
- name: ensure that root can only login from localhost
community.mysql.mysql_query:
query:
- DELETE
FROM mysql.user
WHERE USER='root'
AND HOST NOT IN ('localhost',
'127.0.0.1',
'::1')
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
when: mysql_remove_remote_root
- name: get all users that have no authentication_string on MySQL version >= 5.7.6 or Mariadb version >= 10.4.0
community.mysql.mysql_query:
query:
- SELECT GROUP_CONCAT(QUOTE(USER), '@', QUOTE(HOST) SEPARATOR ', ') AS users
FROM mysql.user
WHERE (length(authentication_string)=0
OR authentication_string="")
AND USER NOT IN ('mysql.sys',
'mysqlxsys',
'mariadb.sys');
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
register: mysql_users_wo_passwords_or_auth_string
when:
- (mysql_distribution == "mysql" and mysql_version.version.full is version('5.7.6', '>=')) or
(mysql_distribution == "mariadb" and mysql_version.version.full is version('10.4.0', '>='))
- name: get all users that have no password or authentication_string on MySQL version < 5.7.6 or Mariadb version < 10.4.0
community.mysql.mysql_query:
query:
- SELECT GROUP_CONCAT(QUOTE(USER), '@', QUOTE(HOST) SEPARATOR ', ') AS users
FROM mysql.user
WHERE (length(password)=0
OR password="")
AND (length(authentication_string)=0
OR authentication_string="")
AND USER NOT IN ('mysql.sys',
'mysqlxsys',
'mariadb.sys');
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
register: mysql_users_wo_passwords
when:
- (mysql_distribution == "mysql" and mysql_version.version.full is version('5.7.6', '<')) or
(mysql_distribution == "mariadb" and mysql_version.version.full is version('10.4.0', '<'))
- name: create a fact for users without password or authentication_string
set_fact:
users_wo_auth: "{{ mysql_users_wo_passwords_or_auth_string.query_result.0.0 | community.general.json_query('users') }}"
when:
- mysql_users_wo_passwords_or_auth_string.query_result is defined
- mysql_users_wo_passwords_or_auth_string.query_result != "" # noqa empty-string-compare
- name: create a fact for users without password
set_fact:
users_wo_auth: "{{ mysql_users_wo_passwords.query_result.0.0 | community.general.json_query('users') }}"
when:
- mysql_users_wo_passwords.query_result is defined
- mysql_users_wo_passwords.query_result != "" # noqa empty-string-compare
- name: ensure that there are no users without password or authentication_string
community.mysql.mysql_query:
query:
- "DROP USER {{ users_wo_auth }}"
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
when:
- users_wo_auth is defined
- users_wo_auth != "" # noqa empty-string-compare
@@ -0,0 +1,18 @@
{{ ansible_managed | comment }}
# Generated by Ansible role {{ ansible_role_name }}
[mysqld]
{% if mysql_hardening_skip_show_database -%}
skip-show-database
{% endif %}
{% if mysql_hardening_skip_grant_tables -%}
skip-grant-tables
{% endif %}
{% for (key, value) in mysql_hardening_options.items() %}
{{ key }} = {{ value }}
{% endfor %}
{% if mysql_hardening_chroot %}
chroot = '{{ mysql_hardening_chroot }}'
{% endif %}
@@ -0,0 +1,7 @@
{{ ansible_managed | comment }}
# Generated by Ansible role {{ ansible_role_name }}
[client]
user=root
password='{{ mysql_root_password | mandatory }}'
#ssl
+10
View File
@@ -0,0 +1,10 @@
---
mysql_daemon: mysql
mysql_hardening_mysql_conf_file: '/etc/mysql/my.cnf'
mysql_hardening_mysql_confd_dir: '/etc/mysql/conf.d'
mysql_hardening_group: 'adm'
mysql_cnf_owner: 'root' # owner of /etc/mysql/*.cnf files
mysql_cnf_group: 'mysql' # owner of /etc/mysql/*.cnf files
+4
View File
@@ -0,0 +1,4 @@
---
mysql_daemon: mysqld
mysql_hardening_mysql_conf_file: '/etc/my.cnf'
mysql_hardening_mysql_confd_dir: '/etc/my.cnf.d'
+10
View File
@@ -0,0 +1,10 @@
---
mysql_daemon: mysql-server
mysql_hardening_mysql_conf_file: '/usr/local/etc/mysql/my.cnf'
mysql_hardening_mysql_confd_dir: '/usr/local/etc/mysql/conf.d'
mysql_hardening_group: 'mysql'
mysql_cnf_owner: 'root' # owner of /usr/local/etc/mysql/*.cnf files
mysql_cnf_group: 'mysql' # owner of /usr/local/etc/mysql/*.cnf files
@@ -0,0 +1,7 @@
---
mysql_daemon: mysqld
mysql_hardening_mysql_conf_file: '/etc/my.cnf'
mysql_hardening_mysql_confd_dir: '/etc/my.cnf.d'
mysql_hardening_group: 'adm'
+9
View File
@@ -0,0 +1,9 @@
---
mysql_daemon: mariadb
mysql_hardening_mysql_conf_file: '/etc/my.cnf'
mysql_hardening_mysql_confd_dir: '/etc/my.cnf.d'
mysql_cnf_owner: 'root' # owner of /etc/mysql/*.cnf files
mysql_cnf_group: 'mysql' # owner of /etc/mysql/*.cnf files
mysql_hardening_group: 'mysql'
+10
View File
@@ -0,0 +1,10 @@
---
mysql_daemon: mysql
mysql_hardening_mysql_conf_file: '/etc/mysql/my.cnf'
mysql_hardening_mysql_confd_dir: '/etc/mysql/conf.d'
mysql_cnf_owner: 'root' # owner of /etc/mysql/*.cnf files
mysql_cnf_group: 'mysql' # owner of /etc/mysql/*.cnf files
mysql_hardening_group: 'adm'
Loaded 100 of 211 files, more files were not shown because too many files have changed in this diff. Show more