Compare commits

...
2329 Commits
Author SHA1 Message Date
renovate[bot] 2a8c3573b3 Update dependency python to 3.14
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-13 08:31:09 +00:00
dev-sec CI c21ff3d2c3 update changelog 2026-05-13 07:44:08 +00:00
renovate[bot] 1fb77e4c9c Update dev-sec/.github digest to 2cd0028 (#943)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-13 09:43:08 +02:00
renovate[bot] 02d583a01d Update dependency molecule to v26 (#935)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-13 09:42:53 +02:00
dev-sec CI 4d436b0697 update changelog 2026-05-12 22:14:21 +00:00
renovate[bot] c801b54cf8 Update dependency ansible-core to v2.20.5 (#910)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-12 22:10:07 +00:00
dev-sec CI 41320ed028 update os_hardening readme 2026-05-12 13:35:56 +00:00
dev-sec CI 3a6e3fedb2 update nginx_hardening readme 2026-05-12 13:35:06 +00:00
dev-sec CI a72d4da2ef update mysql_hardening readme 2026-05-12 13:34:08 +00:00
dev-sec CI 1d856393e0 update ssh_hardening readme 2026-05-12 13:31:57 +00:00
dev-sec CI 2d9e7028ba update changelog 2026-05-12 13:28:19 +00:00
Martin Schurz 38791f0199 Update supported OS versions to current Fedora (42/43/44) and Ubuntu (22.04/24.04/26.04) (#946)
* Update testing and remove old, unsupported OS versions

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

* Update Arch OS

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

* Fix SuSE login.defs issues

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

* Debug ...

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

* Fix SuSE stuff

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

* Fix SuSE stuff

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

* Update OS Support

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

* Use Ansible mysql module

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

* Update OS Support

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

* Use existing Fedora images

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

* Fix VM tests

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

* fix last errors

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

* Final fixes

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2026-05-12 15:25:57 +02:00
dev-sec CI 6c0d54cbe5 update changelog 2026-05-06 08:44:51 +00:00
renovate[bot] 1830c8df23 Update actions/labeler action to v6.1.0 (#947)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-06 08:43:30 +00:00
dev-sec CI a506cc63f5 update changelog 2026-04-16 07:52:30 +00:00
renovate[bot] f24952f110 chore(deps): update ansible/ansible-lint digest to 5fac056 (#942)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-16 09:50:53 +02:00
dev-sec CI 1199cbd8ee update galaxy.yml with new version 2026-03-28 21:29:36 +00:00
dev-sec CI 13515e3fe2 update changelog 2026-03-28 20:37:44 +00:00
renovate[bot] 882637dd13 chore(deps): update actions/checkout digest to de0fac2 (#932) 2026-03-28 21:36:28 +01:00
dev-sec CI 0f0761fb7e update changelog 2026-03-28 19:44:38 +00:00
renovate[bot] dec15ae057 chore(deps): pin dependencies (#938)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-28 20:43:21 +01:00
renovate[bot] f174f69e9e chore(deps): update hugo19941994/delete-draft-releases action to v3 (#940)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-28 20:42:51 +01:00
dev-sec CI 13444e5e9b update changelog 2026-03-28 19:29:07 +00:00
Eike SauerandEike Sauer f68429cff0 do not update apt cache when installing libpam-passwdqc (#939)
* updating apt is not in the scope of a libpam-passwdqc task, IMHO

---------

Signed-off-by: Eike Sauer <[email protected]>
Co-authored-by: Eike Sauer <[email protected]>
2026-03-28 20:27:51 +01:00
dev-sec CI 7c2168bd21 update galaxy.yml with new version 2026-03-20 22:10:01 +00:00
dev-sec CI 70da85de4d update changelog 2026-03-20 21:26:29 +00:00
schurzi a62b40e6b0 Prettified Code! 2026-03-20 21:25:18 +00:00
Martin Schurz 9bbae051d6 Improve VM based testing of SSH hardening (#878) 2026-03-20 22:24:57 +01:00
dev-sec CI c89fe9e5e4 update changelog 2026-03-20 14:11:16 +00:00
Tatu Argillander d7487032d2 disable sshd socket activation first (#931)
Ansible can open multiple connections and it's possible for a new socket
to open before activation is fully disabled, leaving a zombie sshd
process. At least that is the guess. Ubuntu 24.04 suffers from this.

Reload the configuration after disabling socket activation to not enable
it again.

Signed-off-by: Tatu Argillander <[email protected]>
2026-03-20 15:06:59 +01:00
dev-sec CI 7b1052db3a update changelog 2026-03-14 10:53:31 +00:00
renovate[bot] 7d80c0cdc5 chore(deps): update artis3n/ansible_galaxy_collection action to v3 (#933)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 11:51:58 +01:00
renovate[bot] 56af318f67 chore(deps): update juliangruber/read-file-action digest to 271ff31 (#937)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 11:51:31 +01:00
renovate[bot] af19631274 chore(deps): update ansible/ansible-lint digest to 8ba9595 (#934)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 11:51:03 +01:00
dev-sec CI 90568a27a8 update galaxy.yml with new version 2026-01-22 22:12:05 +00:00
dev-sec CI 01121abab4 update changelog 2026-01-22 21:31:25 +00:00
renovate[bot] 83167cdd4c chore(deps): update dependency jmespath to v1.1.0 (#930)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 22:29:59 +01:00
dev-sec CI 7bf49663dd update changelog 2026-01-22 09:10:00 +00:00
dev-sec CI c751768731 update changelog 2026-01-22 07:02:40 +00:00
renovate[bot] 05cf135b52 chore(deps): update actions/setup-python digest to a309ff8 (#929)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 08:01:08 +01:00
dev-sec CI 2341043c79 update changelog 2026-01-18 18:58:41 +00:00
renovate[bot] 7c99aa19e0 chore(deps): update artis3n/ansible_galaxy_collection digest to 415a92b (#927)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-18 19:57:44 +01:00
renovate[bot] 745931444a chore(deps): update ansible/ansible-lint action to v26 (#928)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-18 19:57:26 +01:00
dev-sec CI 8f7f3f0695 update changelog 2025-12-23 11:03:34 +00:00
renovate[bot] a97cc1d6ce chore(deps): update ansible/ansible-lint digest to a2bc8b8 (#924)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-23 12:02:13 +01:00
dev-sec CI ebbbde5ea8 update changelog 2025-12-14 11:20:20 +00:00
renovate[bot] 8826a81a74 chore(deps): update dependency molecule to v25.12.0 (#914)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-14 12:19:19 +01:00
renovate[bot] fdfb86b6bb chore(deps): update actions/setup-python digest to 83679a8 (#920)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-14 12:19:05 +01:00
dev-sec CI 1328c7ae93 update changelog 2025-12-13 12:47:30 +00:00
renovate[bot] 43b6402acf chore(deps): update actions/checkout action to v6 (#919)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-13 13:44:59 +01:00
renovate[bot] c4acd62225 chore(deps): update ansible/ansible-lint digest to 40f24c2 (#913)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-13 13:42:47 +01:00
dev-sec CI 936240fc7a update changelog 2025-12-13 12:39:19 +00:00
Norman Ziegner 209ba1dabf Consistently access facts via the ansible_facts.* namespace (#917)
* ci: disable injecting facts as own vars in the main namespace

Signed-off-by: Norman Ziegner <[email protected]>

* Consistently access facts via the ansible_facts.* namespace

Signed-off-by: Norman Ziegner <[email protected]>

---------

Signed-off-by: Norman Ziegner <[email protected]>
2025-12-13 13:38:02 +01:00
dev-sec CI db998ef8c5 update changelog 2025-11-28 17:38:08 +00:00
Norman Ziegner 4e5c4478d8 fix: remove yaml callback entirely for EL8 compatibility (#918)
Signed-off-by: Norman Ziegner <[email protected]>
2025-11-28 18:36:51 +01:00
dev-sec CI f6b52d55fc update changelog 2025-10-27 21:25:00 +00:00
ChristophandChristoph Sieber 940ed980b3 disable systemd audit logging (#902)
* os_hardening: disable systemd audit logging

disable audit logging via systemd-journald when enabling auditd
as this leads to duplicate logs in the journal or even /var/log/messages
depending on the configuration

Signed-off-by: Christoph Sieber <[email protected]>

* Don't disable systemd-journald-audit.socket on Suse

it seems the socket doesn't exist on this OS

Signed-off-by: Christoph Sieber <[email protected]>

---------

Signed-off-by: Christoph Sieber <[email protected]>
Co-authored-by: Christoph Sieber <[email protected]>
2025-10-27 22:23:39 +01:00
dev-sec CI 9976169cad update changelog 2025-10-27 09:37:20 +00:00
Martin Schurz 24d4d04840 Update test environments to current Ansible version (#909)
* Update test environments to current Ansible version

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

* Add Workaround for vagrant

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2025-10-27 10:32:41 +01:00
dev-sec CI 95e50cb69d update changelog 2025-10-26 16:17:56 +00:00
renovate[bot] 2484831bca chore(deps): update ansible/ansible-lint digest to d7cd7cf (#903)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-26 17:15:44 +01:00
dev-sec CI 76b0ae3000 update galaxy.yml with new version 2025-10-22 10:35:43 +00:00
dev-sec CI 1e40024850 update changelog 2025-10-22 09:02:34 +00:00
Martin Schurz 1512111726 Write sysctl config to separate file (#907)
* Write sysctl config to separate file

Write our sysctl config to separate file, since newer distributions no longer use the global /etc/sysctl.conf file. All older distributions seem to already support reading from /etc/sysctl.d so this should be no breaking change.
2025-10-22 11:01:01 +02:00
dev-sec CI 328644e1fe update changelog 2025-10-22 08:22:11 +00:00
Martin Schurz f377395e00 Update ArchLinux test environment before testing (#908)
* Update ArchLinux test environment before testing

Update Arch packages and Keyrings to avoid problems when installing Ansible and dependencies.
2025-10-22 10:20:40 +02:00
dev-sec CI e4d736cde2 update changelog 2025-09-25 16:37:46 +00:00
renovate[bot] 548e888c40 chore(deps): update actions/setup-python action to v6 (#901)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 18:36:52 +02:00
renovate[bot] 77f0d32af7 chore(deps): update actions/labeler action to v6 (#900)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 18:36:33 +02:00
renovate[bot] 5701f291db chore(deps): update ansible/ansible-lint digest to 8861a73 (#899)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 18:36:24 +02:00
dev-sec CI 50befb5fe8 update changelog 2025-08-13 13:24:28 +00:00
renovate[bot] afdfdb065f chore(deps): update actions/checkout action to v5 (#895)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 15:19:49 +02:00
dev-sec CI 4075c453a9 update changelog 2025-08-12 19:20:05 +00:00
renovate[bot] 306903b19d chore(deps): update hugo19941994/delete-draft-releases action to v2 (#885)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 21:18:50 +02:00
dev-sec CI 61c7c9a823 update ssh_hardening readme 2025-08-12 10:57:52 +00:00
dev-sec CI 1876ee1bf5 update nginx_hardening readme 2025-08-12 10:55:17 +00:00
dev-sec CI 91f8dada4c update mysql_hardening readme 2025-08-12 10:51:39 +00:00
dev-sec CI ae3cbf27a6 update os_hardening readme 2025-08-12 10:50:37 +00:00
dev-sec CI 734f2d205e update changelog 2025-08-12 10:49:32 +00:00
Martin SchurzandJonathan Wright b87188c619 Add support for current versions of Debian and EL (#893)
* Add support for current versions of Debian and EL

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

* Add conditions for EL8

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

* Fix Audit in AlmaLinux

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

* Fix broken SSH host key config in rhel/almalinux 10

Signed-off-by: Jonathan Wright <[email protected]>

* Generate SSH Keys on EL10

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

* Generate SSH Keys for tests via Systemd

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

* Fixup tests

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

* Remove auditd conditions

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

* Add path to audit handler

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

* Install init scripts

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

* Update main README

---------

Signed-off-by: Martin Schurz <[email protected]>
Signed-off-by: Jonathan Wright <[email protected]>
Co-authored-by: Jonathan Wright <[email protected]>
2025-08-12 12:48:46 +02:00
Martin Schurz f14460514d Merge pull request #888 from jonathanspw/almalinux10
Add SSH config for EL/AlmaLinux 10
2025-08-12 12:48:21 +02:00
dev-sec CI 311cf40c50 update changelog 2025-08-10 15:46:58 +00:00
renovate[bot] a2d64b5642 chore(deps): update dependency python to 3.13 (#892)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-10 15:43:12 +00:00
dev-sec CI 1f92bc7f6a update changelog 2025-08-05 12:43:06 +00:00
renovate[bot] 41618f14f4 chore(deps): update dependency aar-doc to v2.3.0 (#890)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-05 12:41:52 +00:00
dev-sec CI 33c7bbdec3 update changelog 2025-08-04 06:22:35 +00:00
Martin Schurz e234ac57e3 Merge pull request #889 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to 9765b87
2025-08-04 08:21:18 +02:00
dev-sec CI 6edcedc9b6 update changelog 2025-08-04 06:00:35 +00:00
renovate[bot] 0eb6fbeae3 chore(deps): update ansible/ansible-lint digest to 9765b87
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 06:00:10 +00:00
Martin Schurz 9634efbdff Merge pull request #887 from jonathanspw/patch-1
Improve OS support accuracy
2025-08-04 07:59:19 +02:00
Jonathan Wright 157832e472 Fix broken SSH host key config in rhel/almalinux 10
Signed-off-by: Jonathan Wright <[email protected]>
2025-07-31 09:50:38 -05:00
Jonathan Wright 3d076bb92e Improve OS support accuracy
These roles are used/tested extensively within AlmaLinux's own infrastructure.

Signed-off-by: Jonathan Wright <[email protected]>
2025-07-31 09:49:21 -05:00
dev-sec CI db61a1d4c5 update galaxy.yml with new version 2025-07-25 07:39:59 +00:00
dev-sec CI f4d4246ddf update changelog 2025-07-24 15:18:32 +00:00
schurzi ec97936cce Merge pull request #873 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to 06f616d
2025-07-24 17:17:15 +02:00
Martin Schurz 96e7d7a5bd Use different names for test tasks
Signed-off-by: Martin Schurz <[email protected]>
2025-07-24 16:43:52 +02:00
dev-sec CI acccf3f6bb update changelog 2025-07-24 14:40:44 +00:00
schurzi a3935ee6cd Merge pull request #877 from dev-sec/renovate/aar-doc-2.x
chore(deps): update dependency aar-doc to v2.2.0
2025-07-24 16:39:11 +02:00
dev-sec CI 6c58601b4c update changelog 2025-07-24 10:33:00 +00:00
renovate[bot] a68817a1d4 chore(deps): update dependency aar-doc to v2.2.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 10:31:46 +00:00
schurzi 946ffc5f93 Merge pull request #866 from dev-sec/renovate/actions-setup-python-digest
chore(deps): update actions/setup-python digest to a26af69
2025-07-24 12:31:17 +02:00
renovate[bot] 87b04e61c2 chore(deps): update actions/setup-python digest to a26af69
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 09:50:39 +00:00
dev-sec CI 4a245e98cd update changelog 2025-07-24 09:44:59 +00:00
schurzi 422d58fd14 Merge pull request #884 from dev-sec/fix_bsd_tests
Use fixed test env for BSD VMs
2025-07-24 11:41:45 +02:00
Martin Schurz bb7e74407d Use fixed test env for BSD VMs
Signed-off-by: Martin Schurz <[email protected]>
2025-07-24 11:32:55 +02:00
dev-sec CI c5d9e8aaeb update changelog 2025-07-24 08:05:00 +00:00
schurzi 6cba622ea1 Merge pull request #882 from dev-sec/fix_rocky8
Downgrade community.crypto for rocky8
2025-07-24 10:03:41 +02:00
Martin Schurz ec7603846d Downgrade community.crypto for rocky8
Signed-off-by: Martin Schurz <[email protected]>
2025-07-24 09:37:39 +02:00
renovate[bot] dff7e83f6a chore(deps): update ansible/ansible-lint digest to 06f616d
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 11:30:12 +00:00
dev-sec CI 9ebc603b6b update changelog 2025-06-10 01:33:21 +00:00
renovate[bot] ff63c3fe7a chore(deps): update creyd/prettier_action action to v4.6 (#876)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 01:32:07 +00:00
dev-sec CI 38eede7e03 update changelog 2025-05-20 10:30:26 +00:00
rndmh3ro 41264cdc10 Prettified Code! 2025-05-20 10:29:33 +00:00
Sebastian Gumprich 02db22f6fc Update minimum ansible version 2025-05-20 12:29:15 +02:00
renovate[bot] 4ab70a7d07 chore(deps): update dependency ansible-core to v2.18.6 (#872)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 04:03:37 +00:00
dev-sec CI 04c6ed3bd1 update changelog 2025-05-16 08:29:26 +00:00
schurzi bb951fc55f Merge pull request #867 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to e98f9b3
2025-05-16 10:28:17 +02:00
dev-sec CI 71ce99183d update changelog 2025-05-08 23:50:12 +00:00
renovate[bot] acd7470619 chore(deps): update creyd/prettier_action action to v4.5 (#869)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 23:49:05 +00:00
dev-sec CI 57ba543be0 update changelog 2025-05-08 11:51:48 +00:00
Moritz e75072989f chore(ssh_hardening): ansible 2.19 compatibility (#868)
* chore(ssh_hardening): jinja2 templates header fixed

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

* chore(ssh_hardening): conditional bool handling

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

---------

Signed-off-by: Nemental <[email protected]>
2025-05-08 13:50:38 +02:00
renovate[bot] 0d944bccd6 chore(deps): update ansible/ansible-lint digest to e98f9b3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 14:28:13 +00:00
dev-sec CI 1388eea064 update changelog 2025-04-22 03:24:15 +00:00
renovate[bot] 3f158165bf chore(deps): update dependency ansible-core to v2.18.5 (#865)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 03:23:07 +00:00
dev-sec CI 69bdd58226 update changelog 2025-04-04 11:16:58 +00:00
renovate[bot] 65cf22801b chore(deps): update dependency aar-doc to v2.1.0 (#861)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 11:15:41 +00:00
dev-sec CI 88c823f2b8 update changelog 2025-04-04 02:21:03 +00:00
renovate[bot] 628c3542da chore(deps): update dependency ansible-core to v2.18.4 (#860)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 02:19:47 +00:00
dev-sec CI e954eb83a6 update changelog 2025-04-03 20:06:37 +00:00
schurzi 72297cf078 Merge pull request #859 from dev-sec/renovate/actions-setup-python-digest
chore(deps): update actions/setup-python digest to 8d9ed9a
2025-04-03 22:04:06 +02:00
dev-sec CI a60279a158 update changelog 2025-04-03 15:49:46 +00:00
schurzi 8f2c7d6866 Merge pull request #863 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to c16f018
2025-04-03 17:48:38 +02:00
renovate[bot] c757f40909 chore(deps): update ansible/ansible-lint digest to c16f018
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 14:50:04 +00:00
dev-sec CI 14a3cd5613 update changelog 2025-04-03 14:49:12 +00:00
schurzi 9378570308 Merge pull request #862 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to 6a4fcdb
2025-04-03 16:47:50 +02:00
renovate[bot] d22a086c41 chore(deps): update ansible/ansible-lint digest to 6a4fcdb
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 14:06:21 +00:00
renovate[bot] 86a1570bd0 chore(deps): update actions/setup-python digest to 8d9ed9a
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-25 06:46:20 +00:00
dev-sec CI 3172a43202 update changelog 2025-03-17 17:12:44 +00:00
Ali Mehraji 031b62ff4c Fix: ForwardAgent j2 template space in roles/ssh_hardening/templates/openssh.conf.j2 (#856)
Signed-off-by: Ali Mehraji <[email protected]>
2025-03-17 18:11:32 +01:00
dev-sec CI d4ca770dcd update changelog 2025-03-10 13:40:57 +00:00
schurzi 2a5dac1918 Merge pull request #853 from dev-sec/renovate/artis3n-ansible_galaxy_collection-digest
chore(deps): update artis3n/ansible_galaxy_collection digest to f6110ae
2025-03-10 14:39:46 +01:00
renovate[bot] 49f3a98bee chore(deps): update artis3n/ansible_galaxy_collection digest to f6110ae
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-01 21:38:20 +00:00
dev-sec CI ac522c4a66 update galaxy.yml with new version 2025-02-26 18:18:12 +00:00
dev-sec CI 367bf150a8 update changelog 2025-02-25 20:48:25 +00:00
schurzi cf655a35d8 Merge pull request #794 from mib1185/allow-seperate-password-login-for-sftp
Allow to override settings for sftponly users
2025-02-25 21:47:06 +01:00
Michael 4ae5acf050 move Match Group sftponly block to the end
Signed-off-by: Michael <[email protected]>
2025-02-25 15:29:00 +00:00
mib1185 0a52f9195a allow seperate password login for sftp
Signed-off-by: Michael <[email protected]>
2025-02-25 15:28:54 +00:00
dev-sec CI e318aab870 update changelog 2025-02-24 22:13:33 +00:00
renovate[bot] b01085e9b9 chore(deps): update dependency ansible-core to v2.18.3 (#852)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 22:12:20 +00:00
dev-sec CI 35908806bf update changelog 2025-02-20 12:24:40 +00:00
schurzi fc3e20cdf3 Merge pull request #851 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to 49ded6a
2025-02-20 13:23:21 +01:00
renovate[bot] 40228b8e97 chore(deps): update ansible/ansible-lint digest to 49ded6a
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 15:25:19 +00:00
dev-sec CI 95323b3792 update changelog 2025-02-09 11:21:38 +00:00
dev-sec CI 3d6b05d4e7 update ssh_hardening readme 2025-02-09 11:20:57 +00:00
dev-sec CI e4ed1ca972 update os_hardening readme 2025-02-09 11:20:56 +00:00
schurzi 68ac7869f4 Merge pull request #839 from Normo/set-pw-warn-days
Set number of warning days before password expires for existing users
2025-02-09 12:20:32 +01:00
Martin Schurz 78b9cbdc60 bump min_ansible_version
Signed-off-by: Martin Schurz <[email protected]>
2025-02-09 11:21:06 +01:00
Norman Ziegner 8b24d49c00 Set number of warning days before password expires for existing users
Signed-off-by: Norman Ziegner <[email protected]>
2025-02-08 22:30:24 +01:00
dev-sec CI e746a25fe8 update changelog 2025-02-08 14:40:25 +00:00
schurzi f0596e36b7 Merge pull request #841 from dev-sec/renovate/molecule-25.x
chore(deps): update dependency molecule to v25
2025-02-08 15:39:13 +01:00
Martin Schurz 4880a5f852 Downgrade molecule
Signed-off-by: Martin Schurz <[email protected]>
2025-02-08 14:59:27 +01:00
Martin Schurz f620ee1548 Also update plugins
Signed-off-by: Martin Schurz <[email protected]>
2025-02-08 14:32:45 +01:00
dev-sec CI 2ef4f026da update changelog 2025-02-08 11:15:29 +00:00
schurzi 2372abd97f Merge pull request #846 from Tinyblargon/reduce-set-fact
Refactor: combine multiple set_fact into single jinja filter
2025-02-08 12:14:24 +01:00
Tinyblargon 85415e7127 Combine multiple set_fact into jinja filter
Signed-off-by: Tinyblargon <[email protected]>
2025-02-08 11:55:07 +01:00
dev-sec CI 3be6a3b2a5 update changelog 2025-02-08 10:35:06 +00:00
schurzi 8582cae0d4 Merge pull request #844 from dev-sec/renovate/actions-setup-python-digest
chore(deps): update actions/setup-python digest to 4237552
2025-02-08 11:34:17 +01:00
schurzi 22aec478d8 Merge pull request #840 from dev-sec/renovate/ansible-ansible-lint-25.x
chore(deps): update ansible/ansible-lint action to v25
2025-02-08 11:33:59 +01:00
renovate[bot] 46441448be chore(deps): update actions/setup-python digest to 4237552
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-08 08:41:58 +00:00
renovate[bot] 9158d01ee4 chore(deps): update dependency molecule to v25
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-08 08:41:39 +00:00
renovate[bot] 78adcf4e15 chore(deps): update ansible/ansible-lint action to v25
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-08 08:41:35 +00:00
dev-sec CI 32f88e5456 update changelog 2025-02-08 04:32:39 +00:00
renovate[bot] 49e17ad910 chore(deps): update dependency ansible-core to v2.18.2 (#843)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-08 04:31:24 +00:00
dev-sec CI 07b20eb796 update changelog 2025-02-07 21:30:41 +00:00
schurzi 1d49d86d8c Merge pull request #847 from dev-sec/pin_runner_images 2025-02-07 22:29:26 +01:00
Martin Schurz c029b84138 update zypper
Signed-off-by: Martin Schurz <[email protected]>
2025-02-07 21:32:45 +01:00
Martin Schurz c41fd51b63 minor fixups
Signed-off-by: Martin Schurz <[email protected]>
2025-02-07 20:50:10 +01:00
Martin Schurz dfdbeaa247 minor fixups
Signed-off-by: Martin Schurz <[email protected]>
2025-02-07 19:57:21 +01:00
Martin Schurz 9f48cf4bbc Pin runner image to specific version to decouple from GitHub updates
Signed-off-by: Martin Schurz <[email protected]>
2025-02-07 18:49:52 +01:00
dev-sec CI 829c1d88dc update galaxy.yml with new version 2024-12-23 12:38:41 +00:00
dev-sec CI 144c308ee0 update changelog 2024-12-23 12:06:14 +00:00
schurzi 0bd061c02d Prettified Code! 2024-12-23 12:05:29 +00:00
schurzi c53e8bcb1e Merge pull request #835 from dev-sec/ssh_locked
Modify PAM to allow SSH key based logins with locked passwords
2024-12-23 12:52:33 +01:00
dev-sec CI ab93a75788 update changelog 2024-12-23 11:52:01 +00:00
schurzi 5e7005a91f Merge pull request #832 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to 4ce8e49
2024-12-23 12:51:15 +01:00
schurzi 4d32540823 Merge pull request #834 from dev-sec/renovate/molecule-plugins-23.x
chore(deps): update dependency molecule-plugins to v23.6.0
2024-12-23 12:50:49 +01:00
Martin Schurz b7f0bdd81f Add docs
Signed-off-by: Martin Schurz <[email protected]>
2024-12-23 00:53:32 +01:00
Martin Schurz e13bb0fcae Use correct os_family for Suse ...
Signed-off-by: Martin Schurz <[email protected]>
2024-12-22 22:23:40 +01:00
Martin Schurz e8cf61bd3c Make changes portable
Signed-off-by: Martin Schurz <[email protected]>

Make changes portable

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

Make changes portable

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

Make changes portable

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

Make changes portable

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

Make changes portable

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

Make changes portable

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

Make changes portable

Signed-off-by: Martin Schurz <[email protected]>
2024-12-22 22:23:38 +01:00
Martin Schurz 767293e40b Install passlib on executor
Signed-off-by: Martin Schurz <[email protected]>
2024-12-22 19:26:22 +01:00
Martin Schurz 4b05df756c fix errors
Signed-off-by: Martin Schurz <[email protected]>
2024-12-22 18:58:39 +01:00
Martin Schurz fba07a4d41 MOdify PAM to allow SSH Key logins with locked passwords
Signed-off-by: Martin Schurz <[email protected]>
2024-12-22 18:51:18 +01:00
renovate[bot] 6f531d78f0 chore(deps): update dependency molecule-plugins to v23.6.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-18 19:13:14 +00:00
renovate[bot] 09ce9269a7 chore(deps): update ansible/ansible-lint digest to 4ce8e49
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 16:04:42 +00:00
dev-sec CI a40b1c8d0d update changelog 2024-12-09 11:04:43 +00:00
schurzi c6c1a78497 Merge pull request #831 from dev-sec/renovate/molecule-24.x
chore(deps): update dependency molecule to v24.12.0
2024-12-09 12:03:28 +01:00
renovate[bot] b7aeb560c9 chore(deps): update dependency molecule to v24.12.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-05 19:04:42 +00:00
dev-sec CI 587bfc52b4 update changelog 2024-12-03 01:21:55 +00:00
renovate[bot] 8d726c317f chore(deps): update dependency ansible-core to v2.18.1 (#829)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-03 01:20:36 +00:00
dev-sec CI cb1ebe0ed8 update changelog 2024-11-30 12:51:53 +00:00
schurzi ca17c66742 Merge pull request #828 from dev-sec/readd_openbsd
Change installation source for OpenBSD tests
2024-11-30 13:50:41 +01:00
Martin Schurz c2712fc3d9 Change installation source for OpenBSD tests
Signed-off-by: Martin Schurz <[email protected]>
2024-11-30 12:54:11 +01:00
dev-sec CI 7d8e792175 update changelog 2024-11-22 21:03:35 +00:00
schurzi 00161845d2 Merge pull request #812 from dev-sec/renovate/actions-checkout-digest
chore(deps): update actions/checkout digest to 11bd719
2024-11-22 22:02:20 +01:00
dev-sec CI 2634c624df update changelog 2024-11-16 21:01:01 +00:00
renovate[bot] 74a121e774 chore(deps): update dependency ansible-core to v2.18.0 (#819)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-16 20:51:01 +00:00
renovate[bot] 28f9ef09ed chore(deps): update actions/checkout digest to 11bd719
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-16 20:50:58 +00:00
dev-sec CI 674c7b4551 update changelog 2024-11-16 15:16:13 +00:00
renovate[bot] 3db0a70ccf chore(deps): update dependency aar-doc to v2.0.1 (#817)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-16 15:14:57 +00:00
dev-sec CI fd5a8f39dd update changelog 2024-11-16 10:11:23 +00:00
schurzi f8e199b315 Merge pull request #825 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to 44be233
2024-11-16 11:10:38 +01:00
Martin Schurz 577c87d07b Add space ... 2024-11-16 11:10:10 +01:00
Martin Schurz 9096046161 Disable OpenBSD Tests 2024-11-16 01:13:50 +01:00
dev-sec CI fe6a957a90 update changelog 2024-11-16 00:11:46 +00:00
schurzi 47ff6e41ac Merge pull request #814 from dev-sec/renovate/actions-setup-python-digest
Update actions/setup-python digest to 0b93645
2024-11-16 01:10:29 +01:00
renovate[bot] 069966702d Update ansible/ansible-lint digest to 44be233
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-13 15:12:00 +00:00
dev-sec CI ad79abb889 update changelog 2024-11-11 18:53:54 +00:00
dev-sec CI 82a84eec94 update ssh_hardening readme 2024-11-11 18:53:09 +00:00
Shizzlebix cb85a99e22 adding switch for ForwardAgent in ssh_config (#818)
* Update openssh.conf.j2

add switch for FowardAgent

* Update openssh.conf.j2

fix typo

* Update openssh.conf.j2

change ssh_ForwardAgent to ssh_forward_agent

* Update argument_specs.yml

adding context for ssh_forward_agent
2024-11-11 19:52:38 +01:00
dev-sec CI 96d318eaf4 update changelog 2024-11-06 19:20:39 +00:00
dependabot[bot] 5b28117d72 Bump ansible-core from 2.17.5 to 2.17.6 (#820)
Bumps [ansible-core](https://github.com/ansible/ansible) from 2.17.5 to 2.17.6.
- [Release notes](https://github.com/ansible/ansible/releases)
- [Commits](https://github.com/ansible/ansible/compare/v2.17.5...v2.17.6)

---
updated-dependencies:
- dependency-name: ansible-core
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 20:08:54 +01:00
renovate[bot] f2af5f0b52 chore(deps): update actions/setup-python digest to 0b93645
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-24 16:43:41 +00:00
dev-sec CI 8d9569cd71 update galaxy.yml with new version 2024-10-22 08:25:58 +00:00
dev-sec CI 259aa71946 update changelog 2024-10-22 08:24:08 +00:00
dev-sec CI 5015cda4f0 update nginx_hardening readme 2024-10-22 07:18:55 +00:00
dev-sec CI 532b7a70ea update ssh_hardening readme 2024-10-22 07:18:52 +00:00
dev-sec CI 8d336bcdfa update os_hardening readme 2024-10-22 07:18:45 +00:00
dev-sec CI 8fffcde096 update mysql_hardening readme 2024-10-22 07:18:42 +00:00
dev-sec CI 37785016d9 update changelog 2024-10-22 06:54:58 +00:00
schurzi 5d95dc7083 Merge pull request #810 from dev-sec/audit_name
Add variable to set name_format for auditd
2024-10-22 08:47:36 +02:00
Martin Schurz f70a74f99f Add variable to set name_format for auditd
Signed-off-by: Martin Schurz <[email protected]>
2024-10-22 08:46:23 +02:00
schurzi b6d11a0b19 Merge pull request #811 from dev-sec/py_version
Pin python dependencies and optimize GitHub Actions
2024-10-22 08:45:40 +02:00
Martin Schurz 92995bbee3 Sort matrix builds
Signed-off-by: Martin Schurz <[email protected]>
2024-10-22 08:44:39 +02:00
Martin Schurz 752a541507 Fix copy&paste error
Signed-off-by: Martin Schurz <[email protected]>
2024-10-21 20:06:14 +02:00
Martin Schurz 45193e9ff1 Pin python dependencies and optimize GitHub Actions
Signed-off-by: Martin Schurz <[email protected]>
2024-10-21 20:01:14 +02:00
dev-sec CI 7dab72c8c1 update changelog 2024-10-13 19:43:46 +00:00
rndmh3ro 8619b26b75 Prettified Code! 2024-10-13 19:42:40 +00:00
Sebastian Gumprich 7b112dcf87 feat(ssh): add alpine support (#809)
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-10-13 21:42:28 +02:00
dev-sec CI cd9cf8f22a update changelog 2024-10-13 18:27:14 +00:00
dev-sec CI 08dfeedbc0 update os_hardening readme 2024-10-13 18:15:50 +00:00
dev-sec CI 759b746429 update ssh_hardening readme 2024-10-13 18:15:43 +00:00
dev-sec CI e6ea4f0b4c update mysql_hardening readme 2024-10-13 18:15:40 +00:00
dev-sec CI 94f05a971a update changelog 2024-10-13 18:14:26 +00:00
Sebastian Gumprich aa737011e4 fix(cicd): test idempotence on ssh custom tests (#807)
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-10-13 20:12:21 +02:00
dev-sec CI 19ac284200 update nginx_hardening readme 2024-10-13 18:12:08 +00:00
Sebastian Gumprich 141efbc516 fix(ssh_hardening): test setting kex to false, remove wrong default (#808)
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-10-13 20:11:47 +02:00
dev-sec CI 7cca65bc90 update changelog 2024-10-13 10:37:24 +00:00
rndmh3ro cfd4536868 Prettified Code! 2024-10-13 10:35:08 +00:00
seven-beep a97a54dc30 Provide granular noop for ssh configuration (#789)
* Provide granular noop for shh configuration

We would like to have more fine grained options on applying or not specific configurations.

This commit let the user choose to noop some configuration with a few new
boolean variables.

Motivation for theses options are we may configure ourselves some (ssh host key
regeneration in a templating system) or we are not ready for others (ssh_kex
will break dist-upgrades, letting the operator without ssh).

Signed-off-by: seven beep <[email protected]>

* Provide granula noop for ssh configuration

We would like to have more fine grained options on applying or not specific configurations.

This commit let the user choose to disable configurations for `ssh_host_key_config`,
`ssh_ciphers_config`, `ssh_host_key_config`, `ssh_macs_config` by setting them
to False.

Motivation for theses options are we may configure ourselves some (ssh host key
regeneration in a templating system) or we are not ready for others (ssh_kex
will break dist-upgrades, letting the operator without ssh).

Signed-off-by: seven beep <[email protected]>

---------

Signed-off-by: seven beep <[email protected]>
2024-10-13 12:34:52 +02:00
dev-sec CI a1c7e77f08 update changelog 2024-10-10 11:41:18 +00:00
dev-sec CI be5a98bce5 update mysql_hardening readme 2024-10-10 11:39:07 +00:00
dev-sec CI 1464ee7693 update nginx_hardening readme 2024-10-10 11:39:01 +00:00
dev-sec CI ba1991b4c1 update os_hardening readme 2024-10-10 11:39:00 +00:00
dev-sec CI a234d23d77 update ssh_hardening readme 2024-10-10 11:38:59 +00:00
schurzi 3923ea888b Merge pull request #806 from vmpr/patch-2
Document correct quotes for ssh_permit_tunnel parameter
2024-10-10 13:38:39 +02:00
vmpr 27aa081889 fixing missing quotes for ssh_permit_tunnel parameter in argument_specs.yml
ssh_permit_tunnel needs quotes otherwise we will end up with an error:
```
TASK [devsec.hardening.ssh_hardening : Create sshd_config and set permissions to root/600] **********************************************************************************************************************
fatal: [vampdock02]: FAILED! => {"changed": false, "checksum": "fe6b74e30b1a653f83c2cbe1dd1332c14bd55833", "exit_status": 255, "msg": "failed to validate", "stderr": "/home/debian/.ansible/tmp/ansible-tmp-1728530891.493071-72386-149151737175948/source line 123: bad PermitTunnel argument True\r\n", "stderr_lines": ["/home/debian/.ansible/tmp/ansible-tmp-1728530891.493071-72386-149151737175948/source line 123: bad PermitTunnel argument True"], "stdout": "", "stdout_lines": []}
```
2024-10-10 15:50:17 +08:00
dev-sec CI ee727ed9b2 update changelog 2024-10-09 12:42:51 +00:00
rndmh3ro d6d2624e4d Prettified Code! 2024-10-09 12:40:26 +00:00
Sebastian Gumprich 62947a6ea2 fix(docs): add 'become: true' to example playbooks. fix #787 (#804)
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-10-09 14:40:08 +02:00
dev-sec CI 6ff5cebeb3 update changelog 2024-10-08 22:03:42 +00:00
schurzi 421d502f90 Merge pull request #802 from dev-sec/renovate/ansible-core-2.x
chore(deps): update dependency ansible-core to v2.17.5
2024-10-09 00:01:03 +02:00
renovate[bot] d51f784244 chore(deps): update dependency ansible-core to v2.17.5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 13:22:40 +00:00
dev-sec CI fdcfd05a4c update changelog 2024-10-08 11:28:54 +00:00
schurzi f5303344e4 Merge pull request #800 from dev-sec/renovate/actions-checkout-digest
chore(deps): update actions/checkout digest to eef6144
2024-10-08 13:27:16 +02:00
schurzi 9476dc9130 Merge pull request #795 from dev-sec/renovate/ansible-ansible-lint-digest
chore(deps): update ansible/ansible-lint digest to 3b5bee1
2024-10-08 13:26:49 +02:00
dev-sec CI f445c29f26 update changelog 2024-10-08 07:32:10 +00:00
schurzi 2f93835a6f Merge pull request #801 from dev-sec/guard_molecule
Don't run tests if the environment is not correct
2024-10-08 09:29:29 +02:00
dev-sec CI f380343a9d update changelog 2024-10-08 06:32:35 +00:00
T.O. 9c069ff8e8 feat: ✨ Corrected package name (#799)
`policycoreutils-python` does not exist and was corrected to
`policycoreutils-python-utils`. Only tested with debian
2024-10-08 08:29:52 +02:00
Martin Schurz 6cc57e1581 Don't run tests if the environment is not correct
Signed-off-by: Martin Schurz <[email protected]>
2024-10-07 23:02:51 +02:00
renovate[bot] 5a28783a53 chore(deps): update actions/checkout digest to eef6144
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 19:31:13 +00:00
dev-sec CI f3e012222a update changelog 2024-10-05 08:06:47 +00:00
Martin Schurz 3bdae0d98f Fix Changelog generation by adapting regex
Signed-off-by: Martin Schurz <[email protected]>
2024-10-05 10:04:07 +02:00
dev-sec CI 7faafb34de update changelog 2024-10-05 07:50:29 +00:00
schurzi 437546f4a9 Prettified Code! 2024-10-05 07:48:38 +00:00
Martin Schurz 1748396683 Fix Changelog
Signed-off-by: Martin Schurz <[email protected]>
2024-10-05 09:48:20 +02:00
dev-sec CI c185fa314f update changelog 2024-10-04 13:24:51 +00:00
dev-sec CI 5ef0c42d64 update os_hardening readme 2024-10-04 13:22:42 +00:00
schurzi 3daba1f3ee Merge pull request #797 from dev-sec/remdep
Remove unused files and variables
2024-10-04 15:22:15 +02:00
dev-sec CI ba5d025c82 update changelog 2024-10-04 11:31:17 +00:00
Martin Schurz 2b495bf6b9 Disable testing of audit in docker
Signed-off-by: Martin Schurz <[email protected]>
2024-10-04 13:29:17 +02:00
Martin Schurz 4c87d293ce Disable testing of audit in docker
Signed-off-by: Martin Schurz <[email protected]>
2024-10-04 13:29:17 +02:00
Martin Schurz 2e3d5e916b Remove unused files and variables
Signed-off-by: Martin Schurz <[email protected]>
2024-10-04 13:29:16 +02:00
schurzi 077900eadd Merge pull request #798 from dev-sec/vmvenv
Use Python venv for VM tests
2024-10-04 13:28:41 +02:00
Martin Schurz c705e50e0c Correct typo
Signed-off-by: Martin Schurz <[email protected]>
2024-10-04 12:23:18 +02:00
Martin Schurz 75158eb6d3 add Dependency
Signed-off-by: Martin Schurz <[email protected]>
2024-10-04 11:11:40 +02:00
Martin Schurz ecee5ffcbd Use Python venv for VM tests
Signed-off-by: Martin Schurz <[email protected]>
2024-10-04 11:07:42 +02:00
Martin Schurz 75f6b1a801 Use Python venv for VM tests
Signed-off-by: Martin Schurz <[email protected]>
2024-10-04 11:05:04 +02:00
renovate[bot] 6824eda2ba chore(deps): update ansible/ansible-lint digest to 3b5bee1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 18:20:52 +00:00
dev-sec CI d386d0fe1b update changelog 2024-09-15 19:44:24 +00:00
renovate[bot] e72f60e8e1 chore(deps): update dependency ansible-core to v2.17.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 19:42:18 +00:00
dev-sec CI a1215c7bd4 update changelog 2024-09-15 14:38:12 +00:00
renovate[bot] 1536b61e32 chore(deps): update ansible/ansible-lint digest to 25f783c (#792)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-15 16:36:49 +02:00
dev-sec CI 3f3e8cf2f2 update changelog 2024-09-04 08:38:54 +00:00
schurzi 83c5918339 Merge pull request #788 from dev-sec/renovate/actions-setup-python-digest
chore(deps): update actions/setup-python digest to f677139
2024-09-04 10:37:37 +02:00
renovate[bot] 4bf2d57013 chore(deps): update actions/setup-python digest to f677139
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 15:25:01 +00:00
dev-sec CI 683706a024 update changelog 2024-08-13 01:28:14 +00:00
renovate[bot] 81067084d1 chore(deps): update dependency ansible-core to v2.17.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-13 01:25:56 +00:00
dev-sec CI 7cac37de92 update changelog 2024-08-07 09:06:02 +00:00
renovate[bot]andMartin Schurz ea2fe100b5 chore(deps): update dependency ansible-core to v2.17.2 (#756)
* chore(deps): update dependency ansible-core to v2.17.2

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Downgrade Ansible version for Rocky 8

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

* Downgrade Ansible version for Rocky 8

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

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Martin Schurz <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Martin Schurz <[email protected]>
2024-08-07 11:04:39 +02:00
dev-sec CI 3e67f91dbd update galaxy.yml with new version 2024-08-06 17:25:36 +00:00
dev-sec CI cd9cdff971 update changelog 2024-08-06 17:23:31 +00:00
dev-sec CI 7ae5452355 update changelog 2024-08-06 17:12:44 +00:00
dev-sec CI 3250d179bc update nginx_hardening readme 2024-08-06 11:37:20 +00:00
dev-sec CI b1cff78ae2 update changelog 2024-08-06 11:14:16 +00:00
dev-sec CI caaae61322 update mysql_hardening readme 2024-08-06 11:12:00 +00:00
dev-sec CI c5935d38e5 update os_hardening readme 2024-08-06 11:11:58 +00:00
dev-sec CI 0989606757 update ssh_hardening readme 2024-08-06 11:11:57 +00:00
schurzi 69ab9e47ad Update Debian compatibility (#784)
* Update Ubuntu compatability

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

* reload systemd when disabling ssh socket

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

* manage systemd files

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

* Create privsep directory for Debian

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

* Use working Ubuntu 24.04 image for vm tests

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

* Remove deprecated Debian 10

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2024-08-06 13:11:32 +02:00
dev-sec CI 118a0f07f6 update changelog 2024-07-30 06:49:04 +00:00
schurzi 7fd8a195aa Merge pull request #783 from dev-sec/fed40 2024-07-30 08:47:47 +02:00
Martin Schurz e73f36d20b Add special vars for Fedora 40
Signed-off-by: Martin Schurz <[email protected]>
2024-07-29 22:04:51 +02:00
Martin Schurz 6c9de30d90 Add needed package for tests
Signed-off-by: Martin Schurz <[email protected]>
2024-07-28 18:01:04 +02:00
Martin Schurz f7157dad4f Update to current Fedora releases
Signed-off-by: Martin Schurz <[email protected]>
2024-07-28 17:32:44 +02:00
dev-sec CI f1fc3986fe update changelog 2024-07-28 11:47:44 +00:00
schurzi 2ff44f2145 Prettified Code! 2024-07-28 11:45:51 +00:00
schurzi f1b0bed5c8 Merge pull request #782 from dev-sec/rem_dep
Remove deprecated rebuild of initrd
2024-07-28 13:45:39 +02:00
Martin Schurz f23d5d8eaf Remove deprecated rebuild of initrd
Signed-off-by: Martin Schurz <[email protected]>
2024-07-28 13:17:49 +02:00
dev-sec CI d92a1c9647 update changelog 2024-07-25 12:12:22 +00:00
renovate[bot] 95a6f9b2e1 chore(deps): update ansible/ansible-lint digest to 95382d3 (#779)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 14:09:49 +02:00
Sebastian Gumprich f1af4b7caa fix ansible-lint
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-07-25 13:09:28 +02:00
dev-sec CI d37a2e5345 update changelog 2024-07-25 10:54:47 +00:00
renovate[bot] 8b01afce46 chore(deps): update actions/setup-python digest to 39cd149 (#778)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 12:52:04 +02:00
dev-sec CI 237729a0c8 update changelog 2024-07-25 09:45:07 +00:00
schurzi 1c3f2418db Merge pull request #781 from dev-sec/renovate/patrickjahns-version-drafter-action-digest
chore(deps): update patrickjahns/version-drafter-action digest to 2076fa4
2024-07-25 11:41:56 +02:00
dev-sec CI 41d922c2d4 update changelog 2024-07-25 09:34:01 +00:00
renovate[bot] a91343e180 chore(deps): update patrickjahns/version-drafter-action digest to 2076fa4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-25 09:31:39 +00:00
Martin Schurz ba1ab8fdfc fix release workflow
Signed-off-by: Martin Schurz <[email protected]>
2024-07-25 11:31:18 +02:00
Sebastian Gumprich 059f9fe96c try to fix release workflow
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-07-03 15:56:05 +02:00
Sebastian Gumprich d0d438faa4 try to fix release workflow
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-07-03 15:49:58 +02:00
Sevan 0233bfe543 Ensure that ssh is installed (#774)
Signed-off-by: Sevan Murriguian-Watrin <[email protected]>
2024-07-02 20:41:07 +02:00
dev-sec CI ed85a70105 update ssh_hardening readme 2024-07-02 16:20:50 +00:00
schurzi f9c8e4b749 Merge pull request #777 from dev-sec/fix_Bsd
remove tests for FreeBSD12 since it's out of support
2024-07-02 18:18:10 +02:00
Martin Schurz 77de9435fa remove freebsd12
Signed-off-by: Martin Schurz <[email protected]>
2024-07-02 17:31:22 +02:00
schurzi 7008a4b8ca Merge pull request #776 from dev-sec/renovate/pin-dependencies
chore(deps): pin dependencies
2024-06-25 13:09:14 +02:00
renovate[bot] 563f1833df chore(deps): pin dependencies
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-25 04:51:04 +00:00
schurzi 22e122ffdc Use best-practice preset for renovate (#775)
Signed-off-by: Martin Schurz <[email protected]>
2024-06-25 06:50:36 +02:00
dev-sec CI c068979b91 update os_hardening readme 2024-06-24 08:41:24 +00:00
dev-sec CI b705cd95dc update ssh_hardening readme 2024-06-24 08:41:00 +00:00
dev-sec CI 7f51a49265 update nginx_hardening readme 2024-06-24 08:40:57 +00:00
dev-sec CI aaaedee1cd update mysql_hardening readme 2024-06-24 08:40:50 +00:00
Sebastian Gumprich c02b5d9c3a add arg-spec for new variable ssh_server_service_enabled
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-06-24 10:28:53 +02:00
Sevan b0488e86d4 ssh: explicitly enable or disable the service at boot (#771)
Signed-off-by: Sevan Murriguian-Watrin <[email protected]>
2024-06-24 10:26:55 +02:00
Sebastian Gumprich 19ca997bd6 disable systemd socket activation (#769)
* disable systemd socket activation

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

* move start to after deactivation so it can start

---------

Signed-off-by: Sebastian Gumprich <[email protected]>
2024-06-18 15:56:09 +02:00
dev-sec CI 8dab761c52 update changelog 2024-06-04 08:19:05 +00:00
rndmh3ro 26ecb3f5ea Prettified Code! 2024-06-04 08:16:33 +00:00
Sebastian Gumprich 60de0ab50b centos8 stream is eol (#770)
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-06-04 10:10:19 +02:00
dev-sec CI 265802360c update changelog 2024-05-31 10:22:20 +00:00
dev-sec CI b0f968af21 update nginx_hardening readme 2024-05-31 10:21:00 +00:00
Sebastian Gumprich 85aa1b22b3 do not force type of ssh_gateway_ports (#765)
* do not force type of gatewayports-var

this way it can be a bool or a string. we also now test for it

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

* replace yum with dnf

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

---------

Signed-off-by: Sebastian Gumprich <[email protected]>
2024-05-31 12:20:00 +02:00
dev-sec CI 4af40129c6 update ssh_hardening readme 2024-05-31 09:42:36 +00:00
dev-sec CI eb972f63f7 update os_hardening readme 2024-05-31 09:42:33 +00:00
dev-sec CI b6be42c3a0 update mysql_hardening readme 2024-05-31 09:42:13 +00:00
Sebastian Gumprich 296f46cc80 centos7 is eol, remove it (#767)
* centos7 is eol, remove it

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

* change workflow to update readmes when meta/main.yml is changed

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

* remove mention of centos 7 from readme

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

---------

Signed-off-by: Sebastian Gumprich <[email protected]>
2024-05-31 11:25:01 +02:00
dev-sec CI 541c2df1ab update changelog 2024-05-31 09:07:00 +00:00
schurzi 2959a584a8 Merge pull request #766 from dev-sec/codespell
fix spelling
2024-05-31 10:55:45 +02:00
Sebastian Gumprich 346ead4455 fix spelling
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-05-30 15:07:27 +02:00
Sebastian Gumprich f3a1fcc16a fix spelling
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-05-30 15:01:33 +02:00
dev-sec CI 4cb67edbe5 update changelog 2024-05-09 10:33:43 +00:00
schurzi 4f66ec4c26 Merge pull request #760 from siemens/ci/permissions
ci: define permissions for enforce-labels workflow
2024-05-09 12:31:28 +02:00
Florian Greinacher 16e86125e9 ci: define permissions for enforce-labels workflow
Explicitely stating required permissions is considered best practice.
This case was detected by Poutine, see
https://github.com/boostsecurityio/poutine/blob/main/docs/content/en/rules/default_permissions_on_risky_events.md.

Signed-off-by: Florian Greinacher <[email protected]>
2024-05-06 06:40:19 +00:00
dev-sec CI db2bfc91da update changelog 2024-03-25 22:03:51 +00:00
renovate[bot] eb57ed4eaa Update dependency ansible-core to v2.16.5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-25 22:02:32 +00:00
dev-sec CI 69cd800387 update changelog 2024-03-20 12:26:01 +00:00
debbabi 00443de508 add ssh_pubkey_authentication variable (#749)
Signed-off-by: debbabi <[email protected]>
2024-03-20 13:24:27 +01:00
dev-sec CI b35b82108b update changelog 2024-02-27 01:20:42 +00:00
renovate[bot] 95aab25520 Update dependency ansible-core to v2.16.4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-27 01:19:31 +00:00
dev-sec CI bdf6d65cfd update changelog 2024-02-07 20:34:15 +00:00
renovate[bot] 0740ebf041 Update ansible/ansible-lint action to v24 (#745)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-07 21:32:14 +01:00
dev-sec CI a301b1c905 update changelog 2024-02-05 09:07:24 +00:00
schurzi 02ad7664ea Merge pull request #744 from dev-sec/fix_openbsd
Always update Vagrant Boxes before using
2024-02-05 10:05:06 +01:00
Martin Schurz b0dff13204 add comment
Signed-off-by: Martin Schurz <[email protected]>
2024-02-05 10:04:51 +01:00
Martin Schurz bb9358e2fb free space on /boot
Signed-off-by: Martin Schurz <[email protected]>
2024-02-05 07:20:27 +01:00
Martin Schurz 3ba52e59e2 remove update tasks, since we use updated images
Signed-off-by: Martin Schurz <[email protected]>
2024-02-05 01:19:34 +01:00
Martin Schurz e54c541d3b add more excluded packages
Signed-off-by: Martin Schurz <[email protected]>
2024-02-04 23:34:53 +01:00
Martin Schurz a0abefbc29 use loop for package names
Signed-off-by: Martin Schurz <[email protected]>
2024-02-04 21:50:41 +01:00
Martin Schurz 898bf73178 Block kernel update
Signed-off-by: Martin Schurz <[email protected]>
2024-02-04 20:41:51 +01:00
Martin Schurz 4a25f72076 Skip update if box is not present
Signed-off-by: Martin Schurz <[email protected]>
2024-02-04 16:11:28 +01:00
Martin Schurz 7a76975d01 Skip update if box is not present
Signed-off-by: Martin Schurz <[email protected]>
2024-02-04 15:55:31 +01:00
Martin Schurz 063f3190b8 Always update Vagrant Boxes before using
Signed-off-by: Martin Schurz <[email protected]>
2024-02-04 15:42:09 +01:00
Martin Schurz 4c4721c32f Use Python3 for OpenBSD tests
Signed-off-by: Martin Schurz <[email protected]>
2024-02-04 14:26:42 +01:00
dev-sec CI 66a48b4616 update changelog 2024-02-04 10:43:29 +00:00
schurzi 9865223b8f Merge pull request #743 from dev-sec/docker_rm
Remove Docker containers on self-hosted runner after tests
2024-02-04 11:42:15 +01:00
Martin Schurz 11cf72b7e2 Remove Docker containers on self-hosted runner after tests
Signed-off-by: Martin Schurz <[email protected]>
2024-02-04 10:54:22 +01:00
dev-sec CI 5bf19934da update changelog 2024-01-30 09:38:51 +00:00
renovate[bot] 12c0f9678a Update dependency ansible-core to v2.16.3 (#742)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 10:37:33 +01:00
dev-sec CI 05a086be24 update galaxy.yml with new version 2024-01-19 09:40:04 +00:00
dev-sec CI cbbaee7411 update changelog 2024-01-15 13:53:56 +00:00
schurzi 72eb74a85f Prettified Code! 2024-01-15 13:51:25 +00:00
schurzi 94a49a4916 Merge pull request #739 from dev-sec/restruct_vars
restructure readme to move known problems up top
2024-01-15 14:51:08 +01:00
Sebastian Gumprich e5cc9bbf43 restructure readme to move known problems up top
Signed-off-by: Sebastian Gumprich <[email protected]>
2024-01-12 09:30:48 +01:00
dev-sec CI aca4bc7cb7 update changelog 2023-12-22 09:56:52 +00:00
Sebastian Gumprich 81e177b80c release only on releases, not pre-releases (#738) 2023-12-22 10:54:13 +01:00
dev-sec CI 3794251a94 update changelog 2023-12-12 00:11:54 +00:00
renovate[bot] 4974bb3422 Update dependency ansible-core to v2.16.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-12 00:09:03 +00:00
dev-sec CI b12e212d9d update changelog 2023-12-10 10:12:04 +00:00
schurzi e7bad430f2 Merge pull request #733 from dev-sec/renovate/actions-setup-python-5.x
Update actions/setup-python action to v5
2023-12-10 11:10:36 +01:00
dev-sec CI bf13c44a2d update changelog 2023-12-09 20:26:26 +00:00
schurzi d93c7401cf Merge pull request #728 from dev-sec/renovate/ansible-core-2.x
Update dependency ansible-core to v2.16.1
2023-12-09 21:25:04 +01:00
Martin Schurz d8c9ac71ec fix assertion
Signed-off-by: Martin Schurz <[email protected]>
2023-12-09 19:14:41 +01:00
renovate[bot] ce741c9f47 Update dependency ansible-core to v2.16.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-08 11:20:38 +00:00
dev-sec CI 6b11603c5b update changelog 2023-12-08 08:32:34 +00:00
Sebastian Gumprich 05cc027919 fix linting for github config (#736)
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-12-08 09:31:05 +01:00
dev-sec CI 7b209b831d update changelog 2023-12-07 08:34:58 +00:00
schurzi b9a0e65e19 Merge pull request #730 from dev-sec/labeler5
update labeler to new config format
2023-12-07 09:32:28 +01:00
schurzi e37f01df26 Merge pull request #732 from dev-sec/lintall
Update ansible-lint action and revise configuration to scan all Ansible code
2023-12-07 09:32:12 +01:00
Martin Schurz 1f0d2d5b73 add noconfirm
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 21:29:02 +01:00
Martin Schurz 5843b03449 add prepare for archlinux
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 20:29:43 +01:00
Martin Schurz bf51b96a0b add prepare for archlinux
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 20:21:49 +01:00
Martin Schurz 4bc5725836 hold grub updates in vm
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 17:51:39 +01:00
Martin Schurz 62340c79c6 re-add mysql config directory because it is needed by some os
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 16:33:31 +01:00
Martin Schurz bc8b5f60f4 remove mysql config directory creation
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 16:08:31 +01:00
Martin Schurz dff224f4c4 correct typo
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 15:57:08 +01:00
Martin Schurz 422fb940a9 manually fix remaining problems
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 15:27:21 +01:00
Martin Schurz 7e33ea0bae use ansible-lint to autofix problems
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 14:37:09 +01:00
renovate[bot] 459113a1e6 Update actions/setup-python action to v5
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-06 13:19:19 +00:00
Martin Schurz 5381a23a4a fix paste error
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 11:38:49 +01:00
Martin Schurz e00716df62 fix lint findings
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 11:36:08 +01:00
Martin Schurz 6ce8b68650 adjust exclude paths
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 11:11:21 +01:00
Martin Schurz f4500457fa extend action triggers
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 11:09:24 +01:00
Martin Schurz 2bbfe2dd6b exclude waiver files
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 11:07:43 +01:00
Martin Schurz db437c79f5 extend action triggers
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 11:00:22 +01:00
Martin Schurz 099145c9b3 remove excludes
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 10:58:26 +01:00
Martin Schurz 9862676ecf use new ansible-lint action
Signed-off-by: Martin Schurz <[email protected]>
2023-12-06 10:57:45 +01:00
Martin Schurz 6ef52a125d use base branch
Signed-off-by: Martin Schurz <[email protected]>
2023-12-05 21:46:15 +01:00
Martin Schurz bde286fe47 update config
Signed-off-by: Martin Schurz <[email protected]>
2023-12-05 21:42:01 +01:00
Martin Schurz a58fc24301 use correct tag
Signed-off-by: Martin Schurz <[email protected]>
2023-12-05 21:38:36 +01:00
Martin Schurz 12240fea63 test labler
Signed-off-by: Martin Schurz <[email protected]>
2023-12-05 21:37:36 +01:00
Martin Schurz 82a0188b8c update labeler to new config format
Signed-off-by: Martin Schurz <[email protected]>
2023-12-05 21:31:37 +01:00
dev-sec CI 5a062c6db2 update changelog 2023-11-24 12:37:45 +00:00
schurzi 508b993570 Merge pull request #722 from dev-sec/arch_audit
support restarts of audit service on Arch linux
2023-11-24 13:36:18 +01:00
Martin Schurz 54f9ef42a1 don't try to restart audit in check mode
Signed-off-by: Martin Schurz <[email protected]>
2023-11-22 00:45:38 +01:00
Martin Schurz 25acb76c05 reload systemd after installation
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 23:59:22 +01:00
Martin Schurz 0f6b8e4a3a use full service name for handler
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 23:04:41 +01:00
Martin Schurz 571cec1a5c re-add vm tests
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 22:12:50 +01:00
Martin Schurz 20dd04c9cb split notify, add tmp options for arch
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 21:58:58 +01:00
Martin Schurz 60d10811d4 add separate handlers for audit restart
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 21:45:05 +01:00
Martin Schurz 84c43c0550 limit tests to some distros
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 21:27:23 +01:00
dev-sec CI c76862831b update changelog 2023-11-21 15:58:10 +00:00
schurzi f9a1cab023 Merge pull request #721 from dev-sec/python_version
pin Ansible to always let Renovate update to the most current version in our tests
2023-11-21 16:38:21 +01:00
Martin Schurz f15ff3fc83 remove unneeded mysql vars
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 16:37:50 +01:00
Martin Schurz aae720c977 update python version for all tests
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 12:23:49 +01:00
dev-sec CI af8045a55a update changelog 2023-11-21 11:23:22 +00:00
Martin Schurz c3b9245900 fix for mysql role
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 12:22:47 +01:00
Martin Schurz 5c5f2ce446 remove the base ansible package
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 12:22:47 +01:00
Martin Schurz 7b32deca17 pin the right ansible package
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 12:22:47 +01:00
Martin Schurz e2c2d0d5e2 pin Ansible version
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 12:22:47 +01:00
Martin Schurz addbbd32cf run tests on update of dependencied
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 12:22:47 +01:00
Martin Schurz 01cc9c811f update python versions for testing
Signed-off-by: Martin Schurz <[email protected]>
2023-11-21 12:22:47 +01:00
schurzi e98d766c6c Merge pull request #718 from akikanellis/fix-disabling-filesystems-idempotency
Restore idempotency for disabling unused filesystems with Ansible 2.16.0
2023-11-21 12:20:42 +01:00
Aki Kanellis a15159d072 Make disabling unused filesystems idempotent
The `os_unused_filesystems` was lacking sorting, making the task not
idempotent. This was especially apparent and random in Molecule tests
when this collection was added as a dependency.

Signed-off-by: Aki Kanellis <[email protected]>
2023-11-19 19:57:31 +00:00
dev-sec CI dc432ba71c update galaxy.yml with new version 2023-11-16 14:42:54 +00:00
dev-sec CI 2c91f89903 update nginx_hardening readme 2023-11-16 14:33:13 +00:00
dev-sec CI 83cf8aedcc update changelog 2023-11-16 14:21:56 +00:00
dev-sec CI 9c848839d9 update mysql_hardening readme 2023-11-16 14:20:48 +00:00
dev-sec CI 1b69855d51 update os_hardening readme 2023-11-16 14:20:47 +00:00
dev-sec CI 512e31f1ae update ssh_hardening readme 2023-11-16 14:20:44 +00:00
Sebastian Gumprich 2db75b53c1 make it possible to configure more then yes and no for PermitTunnel (#715)
This is a breaking change, since the default variable is now a string instead of a bool

Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-16 15:20:22 +01:00
dev-sec CI aea12c8b90 update changelog 2023-11-16 11:37:42 +00:00
schurzi 0371a2690b Prettified Code! 2023-11-16 11:35:10 +00:00
schurzi 3525db8c44 Merge pull request #714 from dev-sec/badges 2023-11-16 12:27:39 +01:00
Martin Schurz adda83572a fix mixup, add custom test badge
Signed-off-by: Martin Schurz <[email protected]>
2023-11-16 12:10:41 +01:00
Martin Schurz 01bde49fbc update badges
Signed-off-by: Martin Schurz <[email protected]>
2023-11-16 11:30:38 +01:00
dev-sec CI 9bf243f198 update changelog 2023-11-16 08:16:54 +00:00
schurzi 3d98cbf67b add testing and support for current versions of Fedora and FreeBSD (#709)
* add testing and support for current versions of Fedora and FreeBSD

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

* add waivers for FreeBSD

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

* use original fedora images

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

* also harden /home mount

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

* also harden /tmp mount

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

* test mock efi directory

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

* remove mock

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

* umount efi

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

* add /tmp to special mountpoints

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

* set options for /tmp mount

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

* create /tmp mount

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

* create /tmp mount and mount it ...

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

* make fewer changes to default test run

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

* use correct Ansible var

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2023-11-16 09:14:03 +01:00
dev-sec CI 4a5a6e18e7 update changelog 2023-11-14 12:24:07 +00:00
dev-sec CI 5ac5547ba4 update changelog 2023-11-12 19:47:19 +00:00
schurzi 15f2de8b44 fix os ci (#711)
Signed-off-by: Martin Schurz <[email protected]>
2023-11-12 20:45:30 +01:00
dev-sec CI 695f85f758 update changelog 2023-11-12 11:44:12 +00:00
schurzi 57d2d524b3 add temporary fix for nginx ci tests (#710)
Signed-off-by: Martin Schurz <[email protected]>
2023-11-12 12:41:15 +01:00
dev-sec CI e4cfa198af update changelog 2023-11-12 09:17:09 +00:00
schurzi eac33e8918 Merge pull request #649 from dev-sec/mysql_roles 2023-11-12 10:14:02 +01:00
Martin Schurz 655cb49630 add note to temporary fix
Signed-off-by: Martin Schurz <[email protected]>
2023-11-12 10:00:33 +01:00
Martin Schurz 3c73f8ab1d use release version of inspec profile again
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:47:00 +01:00
Martin Schurz 8e97184d5e test wirth modified inspec profile
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:39:20 +01:00
Martin Schurz 7437f68c86 onece more ...
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:26 +01:00
Martin Schurz bf177add07 one last time ...
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:26 +01:00
Martin Schurz fb22b242fe better compare for utf8
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 0c8c96a535 collate for opensuse
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 99784726f8 drop role after test for inspec
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 2f5360225b extend role check
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz fdf7bbd7be correct hostname in test
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz ee1fec3d3e correct indentation
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 35df355248 add tests for roles
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz ec8811acdf use like to coerce collation
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 6681e0b319 correct query
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 79dc1d5474 check mode for status var
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 219ec1938b try symlink fix
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 336861838a try local path
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz b07ac77223 test removing requirements
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 665edd5157 re-add working directories
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 8f516018b6 trigger workflow
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:25 +01:00
Martin Schurz 4756a620f2 reduce dir dependencies
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:37:02 +01:00
Martin Schurz c59a4d4e48 fix role path
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:36:26 +01:00
Martin Schurz 216b56f468 lint
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:36:26 +01:00
Martin Schurz 36715017d7 use separate task for role detection
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:36:26 +01:00
Martin Schurz 2c18d3afda use if for role detection
Signed-off-by: Martin Schurz <[email protected]>
2023-11-11 15:34:34 +01:00
Sebastian Gumprich bd721317d2 try to fix IS_ROLE
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:34 +01:00
Sebastian Gumprich 92e6cad463 try to fix IS_ROLE
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:34 +01:00
Sebastian Gumprich 66adae0faa try to fix IS_ROLE
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:34 +01:00
Sebastian Gumprich dc583422bc try to fix IS_ROLE
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:33 +01:00
Sebastian Gumprich 4c5a5deec6 try to fix IS_ROLE
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:33 +01:00
Sebastian Gumprich a6892904bf try to fix IS_ROLE
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:33 +01:00
Sebastian Gumprich 0675167cb2 do not create role for now!
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:33 +01:00
Sebastian Gumprich 8d5143b5d7 try to fix IS_ROLE
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:33 +01:00
Sebastian Gumprich 0bf528d83b do not try to drop roles in mysql hardening
There's a new feature in mariadb 10.1 (https://mariadb.org/grant-to-public-in-mariadb/) and mysql 8 (need to verify).

    MariaDB has quite a complex privilege system. Most of it is based on the SQL Standard spec; however we do have some specific MariaDB extensions. GRANT ... TO PUBLIC (MDEV-5215) is a standard feature that is now available as a preview in MariaDB 10.11.0. It is related to ROLES and DEFAULT ROLE, but it covers a different use case.

    ROLES are effectively “privilege packages” that you can enable and disable as a user. One can also set which “privilege package” will be enabled at connect time by setting a DEFAULT ROLE per user. This is all quite useful, however it is missing one key feature. For a DBA, it would be quite useful to state only once that all users need to have a certain set of privileges. This is where GRANT ... TO PUBLIC comes in.

Some more information here: https://mariadb.org/wp-content/uploads/2018/07/MariaDB-Roles-Tampere-Unconference-2018.pdf

This role is shown as a user, it has however a new is_role-flag.

MariaDB [(none)]> select user, host, is_role from mysql.user;
+-----------------------+-----------+---------+
| User                  | Host      | is_role |
+-----------------------+-----------+---------+
| mariadb.sys           | localhost | N       |
| root                  | localhost | N       |
| mysql                 | localhost | N       |
| PUBLIC                |           | Y       |
| monitoring            | %         | N       |
| monitoring            | localhost | N       |
| galera_mariadb_backup | %         | N       |
+-----------------------+-----------+---------+

Since this "user" does not have a password or authentication_string, the ansible-role tries to delete it but fails.

Signed-off-by: Sebastian Gumprich <[email protected]>
2023-11-11 15:34:33 +01:00
dev-sec CI cd572de55a update changelog 2023-11-01 14:57:36 +00:00
schurzi da017fa880 Gather facts when os_hardening role is executed with tags (#708)
* Gather facts when os_hardening role is executed with tags

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

* better when condition

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2023-11-01 15:54:52 +01:00
dev-sec CI 4978598e00 update changelog 2023-10-26 08:46:02 +00:00
dev-sec CI ac7ef8aae6 update os_hardening readme 2023-10-26 08:43:45 +00:00
dev-sec CI 27a1f6e5e8 update ssh_hardening readme 2023-10-26 08:43:40 +00:00
dev-sec CI e84b407c44 update nginx_hardening readme 2023-10-26 08:43:39 +00:00
Moritz 8252b82764 fix: roles-readme action default value (#706)
* fix: default value for push-branch

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

* docs(ssh_hardening): meta arguments desc

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

* fix: split checkout for forked repos in pull requests

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

* fix: push not on pr and added diff

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

---------

Signed-off-by: Nemental <[email protected]>
2023-10-26 10:43:10 +02:00
dev-sec CI 5aa26aa039 update changelog 2023-10-25 13:12:59 +00:00
MoritzandSebastian Gumprich 1b0576695e feat: workflow for roles readme (#705)
* chore: added aar_doc config

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

* feat: added initial state of roles readme workflow

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

* fix: runs on

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

* fix: install poetry

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

* feat: loop over all roles and install peotry with pip

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

* fix: working dir for poetry run

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

* fix: cli path

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

* chore: scale down matrix loop for testing

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

* fix: poetry run for py execution command

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

* fix: work dir for poetry run

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

* fix: cli.py path

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

* fix: roles path

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

* feat: push readme

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

* fix: on push branch master

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

* fix: uncomment other roles

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

* chore: limit trigger to master and arguments

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

* fix: push branch name

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

* refactor: simplify steps

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

* style: linting and styling

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

* chore: trigger for pull request

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

* fix: push only if ref is master

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

* chore: output diff of generated README

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

* fix: push readme in pull request

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

* docs: role var description text

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

* fix: aar_doc roles path

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

* fix: git diff

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

* fix: fetch all history and changed diff branch

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

* fix: run diff only for pr

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

* fix: remove fetch-depth and switch to normal diff

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

* fix: remove diff and set push-branch

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

* fix: head_ref with default ref_name for push-branch

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

---------

Signed-off-by: Nemental <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2023-10-25 15:10:02 +02:00
dev-sec CI d63015c2a7 update changelog 2023-10-23 10:26:41 +00:00
rndmh3ro a08a057f7b Prettified Code! 2023-10-23 10:24:09 +00:00
Sebastian Gumprich 787ac9bd54 fix some wrong defaults and types in the readmes (#703)
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-10-23 12:23:49 +02:00
dev-sec CI 91d10892dc update changelog 2023-10-20 08:36:06 +00:00
schurzi 90ca33466e Merge pull request #696 from dev-sec/renovate/actions-checkout-4.x
chore(deps): update actions/checkout action to v4
2023-10-20 10:33:08 +02:00
renovate[bot] b01789b14b chore(deps): update actions/checkout action to v4
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-19 10:32:39 +00:00
dev-sec CI 526e369999 update changelog 2023-10-16 18:59:25 +00:00
schurzi 9c2f12561a update links to new Ansible Galaxy (#702)
* update links to new Ansible Galaxy

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

* remove dead link

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2023-10-16 20:56:13 +02:00
dev-sec CI cec9c99763 update changelog 2023-10-08 19:07:40 +00:00
schurzi dae8487ab3 Merge pull request #700 from nejch/chore/template-typo
Fix typo in login.defs.j2
2023-10-08 21:04:58 +02:00
Nejc Habjan 35d87aa678 Fix typo in login.defs.j2
Signed-off-by: Nejc Habjan <[email protected]>
2023-10-08 14:15:16 +02:00
dev-sec CI 6833d66634 update changelog 2023-09-22 07:25:11 +00:00
Sebastian Gumprich 3bdd8c851e test debian12 on VM (#695)
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-09-22 09:22:27 +02:00
dev-sec CI d86859962d update changelog 2023-08-24 13:24:45 +00:00
rndmh3ro 965c9326d0 Prettified Code! 2023-08-24 13:22:18 +00:00
Sebastian Gumprich 9c5b619149 fix descrptions in readme (#693)
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-08-24 15:21:57 +02:00
dev-sec CI ff4f2ee7f4 update changelog 2023-08-24 12:05:12 +00:00
Thibault Soubiran f602bc621a feat: customize user paths default. Resolves: #689 (#692)
Signed-off-by: Thibault Soubiran <[email protected]>
2023-08-24 14:02:23 +02:00
Sebastian GumprichandSebastian Gumprich e3273a8d54 disable pam tests (#691)
Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2023-08-07 14:38:44 +02:00
dev-sec CI ca5484f96e update changelog 2023-08-07 12:34:12 +00:00
rndmh3ro c1a0bcbe9d Prettified Code! 2023-08-07 12:31:26 +00:00
Sebastian GumprichandSebastian Gumprich f295397611 add role argument spec for os, ssh, mysql (#687)
* add role argument spec for os, ssh, mysql

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

* add role argument spec for os, ssh, mysql

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

* remove variable in variable as it cannot be used in argument spec

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

* fix wrong syntax

* fix spelling errors

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

* cannot use vars before arg-spec validation

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

* yamllint the arg-spec

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

* add back variable

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

* remove redundant setting in tests

* fix descriptions in mysql hardening to betterreflect what they do

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

* remove duplicate empty line

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

* set correct defaults on to ssl options

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

* remove left-over hidepid argument spec

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

* remove license and author infos, this lives in the collection readme

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

* fix styling

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

* update some descriptions and sort them in the readme

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

* some more linting

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

---------

Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2023-08-07 14:30:59 +02:00
dev-sec CI 96ba9d1d8d update galaxy.yml with new version 2023-08-04 11:32:54 +00:00
dev-sec CI 3fb0831d7b update changelog 2023-08-04 11:06:58 +00:00
Sebastian GumprichandSebastian Gumprich ef5e8801e4 add debian 12 support (#684)
* add debian 12 support

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

* temp disable pam-checks

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

* remove debian12 from vagrant tests as there's no box yet

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

* use new pam-tester from pip

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

* use new pam-tester from pip

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

* add setuptoolks to pam-tester install

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

* add setuptoolks to pam-tester install

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

* add setuptoolks to pam-tester install

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

* add setuptoolks to pam-tester install

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

* install pam-tester with python3 and use full path to it

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

* install python3-setupttools in verify-tests

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

* fix path for pam-tester in all tests

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

* set python interpreter to 3 for verify-tests

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

* Revert "set python interpreter to 3 for verify-tests"

This reverts commit 00b6556e33.

* add back accidentally deleted tasks

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

---------

Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2023-08-04 12:59:40 +02:00
dev-sec CI 9950f9ba52 update changelog 2023-07-24 09:37:51 +00:00
Dennis Lerch 6bcdb253ec auditd: add possibility to override config template (#685)
* make template overrideable

by referencing the auditd.conf.j2 template, a custom template can be provided to the role.

Signed-off-by: Dennis Lerch <[email protected]>

* extend auditd config

make freq and log_file configurable
implement write_logs with it's default value in order to be able to disable log writing

Signed-off-by: Dennis Lerch <[email protected]>

* Extend README.md documentation by new variables

reorder `os_auditd_log_format` to keep sequence from defaults

Signed-off-by: Dennis Lerch <[email protected]>

---------

Signed-off-by: Dennis Lerch <[email protected]>
2023-07-24 11:34:47 +02:00
dev-sec CI fc524f5369 update changelog 2023-06-20 13:22:05 +00:00
Sebastian Gumprich 790c7c5846 add var-naming[no-role-prefix] to skip-list (#679)
there's probably some added value for this, but I see no reason to change so many variables and possibly break something when it still works and nobody complained

Signed-off-by: Sebastian Gumprich <[email protected]>
2023-06-20 15:18:55 +02:00
dev-sec CI 45d6a17c08 update changelog 2023-06-12 12:22:09 +00:00
Nejc Habjan dd215ba310 feat: explicitly support Fedora 37 and 38 (#682)
Signed-off-by: Nejc Habjan <[email protected]>
2023-06-12 14:18:32 +02:00
dev-sec CI 1fb9988fd7 update changelog 2023-06-10 06:07:05 +00:00
Sebastian Gumprich f56d80b5d8 Replace ssh_keys group in Fedora with root (#677)
* Replace ssh_keys group in Fedora with root

In Fedora 38, the `ssh_keys` group was removed. root is used now, in accordance to upstream.

See: https://www.spinics.net/lists/fedora-devel/msg307707.html
See: https://src.fedoraproject.org/rpms/openssh/pull-request/37#

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

* change host key mode and owner in fedora and rhel9

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

* add missing host mode for rhel7

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

* harden all ssh host keys

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

* skip linting rule

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

* correct grp for bsd is wheel

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

---------

Signed-off-by: Sebastian Gumprich <[email protected]>
2023-06-10 08:04:04 +02:00
dev-sec CI 0e173b4165 update changelog 2023-05-26 12:13:00 +00:00
Sebastian Gumprich 7e6a715692 setting gets ignored (#680)
see: https://github.com/authselect/authselect/issues/223

Signed-off-by: Sebastian Gumprich <[email protected]>
2023-05-26 14:10:49 +02:00
dev-sec CI 9c86dae383 update changelog 2023-05-23 09:22:51 +00:00
junicastandJochen Demmer f3337f33b3 Add oddjob mkhomedir option rhel pam (#675)
* added support for oddjob mkhomedir via optional var

* optimized conditional

* added variable description

Signed-off-by: Jochen Demmer <[email protected]>

* added support for oddjob mkhomedir via optional var

Signed-off-by: Jochen Demmer <[email protected]>

* optimized conditional

Signed-off-by: Jochen Demmer <[email protected]>

* added variable description

Signed-off-by: Jochen Demmer <[email protected]>

---------

Signed-off-by: Jochen Demmer <[email protected]>
Co-authored-by: Jochen Demmer <[email protected]>
2023-05-23 11:19:40 +02:00
dev-sec CI c597eb97b2 update changelog 2023-05-22 13:56:42 +00:00
Andreas Wagnerandwhysthatso d7bda7ca3a expand on check conditions for non-file locations of logs (#674)
Co-authored-by: whysthatso <[email protected]>
2023-05-22 15:53:33 +02:00
dev-sec CI 037919e67a update changelog 2023-04-28 12:08:48 +00:00
schurzi ed5aefad3e Merge pull request #667 from dev-sec/molecule_update
use new molecule-plugins
2023-04-28 14:05:46 +02:00
Martin Schurz e5b8df07e2 use new molecule-plugins
Signed-off-by: Martin Schurz <[email protected]>
2023-04-28 13:48:45 +02:00
dev-sec CI 808cc6d78a update changelog 2023-04-17 07:51:08 +00:00
schurzi 1cce7bca9a Merge pull request #662 from dev-sec/codespell
add spellchecking with codespell
2023-04-17 09:47:53 +02:00
Martin Schurz 74c76b8240 correct workflow name and use main version
Signed-off-by: Martin Schurz <[email protected]>
2023-04-16 22:57:44 +02:00
Martin Schurz cd56c017ba add parameter for skipped words
Signed-off-by: Martin Schurz <[email protected]>
2023-04-16 22:54:43 +02:00
Martin Schurz 93ddd4b45e use shared workflow
Signed-off-by: Martin Schurz <[email protected]>
2023-04-16 22:49:53 +02:00
Martin Schurz 7259d6b5fd fix spelling errors
Signed-off-by: Martin Schurz <[email protected]>
2023-04-14 23:51:53 +02:00
Martin Schurz edcada16e4 add spellchecking with codespell
Signed-off-by: Martin Schurz <[email protected]>
2023-04-14 23:34:05 +02:00
dev-sec CI 7e31002555 update galaxy.yml with new version 2023-04-13 08:40:54 +00:00
dev-sec CI 8816969278 update changelog 2023-04-12 22:51:41 +00:00
schurzi 7e6e43e0a5 Merge pull request #657 from dev-sec/min_ansible_ver 2023-04-13 00:48:29 +02:00
dev-sec CI b79eb83d4f update changelog 2023-04-12 20:24:10 +00:00
Martin Schurz eb47f4dce0 Merge branch 'master' into min_ansible_ver 2023-04-12 22:22:36 +02:00
schurzi 4a21ec0234 Merge pull request #656 from dev-sec/update_Tests
Update test environment
2023-04-12 22:21:49 +02:00
Martin Schurz bb47300798 remove unneccessary collection include
Signed-off-by: Martin Schurz <[email protected]>
2023-04-12 20:27:35 +02:00
Martin Schurz de0439ed58 remove unneccessary collection include
Signed-off-by: Martin Schurz <[email protected]>
2023-04-12 20:22:22 +02:00
Martin Schurz 6e48f686a9 add fedora to testing
Signed-off-by: Martin Schurz <[email protected]>
2023-04-12 20:21:27 +02:00
Martin Schurz 0014a3be36 update metadata
Signed-off-by: Martin Schurz <[email protected]>
2023-04-12 20:18:29 +02:00
Martin Schurz a186760b45 exclude broken tests
Signed-off-by: Martin Schurz <[email protected]>
2023-04-11 09:51:05 +02:00
Martin Schurz a5a065f880 shorten text
Signed-off-by: Martin Schurz <[email protected]>
2023-04-11 07:49:38 +02:00
Martin Schurz bc9795c215 add noqa for linter
Signed-off-by: Martin Schurz <[email protected]>
2023-04-11 07:37:07 +02:00
Martin Schurz f02f8b9a90 add procps for Debian
Signed-off-by: Martin Schurz <[email protected]>
2023-04-11 07:20:44 +02:00
Martin Schurz 5cc7b8dee3 add waivers for os_hardening
Signed-off-by: Martin Schurz <[email protected]>
2023-04-11 07:17:29 +02:00
Martin Schurz ea922f6dca fix lint error
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 23:49:52 +02:00
Martin Schurz e43f180112 update waiver path
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 23:48:52 +02:00
Martin Schurz 001900ac35 require ansible.builtin.user to be at least 2.11 since options are needed
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 23:42:27 +02:00
Martin Schurz 31c9885610 use docker for inspec-auditor
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 23:22:41 +02:00
Martin Schurz 4a9d6033eb try docker for inspec-auditor
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 23:04:46 +02:00
Martin Schurz ebab98930c try docker for inspec-auditor
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 22:58:28 +02:00
Martin Schurz 5357f9e718 use current version of amazon linux
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 22:23:48 +02:00
Martin Schurz dd5ad568b3 fix deprecation warnings
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 20:36:03 +02:00
Martin Schurz 63dc9d3be8 use current amazon linux
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 19:44:01 +02:00
Martin Schurz 7b69c4bd47 add collection link
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 11:21:12 +02:00
Martin Schurz e4ecfe2084 add collection to verify
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 11:03:33 +02:00
Martin Schurz e346c2300f remove unneccessary symlink
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 11:02:33 +02:00
Martin Schurz 2de009e3b5 use latest runner version
Signed-off-by: Martin Schurz <[email protected]>
2023-04-10 10:28:11 +02:00
dev-sec CI 604c6999ad update changelog 2023-03-31 08:14:01 +00:00
schurzi 29f8a2fb78 add testing for OpenBSD and FreeBSD (#642)
* add testing for OpenBSD and FreeBSD

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

* make python work

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

* remove jinja template ...

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

* make verify work

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

* correct verify

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

* correct verify

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

* correct verify

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

* correct verify

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

* use right vm name for connect

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

* add a bit of documentation

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

* remove sudo

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

* add weird OpenSBD workaround

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

* make verify playbook more consistent

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

* rename nonlinux to BSD

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

* use openbsd7 for testing

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

* correct use openbsd7 everywhere

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

* add waivers

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

* update waiver descriptions

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

* use docker for inspec

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

* keep looking right ;)

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

* correct path to waivers

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

* use ephemeral directory in docker

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

* use bsd inspec profile

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

* remove openbsd workaround

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

* re-add openbsd workaround

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

* commit suggestions

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

* add supportet OS to metadata

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

* use current python

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2023-03-31 09:50:04 +02:00
schurzi b01f22b4a4 Merge pull request #654 from dev-sec/renovate/geerlingguy.git-3.x
Update dependency geerlingguy.git to v3.0.1
2023-03-31 09:26:49 +02:00
dev-sec CI 4a8ce39304 update changelog 2023-03-31 07:18:16 +00:00
renovate[bot] 32cc9665dd Update dependency geerlingguy.git to v3.0.1
Signed-off-by: Renovate Bot <[email protected]>
2023-03-31 07:15:43 +00:00
schurzi 0bfd5f7fa0 Merge pull request #653 from dev-sec/renovate/configure
Configure Renovate
2023-03-31 09:15:10 +02:00
Martin Schurz e9fa44c243 remove dependabot
Signed-off-by: Martin Schurz <[email protected]>
2023-03-31 09:12:55 +02:00
Martin Schurz 7456e441fc ignore jenovate in galaxy build
Signed-off-by: Martin Schurz <[email protected]>
2023-03-30 18:09:20 +02:00
Martin Schurz 4c7e189e5d add custom renovate config
Signed-off-by: Martin Schurz <[email protected]>
2023-03-30 18:05:39 +02:00
renovate[bot] cb15672c59 Add renovate.json 2023-03-30 00:02:32 +00:00
dev-sec CI 0b989fa0ab update changelog 2023-03-09 08:41:34 +00:00
schurzi 5ed3f399f2 add check mode to molecule tests (#644)
* add check mode to molecule tests

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

* bail on undefined variables

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

* bail on undefined variables

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

* execute tasks in check mode

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

* fix error in check mode on SuSE

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

* use when condition on task

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2023-03-09 09:37:59 +01:00
dev-sec CI cd6be79f89 update changelog 2023-03-06 11:10:57 +00:00
George Bolo 3d0b6670d1 fixes #646 - add another condition to getent task (#647)
Signed-off-by: gbolo <[email protected]>
2023-03-06 12:07:40 +01:00
dev-sec CI 879ecefd8c update changelog 2023-03-01 13:23:09 +00:00
schurzi 6e5621cdc9 simplify MySQL queries for user deletion (#641)
* use rowcount to determine mysql results

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

* use correct list level

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

* remove json_query

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

* remove intermediate vars

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

* add check for count

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

* drop condition, since one result must exist

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

* move rowcount in condition

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

* do loop in ansible to report each deleted user

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

* add idempotency check

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

* additional tests to verify user deletion

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

* actually iterate the whole user list when deleting

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

* fix tests for SuSE

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

* adopt suggestions

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2023-03-01 14:19:50 +01:00
dev-sec CI 2d721248a1 update changelog 2023-02-21 13:11:23 +00:00
schurzi 271414bf44 Merge pull request #639 from dev-sec/dependabot/github_actions/creyD/prettier_action-4.3
Bump creyD/prettier_action from 4.2 to 4.3
2023-02-21 14:08:08 +01:00
dependabot[bot] 3a907b2921 Bump creyD/prettier_action from 4.2 to 4.3
Bumps [creyD/prettier_action](https://github.com/creyD/prettier_action) from 4.2 to 4.3.
- [Release notes](https://github.com/creyD/prettier_action/releases)
- [Commits](https://github.com/creyD/prettier_action/compare/v4.2...v4.3)

---
updated-dependencies:
- dependency-name: creyD/prettier_action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
2023-02-21 12:07:33 +00:00
dev-sec CI 3c6806057c update changelog 2023-02-15 17:02:08 +00:00
Nejc Habjan 9e4ea20c67 Only skip audit restart handler in docker (#637)
Signed-off-by: Nejc Habjan <[email protected]>
2023-02-15 17:58:52 +01:00
dev-sec CI f245030ead update changelog 2023-02-14 10:18:47 +00:00
988e5322cd Fix molecule tests for EL7 (#636)
* Fix molecule tests for EL7

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

* Apply suggestions from code review

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

* try to fix tests in centos 7

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

* try to fix tests in centos 7

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

---------

Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: dev-sec CI <[email protected]>
Co-authored-by: schurzi <[email protected]>
2023-02-14 11:15:21 +01:00
dev-sec CI 0cd3b0d02e update changelog 2023-02-07 08:41:03 +00:00
schurzi 9b32aca0ca run our CI tests periodically (#634)
* allow multiple instances for os vm tests

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

* add scheduled trigger to all test actions

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

* use different scenario names

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

* use different scenario names

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

* use different scenario names

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

* use username to create uniqe vms

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

* use compatible name

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

* add explaination

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2023-02-07 09:27:46 +01:00
dev-sec CI 8d667aa069 update changelog 2023-02-06 13:04:41 +00:00
Sebastian Gumprich c2e9c9a8dd try to fix molecule local tests (#632)
these settings are probably not necessary (geerlingguys images dont have them either)

Signed-off-by: Sebastian Gumprich <[email protected]>
2023-02-06 14:01:40 +01:00
dev-sec CI 3d9dfc90df update changelog 2023-02-06 12:53:51 +00:00
Nejc Habjan 1fc2809307 Make action_mail_acct configurable in auditd (#631)
Signed-off-by: Nejc Habjan <[email protected]>
2023-02-06 13:24:43 +01:00
dev-sec CI 071b270b94 update changelog 2023-02-06 07:40:43 +00:00
schurzi 1ef9171393 remove unneccessary tasks for VM based test (#629)
* add remaining platforms to test

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

* remove unneccessary tasks for test

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

* use current opensuse version

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

* disable sysctl for missing yama in opensuse

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

---------

Signed-off-by: Martin Schurz <[email protected]>
2023-02-06 08:37:40 +01:00
dev-sec CI a505c3039d update galaxy.yml with new version 2023-02-06 07:37:06 +00:00
dev-sec CI 965013efed update changelog 2023-02-04 17:25:00 +00:00
schurzi 0705a9cc90 Merge pull request #628 from Normo/add-password-warn-age-option
Set number of warning days before user password expires
2023-02-04 18:21:52 +01:00
Norman Ziegner c594a1fe6a os_hardening: Add test for setting password warning days via variable os_auth_pw_warn_age
Signed-off-by: Norman Ziegner <[email protected]>
2023-02-03 14:47:27 +01:00
Norman Ziegner 2f60b44cca os_hardening: Add variable to set the number of days of warning before user password expires
Signed-off-by: Norman Ziegner <[email protected]>
2023-02-01 16:17:36 +01:00
dev-sec CI 1b1b0e10f2 update changelog 2023-02-01 11:40:40 +00:00
dependabot[bot] f34f24deb7 Bump hugo19941994/delete-draft-releases from 1.0.0 to 1.0.1 (#627)
Bumps [hugo19941994/delete-draft-releases](https://github.com/hugo19941994/delete-draft-releases) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/hugo19941994/delete-draft-releases/releases)
- [Commits](https://github.com/hugo19941994/delete-draft-releases/compare/v1.0.0...v1.0.1)

---
updated-dependencies:
- dependency-name: hugo19941994/delete-draft-releases
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 12:37:31 +01:00
dev-sec CI 6ccdaee45d update galaxy.yml with new version 2023-01-31 06:55:37 +00:00
dev-sec CI e8d16766ad update changelog 2023-01-31 06:48:47 +00:00
schurzi e6bc422f5b Merge pull request #626 from dev-sec/dependabot_labels
do not let dependabot label our prs
2023-01-30 16:21:11 +01:00
Sebastian Gumprich bfedba6907 do not let dependabot label our prs
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-30 16:20:35 +01:00
dev-sec CI 1fe0677b0b update changelog 2023-01-30 14:59:08 +00:00
schurzi 894c6117a0 Merge pull request #625 from dev-sec/linting_roles
run linting only when files inside roles change
2023-01-30 10:48:22 +01:00
Sebastian Gumprich 330a1eb94d run linting only when files inside roles change
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-30 10:23:25 +01:00
dev-sec CI 52d08ff009 update changelog 2023-01-29 12:39:47 +00:00
dev-sec CI 01cb20d644 update changelog 2023-01-28 21:01:52 +00:00
rndmh3ro bc096e58e5 Prettified Code! 2023-01-28 20:59:35 +00:00
16e00b02db rewrite user home dir hardening (#584)
* rewrite user home dir hardening

* delete duplicate var that was missed in a merge conflict

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

* linting

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

* add tests for home rewrites

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

* Apply suggestions from code review

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

---------

Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: donestefan <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
Co-authored-by: schurzi <[email protected]>
2023-01-28 21:59:19 +01:00
Sebastian Gumprich a75b339526 fix more linting errors
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-27 11:27:35 +01:00
dev-sec CI 9fe8ca7294 update changelog 2023-01-27 10:04:18 +00:00
89138be4ec Rewrite system account detection and hardening and create tests (#621)
* rewrite system account detection and hardening

* resolve failures created when resolving merge conflicts

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

* add tests for shell removal tasks

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

* Update molecule/os_hardening/prepare.yml

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

* split tasks for locking and setting shell

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

* fix some more linting

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

Signed-off-by: Sebastian Gumprich <[email protected]>
Signed-off-by: Martin Schurz <[email protected]>
Co-authored-by: donestefan <[email protected]>
Co-authored-by: schurzi <[email protected]>
2023-01-27 11:01:03 +01:00
dev-sec CI f1169749f4 update changelog 2023-01-25 22:59:48 +00:00
schurzi ee80418496 Merge pull request #618 from dev-sec/deprecate_intitramfs
deprecate rebuilding of initramfs
2023-01-25 23:56:36 +01:00
Martin Schurz 7f8e9919ee add readme
Signed-off-by: Martin Schurz <[email protected]>
2023-01-25 22:30:17 +01:00
dev-sec CI bbee0b74ec update changelog 2023-01-25 12:21:00 +00:00
schurzi 0e8533049d Merge pull request #620 from dev-sec/molecule_fixes
Fixed problems with running molecule locally with cgroup v2
2023-01-25 13:18:50 +01:00
Sebastian Gumprich a1028c7504 deprecate initramfs
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-25 13:07:37 +01:00
dev-sec CI aa555b9290 update changelog 2023-01-25 08:15:45 +00:00
mmitnyan 83a0a9242b Support for Amazon Linux 2 (#624)
Signed-off-by: Manuel Mitnyan <[email protected]>

Signed-off-by: Manuel Mitnyan <[email protected]>
2023-01-25 09:12:25 +01:00
dev-sec CI fdd0bfc72a update changelog 2023-01-24 13:27:02 +00:00
schurzi 154f862ccd Merge pull request #622 from dev-sec/stop_old_tests
cancel running tests if new commit to branch is made
2023-01-24 13:21:18 +01:00
Sebastian Gumprich db4bd32767 cancel running tests if new commit to branch is made
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-24 13:08:04 +01:00
Sebastian Gumprich 281d706660 add waiver to not test mounts
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-24 13:03:04 +01:00
dev-sec CI 85271c2375 update changelog 2023-01-24 12:01:58 +00:00
Sebastian Gumprich d386bf36d2 Revert "manage tmp dir in tests"
This reverts commit 966f2fe137.
2023-01-24 12:53:39 +01:00
Sebastian Gumprich bb588bd777 linting (#603)
* linting

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

* more linting

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

* change line length issues

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

* replace yes with true in tasks

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

* use manual line-wrapping because ansible-lint does not support it correctly.

see https://github.com/ansible/ansible-lint/issues/2522

* use manual line-wrapping because ansible-lint does not support it correctly.

see https://github.com/ansible/ansible-lint/issues/2522

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

* use manual line-wrapping because ansible-lint does not support it correctly.

see https://github.com/ansible/ansible-lint/issues/2522

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

* add exception for task

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

* remove trailing whitespace

* add back deleted params

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

* add back deleted params

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

* add back tasks

Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-24 12:40:27 +01:00
Sebastian Gumprich 966f2fe137 manage tmp dir in tests
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-24 12:36:09 +01:00
Sebastian Gumprich fa2e90c6f2 mount cgroup rw, as suse seems to need it
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-23 15:59:06 +01:00
Sebastian Gumprich ed1cb1c2a7 add cgroupns: host mode to molecule
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-23 15:59:06 +01:00
Sebastian Gumprich a0d11faa8a Fixed problems with running molecule locally with cgroup v2
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-23 15:59:06 +01:00
dev-sec CI a94168c84f update changelog 2023-01-23 09:52:21 +00:00
674be6dc6f apply password age settings to exisiting regular users (#582)
* apply password age settings to regular users

* add tests for password ageing

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

* add debugging vars

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

* add tests for password ageing

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

* add tests for password ageing

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

* Apply suggestions from code review

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

* add additional condtion for regular users

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

Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: DonEstefan <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
Co-authored-by: schurzi <[email protected]>
2023-01-23 10:50:05 +01:00
dev-sec CI c1080de135 update changelog 2023-01-23 08:37:51 +00:00
stdtom 9d2c68ef2f Preserve default ownership and dir mode for /var/log on Ubuntu (#615)
* Preserve default ownership and dir mode for /var/log on Ubuntu

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

* linting

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

* Define vars for each OS instead of using defaults.

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

* Fix values for os_mnt_var_log_dir_mode and os_mnt_var_log_group

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

Signed-off-by: stdtom <[email protected]>
2023-01-23 09:34:41 +01:00
dev-sec CI c0b9c87dc1 update changelog 2023-01-19 12:47:40 +00:00
Sebastian Gumprich 142782bad6 add diff to molecule
Signed-off-by: Sebastian Gumprich <[email protected]>
2023-01-19 13:46:16 +01:00
rndmh3ro b3fbfcedbe Prettified Code! 2023-01-19 12:45:51 +00:00
88ef3cf3af Parametrize more auditd.conf options (#535)
* Parametrize more auditd.conf options

* Parametrize more auditd.conf options

* Add `os_auditd` options

* Add os_auditd_log_group

* Add os_auditd_log_group

Co-authored-by: Paweł Krawczyk <[email protected]>
Co-authored-by: Sebastian Gumprich <[email protected]>
2023-01-19 13:45:24 +01:00
dev-sec CI ca25f50ba6 update changelog 2023-01-12 11:56:07 +00:00
richardlock a82942a63a Add support for /etc/auditd.conf num_logs to go with max_log_file_action. (#617)
Signed-off-by: Richard Lock <[email protected]>

Signed-off-by: Richard Lock <[email protected]>
2023-01-12 12:52:48 +01:00
dev-sec CI fc060376ac update changelog 2022-12-24 09:43:18 +00:00
dependabot[bot] 16f78bc6be Bump actions/setup-python from 1 to 4 (#611)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 1 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v1...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-24 10:28:54 +01:00
dev-sec CI 764472ae33 update galaxy.yml with new version 2022-12-19 08:43:22 +00:00
dependabot[bot] 395091c41d Bump creyD/prettier_action from 3.1 to 4.2 (#610)
Bumps [creyD/prettier_action](https://github.com/creyD/prettier_action) from 3.1 to 4.2.
- [Release notes](https://github.com/creyD/prettier_action/releases)
- [Commits](https://github.com/creyD/prettier_action/compare/v3.1...v4.2)

---
updated-dependencies:
- dependency-name: creyD/prettier_action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-17 19:53:05 +01:00
dev-sec CI 0a589e5f51 update changelog 2022-12-17 18:49:42 +00:00
John Losito 9d0cc42039 Check for github action updates daily (#609)
Signed-off-by: John Losito <[email protected]>

Signed-off-by: John Losito <[email protected]>
2022-12-17 19:48:02 +01:00
dev-sec CI 5a7783defe update changelog 2022-12-07 07:55:29 +00:00
Sebastian Gumprichandschurzi be0642bcfb add verify-task to check if mysql is running and enabled (#608)
* add verify-task to check if mysql is running and enabled

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

* Update molecule/mysql_hardening/verify_tasks/service.yml

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

Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: schurzi <[email protected]>
2022-12-07 08:49:07 +01:00
dev-sec CI b0454fade2 update changelog 2022-11-30 15:15:52 +00:00
DonEstefananddonestefan bb3c63e321 fix IPv6 hardening (#607)
Signed-off-by: DonEstefan <[email protected]>

Signed-off-by: DonEstefan <[email protected]>
Co-authored-by: donestefan <[email protected]>
2022-11-30 16:13:25 +01:00
dev-sec CI d3e6df3dbf update changelog 2022-11-29 14:11:39 +00:00
Sebastian GumprichandFlorian Goth e66c2eb6bb Add OpenSUSE support (#605)
* Add variables for mariadb on opensuse

Signed-off-by: Florian Goth <[email protected]>

* enable pipeline

Signed-off-by: Florian Goth <[email protected]>

* add a note about the reuirement of the jmespath library.

Signed-off-by: Florian Goth <[email protected]>

* Use python3 on opensuse

Signed-off-by: Florian Goth <[email protected]>

* fix my yml.

Signed-off-by: Florian Goth <[email protected]>

* use right ansible variable

Signed-off-by: Florian Goth <[email protected]>

* Suse requires python-rpm

Signed-off-by: Florian Goth <[email protected]>

* try zypper

Signed-off-by: Florian Goth <[email protected]>

* python-xml

Signed-off-by: Florian Goth <[email protected]>

* another try at fixing the install

Signed-off-by: Florian Goth <[email protected]>

* fix my yml

Signed-off-by: Florian Goth <[email protected]>

* another try

Signed-off-by: Florian Goth <[email protected]>

* another try

Signed-off-by: Florian Goth <[email protected]>

* another try now with rpm.

Signed-off-by: Florian Goth <[email protected]>

* fix my yml...

Signed-off-by: Florian Goth <[email protected]>

* typo

Signed-off-by: Florian Goth <[email protected]>

* do the test for Suse on the shell and not in ansible

Signed-off-by: Florian Goth <[email protected]>

* specify to use bash

Signed-off-by: Florian Goth <[email protected]>

* specify to use bash

* try the removes keyword of builtin.shell

Signed-off-by: Florian Goth <[email protected]>

* fix ansible syntax

Signed-off-by: Florian Goth <[email protected]>

* fix zypper syntax

Signed-off-by: Florian Goth <[email protected]>

* ensure pymysql is present

Signed-off-by: Florian Goth <[email protected]>

* set ansible python interpreter in converge-step, too

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

* move install task to prepare

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

Signed-off-by: Florian Goth <[email protected]>
Signed-off-by: Sebastian Gumprich <[email protected]>
Co-authored-by: Florian Goth <[email protected]>
2022-11-29 15:09:27 +01:00
dev-sec CI 61e92aaaf6 update changelog 2022-11-24 07:41:20 +00:00
Jacob Sievert ade6deeba2 Updates handlers for new ansible syntax and deprecated options for legacy commands (#602)
* Update main.yml

fixes the handler file and set new syntax

Signed-off-by: Jacob Sievert <[email protected]>

* changes command module from legacy to builtin.

Signed-off-by: Jacob Sievert <[email protected]>

Signed-off-by: Jacob Sievert <[email protected]>
2022-11-24 08:39:05 +01:00
dev-sec CI 66f5c6b131 update changelog 2022-11-23 12:51:31 +00:00
Cristian Baldi 7d1da63c94 Allow ssh_allow_tcp_forwarding to be a boolean (#600)
* Allow ssh_allow_tcp_forwarding to be a boolean

Signed-off-by: Cristian Baldi <[email protected]>

* Update documentation related to ssh_allow_tcp_forwarding

Signed-off-by: Cristian Baldi <[email protected]>

Signed-off-by: Cristian Baldi <[email protected]>
2022-11-23 13:45:01 +01:00
dev-sec CI 03f3974f37 update changelog 2022-11-17 13:01:02 +00:00
schurzi 006e3bf75b Merge pull request #601 from dev-sec/contribute_dco
add notice to sign-off work to contributor guideline
2022-11-17 13:58:08 +01:00
Martin Schurz 98c645db5f add notice to sign-off work to contributor guideline
Signed-off-by: Martin Schurz <[email protected]>
2022-11-17 13:47:11 +01:00
dev-sec CI dd97a90b65 update changelog 2022-11-08 09:29:35 +00:00
schurzi d982a89cc1 Merge pull request #598 from dennisse/master
OpenBSD does not support GSSAPI Authentication
2022-11-08 10:26:42 +01:00
Dennis Eriksen 681898bd96 OpenBSD does not support GSSAPIAuthentication
... and freaks out when it is mentioned in the config files. So let's
just remove the GSSAPI-stuff.

Signed-off-by: Dennis Eriksen <[email protected]>
2022-11-08 09:12:18 +01:00
dev-sec CI e32d550e9b update changelog 2022-11-04 11:03:08 +00:00
Dennis Eriksen 4df95e3733 OpenBSD does not set distributiuon_major_version (#597)
This role fails with `The task includes an option with an undefined variable` on OpenBSD because `distributiuon_major_version` is not set on OpenBSD.

We should either default to "" if the variable is not set, or remove `vars/OpenBSD.yml`. I would prefer the former :)

Signed-off-by: Dennis Eriksen <[email protected]>

Signed-off-by: Dennis Eriksen <[email protected]>
2022-11-04 12:00:55 +01:00
dev-sec CI 05205eb413 update changelog 2022-11-01 17:13:21 +00:00
schurzi d0407b17c4 Merge pull request #596 from dev-sec/templates
add Ansible specific templates for issues
2022-11-01 18:10:59 +01:00
Martin Schurz 1346e37e14 actually add templates ...
Signed-off-by: Martin Schurz <[email protected]>
2022-10-28 10:26:00 +02:00
dev-sec CI c2ee3105c7 update changelog 2022-10-28 05:16:41 +00:00
schurzi 613fbd82da use github templates for new issues (#595)
Signed-off-by: Martin Schurz <[email protected]>

Signed-off-by: Martin Schurz <[email protected]>
2022-10-28 07:14:58 +02:00
dev-sec CI 9530615d5f update galaxy.yml with new version 2022-10-27 18:48:57 +00:00
dev-sec CI 24d0153815 update changelog 2022-10-27 18:46:03 +00:00
schurzi 99fe8b6969 Merge pull request #594 from dlouzan/fix/type-cast-variables
fix(os_hardening): cast expected int types in pam tasks
2022-10-27 20:43:17 +02:00
Martin Schurz f496b385dd use github templates for new issues
Signed-off-by: Martin Schurz <[email protected]>
2022-10-27 20:41:06 +02:00
Diego Louzán f8295d5248 fix(os_hardening): cast expected int types in pam tasks
Signed-off-by: Diego Louzán <[email protected]>
2022-10-27 16:50:08 +02:00
dev-sec CI a1f75f877b update changelog 2022-10-26 08:33:13 +00:00
schurzi 901923bac2 Merge pull request #588 from dev-sec/support_more_os
Support more os
2022-10-26 10:13:40 +02:00
Martin Schurz c30ef42355 exclude el9 from vm tests
Signed-off-by: Martin Schurz <[email protected]>
2022-10-25 18:59:11 +02:00
Sebastian Gumprich e2b963d711 change baselines back to master
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-25 18:59:11 +02:00
Sebastian Gumprich 414efd6125 use correct centos stream images, try to fix prepare step for debian tests
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-25 18:59:11 +02:00
Sebastian Gumprich 87a461fc57 use forked mysql-baseline
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-25 18:59:11 +02:00
Sebastian Gumprich dac66f4a88 simplify OS-vars files
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-25 18:59:11 +02:00
Sebastian Gumprich 3b8b394f10 add ssh-vars for new OS
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-25 18:59:11 +02:00
Sebastian Gumprich b27ffd08b0 add mysql-vars for new OS
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-25 18:58:53 +02:00
dev-sec CI 8ee946a537 update changelog 2022-10-24 08:04:42 +00:00
Sebastian Gumprich a176443f22 add support for centos stream 8 and 9, rocky 9
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-24 10:03:07 +02:00
Sebastian Gumprich 9d75e3b00e test crypto changes from ssh-baseline
Signed-off-by: Sebastian Gumprich <[email protected]>
2022-10-24 10:03:07 +02:00
schurzi a1b80fe657 adopt all current suggestions from ansible-lint (#592) 2022-10-24 09:42:23 +02:00
dev-sec CI 53be805099 update changelog 2022-10-21 09:07:46 +00:00
donestefan 464d8df8e8 add hardening of root user account(s) (#579) 2022-10-21 11:05:43 +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
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
Sebastian Gumprich 6d21d249b9 Merge pull request #120 from dev-sec/combined_sysctl
add more sysctl settings, allow overwriting
2017-06-27 20:59:04 +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
Sebastian Gumprich 0b8e42c5c6 remove 12.04 support 2017-06-27 15:03:22 +02:00
Sebastian Gumprich 8f6d3b1800 use with_flattened and default lists 2017-06-27 12:10:32 +02: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 e0e2b2a601 remove omit param in default() 2017-06-06 16:39:13 +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 7bbd479a9a Update README.md 2017-05-28 18:31:10 +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 5c48c74f79 add more sysctl settings, allow overwriting 2017-05-07 15:12:31 +02:00
Sebastian Gumprich 24baf2c126 Merge pull request #126 from pestaa/patch-1
Converts set to JSON-serializable list
2017-05-07 13:25:11 +02:00
Istvan Beregszaszi 402f9b508f Converts set to JSON-serializable list
Fixes #125.
2017-05-06 22:25:17 +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 83557bb057 update package 2017-04-22 20:50:29 +02: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
250 changed files with 15043 additions and 1442 deletions

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
output_template: |
<!-- BEGIN_ANSIBLE_DOCS -->
## Supported Operating Systems
{%- for platform in metadata.galaxy_info.platforms %}
- {{ platform.name }}
{%- if "versions" in platform %}
- {{ platform.versions | default([]) | join(', ') }}
{%- endif %}
{%- endfor %}
## Role Variables
{% for entrypoint in argument_specs.keys() %}
{%- set path, options=entrypoint_options[entrypoint][0] -%}
{%- for name, details in options.items() |sort() %}
- `{{ name }}`
- Default: `{{ details.display_default }}`
- Description: {{ details.display_description }}
- Type: {{ details.display_type }}
- Required: {{ details.display_required }}
{%- if details.choices %}
- Choices:
{%- for choice in details.choices %}
- {{ choice }}
{%- endfor %}
{%- endif %}
{%- endfor %}
{%- endfor %}
## Dependencies
{%- if ("dependencies" in metadata) and (metadata.dependencies | length > 0) %}
{%- for dependency in metadata.dependencies %}
- {{ dependency }}
{%- endfor %}
{%- else %}
None.
{%- endif %}
## Example Playbook
```
- hosts: all
become: true
roles:
- name: {{ role }}
```
<!-- END_ANSIBLE_DOCS -->
+19
View File
@@ -0,0 +1,19 @@
---
# .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
- .ansible/ # somehow someone decided that the cache directory should be renamed
# add all waivers individually, since exclude_files does not support globs
- molecule/os_hardening/waivers.yaml
- molecule/ssh_hardening_vm/waivers_*.yaml
mock_roles:
- geerlingguy.git
- nginxinc.nginx
skip_list:
- var-naming[no-role-prefix]
- meta-runtime[unsupported-version]
+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
+97
View File
@@ -0,0 +1,97 @@
---
# reference: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests
name: "Bug report"
description: "Create a report to help us improve."
labels: [
"bug"
]
body:
- type: markdown
attributes:
value: |
Reporting Bugs ld follow some simple rules:
- **Check**, if you can find similar bugs
- **Describe** what is happening and what should happen
- **Explain** how to reproduce the problem
- **Add** more details and attachments
- **Follow up**, if somebody is having questions or needs more details
- type: textarea
id: description
attributes:
label: "Description"
description: Describe the bug
placeholder: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: reprod
attributes:
label: "Reproduction steps"
render: Shell
description: Paste an example playbook that can be used to reproduce the problem. This will be automatically formatted into code, no need for backticks.
value: |
...
validations:
required: true
- type: textarea
id: currentbehavior
attributes:
label: "Current Behavior"
description: Please describe the results you received
value: |
...
validations:
required: true
- type: textarea
id: expectedbehavior
attributes:
label: "Expected Behavior"
description: Please describe the results you expect
value: |
...
validations:
required: true
- type: textarea
id: os
attributes:
label: "OS / Environment"
value: |
Provide all relevant information below, e.g. target OS versions, network device firmware, etc.
validations:
required: true
- type: textarea
id: ansible
attributes:
label: "Ansible Version"
render: Shell
value: |
Paste verbatim output from "ansible --version" between quotes. This will be automatically formatted into code, so no need for backticks.
validations:
required: true
- type: textarea
id: collection
attributes:
label: "Collection Version"
render: Shell
value: |
Paste version of the collection. This will be automatically formatted into code, so no need for backticks.
validations:
required: true
- type: textarea
id: additional
attributes:
label: "Additional information"
description: Please add information like the used software versions, outputs of logs, OS information, screenshots, etc. to enhance the report
value: |
...
validations:
required: false
@@ -0,0 +1,55 @@
---
# reference: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests
name: "Feature request"
description: "Suggest an idea for this project."
labels: [
"enhancement"
]
body:
- type: markdown
attributes:
value: |
Requesting a new feature or enhancement is following some simple rules:
- **Check**, if the feature is already requested
- **Describe** what your feature will bring to the community
- **Explain** the criteria to fulfill the request
- **Add** more details like mock ups, attachments, lists, screenshots
- **Follow Up** in the discussion to the feature
- type: textarea
id: description
attributes:
label: "Description"
description: Is your feature request related to a problem? Please describe.
placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true
- type: textarea
id: solution
attributes:
label: "Solution"
description: Describe the solution you'd like
placeholder: A clear and concise description of what you want to happen.
validations:
required: false
- type: textarea
id: alternatives
attributes:
label: "Alternatives"
description: Describe alternatives you've considered
placeholder: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: false
- type: textarea
id: additional
attributes:
label: "Additional information"
description: Add any other context or screenshots about the feature request here.
value: |
...
validations:
required: false
+30
View File
@@ -0,0 +1,30 @@
---
mysql_hardening:
- changed-files:
- any-glob-to-any-file:
- roles/mysql_hardening/**
- molecule/mysql_hardening/**
- .github/workflows/mysql_hardening.yml
os_hardening:
- changed-files:
- any-glob-to-any-file:
- roles/os_hardening/**
- molecule/os_hardening/**
- .github/workflows/os_hardening.yml
ssh_hardening:
- changed-files:
- any-glob-to-any-file:
- 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:
- changed-files:
- any-glob-to-any-file:
- roles/nginx_hardening/**
- molecule/nginx_hardening/**
- .github/workflows/nginx_hardening.yml
+3
View File
@@ -0,0 +1,3 @@
major-labels: ['major']
minor-labels: ['minor', 'enhancement']
patch-labels: ['patch', 'bug']
+32
View File
@@ -0,0 +1,32 @@
---
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]
paths:
- 'roles/**'
- 'molecule/**'
- 'requirements.txt'
- '.github/workflows/ansible-lint.yml'
- '.config/ansible-lint.yml'
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
paths:
- 'roles/**'
- 'molecule/**'
- 'requirements.txt'
- '.github/workflows/ansible-lint.yml'
- '.config/ansible-lint.yml'
jobs:
ansible-lint:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Lint Ansible Playbook
uses: ansible/ansible-lint@5fac056c45595896c973fbde871f01f6cb14d74c # v26
+14
View File
@@ -0,0 +1,14 @@
---
name: Codespell - Spellcheck
on: # yamllint disable-line rule:truthy
push:
branches: [master]
pull_request:
branches: [master]
jobs:
codespell:
uses: "dev-sec/.github/.github/workflows/codespell.yml@2cd00282cfdb322243d879a96d9494ce64e76119" # main
with:
ignore_words_list: "chage,BOOTUP"
+19
View File
@@ -0,0 +1,19 @@
---
name: "Enforce PR labels"
on: # yamllint disable-line rule:truthy
pull_request_target:
types: [labeled, unlabeled, opened, edited, synchronize]
permissions:
contents: read # to read configuration file
pull-requests: write # to label PRs
jobs:
enforce-label:
if: github.repository == 'dev-sec/ansible-collection-hardening'
runs-on: ubuntu-22.04
steps:
- uses: actions/labeler@f27b608878404679385c85cfa523b85ccb86e213 # v6.1.0
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:
- released
jobs:
deploy:
if: github.repository == 'dev-sec/ansible-collection-hardening'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
# 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@ffbca2460a5a1c600b941bbf1536bd61de1c2227 # v3
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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
ref: master
- name: update galaxy.yml with new version
uses: microsoft/variable-substitution@6287962da9e5b6e68778dc51e840caa03ca84495 # v1
with:
files: 'galaxy.yml'
env:
version: "${{ github.event.release.tag_name }}"
- name: push galaxy.yml
uses: github-actions-x/commit@722d56b8968bf00ced78407bbe2ead81062d8baa # v2.9
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]
+107
View File
@@ -0,0 +1,107 @@
---
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'
- 'requirements.txt'
pull_request:
branches: [master]
paths:
- 'roles/mysql_hardening/**'
- 'molecule/mysql_hardening/**'
- '.github/workflows/mysql_hardening.yml'
- 'requirements.txt'
schedule:
- cron: '0 6 * * 0'
concurrency:
group: >-
${{ github.workflow }}-${{
github.event.pull_request.number || github.sha
}}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- almalinux8
- almalinux9
# - almalinux10 # problem with baseline
- centosstream9
- rocky8
- rocky9
# - rocky10 # problem with baseline
- ubuntu2204
- ubuntu2404
# - ubuntu2604 # problem with test setup
- debian11
- debian12
- debian13
# - amazon # geerlingguy.mysql does not support fedora
# - arch # geerlingguy.mysql does not support arch
- opensuse_tumbleweed
# - fedora # geerlingguy.mysql does not support fedora
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: 3.14
cache: 'pip'
- name: Install dependencies
run: pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Downgrade Ansible for Rocky 8 tests
run: |
pip install "ansible-core<2.17"
ansible-galaxy collection install 'community.crypto:<3.0.0'
ansible-galaxy collection install 'community.general:<12.0.0'
working-directory: ansible_collections/devsec/hardening
if: matrix.molecule_distro == 'rocky8' || matrix.molecule_distro == 'almalinux8'
# 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') }}
# Molecule has problems detecting the proper location for installing roles
# https://github.com/ansible/molecule/issues/3806
# we do not set a custom role path, but the automatically determined install path used is not compatible with the location molecule expects the role
# see CI logs of this action "INFO Set ANSIBLE_ROLES_PATH" should not be present, since we do not set a custom path
# we have to find a proper way to configure this
- name: Temporary fix for roles
run: |
mkdir -p /home/runner/.ansible
ln -s /home/runner/work/ansible-collection-hardening/ansible-collection-hardening/ansible_collections/devsec/hardening/roles \
/home/runner/.ansible/roles
- name: Test with molecule
run: molecule test -s mysql_hardening
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
working-directory: ansible_collections/devsec/hardening
+96
View File
@@ -0,0 +1,96 @@
---
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'
- 'requirements.txt'
pull_request:
branches: [master]
paths:
- 'roles/nginx_hardening/**'
- 'molecule/nginx_hardening/**'
- '.github/workflows/nginx_hardening.yml'
- 'requirements.txt'
schedule:
- cron: '0 6 * * 1'
concurrency:
group: >-
${{ github.workflow }}-${{
github.event.pull_request.number || github.sha
}}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- almalinux8
- almalinux9
- almalinux10
- centosstream9
- rocky8
- rocky9
- rocky10
- ubuntu2204
- ubuntu2404
- ubuntu2604
- debian11
- debian12
- debian13
- amazon2023
# - arch # needs to be fixed
# - opensuse_tumbleweed # needs to be fixed
# - fedora # no support from geerlingguy role
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: 3.14
cache: 'pip'
- name: Install dependencies
run: pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Downgrade Ansible for Rocky 8 tests
run: |
pip install "ansible-core<2.17"
ansible-galaxy collection install 'community.crypto:<3.0.0'
ansible-galaxy collection install 'community.general:<12.0.0'
working-directory: ansible_collections/devsec/hardening
if: matrix.molecule_distro == 'rocky8' || matrix.molecule_distro == 'almalinux8'
# Molecule has problems detecting the proper location for installing roles
# https://github.com/ansible/molecule/issues/3806
# we do not set a custom role path, but the automatically determined install path used is not compatible with the location molecule expects the role
# see CI logs of this action "INFO Set ANSIBLE_ROLES_PATH" should not be present, since we do not set a custom path
# we have to find a proper way to configure this
- name: Temporary fix for roles
run: |
mkdir -p /home/runner/.ansible
ln -s /home/runner/work/ansible-collection-hardening/ansible-collection-hardening/ansible_collections/devsec/hardening/roles \
/home/runner/.ansible/roles
- name: Test with molecule
run: molecule test -s nginx_hardening
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
working-directory: ansible_collections/devsec/hardening
+92
View File
@@ -0,0 +1,92 @@
---
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'
- 'requirements.txt'
pull_request:
branches: [master]
paths:
- 'roles/os_hardening/**'
- 'molecule/os_hardening/**'
- '.github/workflows/os_hardening.yml'
- 'requirements.txt'
schedule:
- cron: '0 6 * * 3'
concurrency:
group: >-
${{ github.workflow }}-${{
github.event.pull_request.number || github.sha
}}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
include:
- molecule_distro: opensuse_tumbleweed
molecule_docker_command: "/usr/lib/systemd/systemd"
molecule_distro:
- almalinux8
- almalinux9
- almalinux10
- centosstream9
- rocky8
- rocky9
- rocky10
- fedora42
- fedora43
- fedora44
- ubuntu2204
- ubuntu2404
- ubuntu2604
- debian11
- debian12
- debian13
- amazon2023
- arch
molecule_docker_command:
- "/lib/systemd/systemd"
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: 3.14
cache: 'pip'
- name: Install dependencies
run: pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Downgrade Ansible for Rocky 8 tests
run: |
pip install "ansible-core<2.17"
ansible-galaxy collection install 'community.crypto:<3.0.0'
ansible-galaxy collection install 'community.general:<12.0.0'
working-directory: ansible_collections/devsec/hardening
if: matrix.molecule_distro == 'rocky8' || matrix.molecule_distro == 'almalinux8'
- name: Test with molecule
run: molecule test -s os_hardening
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
MOLECULE_DOCKER_COMMAND: ${{ matrix.molecule_docker_command }}
working-directory: ansible_collections/devsec/hardening
+96
View File
@@ -0,0 +1,96 @@
---
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'
- 'requirements.txt'
- 'requirements-vm.txt'
pull_request:
branches: [master]
paths:
- 'roles/os_hardening/**'
- 'molecule/os_hardening_vm/**'
- '.github/workflows/os_hardening_vm.yml'
- 'requirements.txt'
- 'requirements-vm.txt'
schedule:
- cron: '0 6 * * 2'
concurrency:
group: >-
${{ github.workflow }}-${{
github.event.pull_request.number || github.sha
}}
cancel-in-progress: true
jobs:
build:
runs-on: self-hosted
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- almalinux/8
- almalinux/9
# - almalinux/10 # boot loop
- generic/centos9s
- generic/rocky8
- generic/rocky9
- alvistack/fedora-42
# - alvistack/fedora-43 # no compatible test image
- generic/ubuntu2204
- alvistack/ubuntu-24.04
# - alvistack/ubuntu-26.04 # no compatible test image
- generic/debian11
- generic/debian12
- cloud-image/debian-13
- generic/opensuse15
- generic/arch
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Install dependencies
run: |
source ~/.venv/ansible-collection-hardening/bin/activate
python -m pip install --no-cache-dir --upgrade pip
pip install -r requirements.txt
pip install -r requirements-vm.txt
working-directory: ansible_collections/devsec/hardening
- name: Downgrade Ansible for Rocky 8 tests
run: |
source ~/.venv/ansible-collection-hardening/bin/activate
pip install "ansible-core<2.17"
ansible-galaxy collection install 'community.crypto:<3.0.0'
ansible-galaxy collection install 'community.general:<12.0.0'
working-directory: ansible_collections/devsec/hardening
if: >
matrix.molecule_distro == 'generic/rocky8' ||
matrix.molecule_distro == 'almalinux/8' ||
matrix.molecule_distro == 'generic/opensuse15'
- name: Update Vagrant Box
run: |
vagrant box update --box ${{ matrix.molecule_distro }} || true
- name: Test with molecule
run: |
source ~/.venv/ansible-collection-hardening/bin/activate
# Workaround for https://github.com/ansible-community/molecule-plugins/issues/301
export MOLECULE_VAGRANT_PLUGIN_DIR=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')/molecule_plugins/vagrant
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-22.04
timeout-minutes: 1
steps:
- name: Git checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
ref: ${{ github.head_ref }}
- name: Prettify code
uses: creyD/prettier_action@8c18391fdc98ed0d884c6345f03975edac71b8f0 # v4.6
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-22.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
ref: master
- name: 'Get Previous tag'
id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@61819f33034117e6c686e6a31dba995a85afc9de" # master
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: calculate next version
id: version
uses: patrickjahns/version-drafter-action@2076fa43abb28f31d0e8b0890253fbd1d1a966fc # v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Generate changelog
uses: charmixer/auto-changelog-action@b25e89c9410e03189f0d48b02b3a8caad6e78015 # 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/commit@722d56b8968bf00ced78407bbe2ead81062d8baa # v2.9
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@271ff311a4947af354c6abcd696a306553b9ec18 # v1
with:
path: ./CHANGELOGRELEASE.md
- name: Delete old drafts
uses: hugo19941994/delete-draft-releases@3f19a25abf2ce87850c2268938f98f14e4d3d1f1 # v3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release draft
id: create_release
uses: actions/create-release@0cb9c9b65d5d1901c1f53e5e66eaf4afd303e70e # 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
+56
View File
@@ -0,0 +1,56 @@
---
name: create roles readme
on: # yamllint disable-line rule:truthy
push:
branches: [master]
paths:
- 'roles/**/meta/argument_specs.yml'
- 'roles/**/meta/main.yml'
pull_request:
branches: [master]
paths:
- 'roles/**/meta/argument_specs.yml'
- 'roles/**/meta/main.yml'
- 'requirements.txt'
jobs:
readme:
name: create roles readme
runs-on: ubuntu-22.04
strategy:
matrix:
roles:
- mysql_hardening
- nginx_hardening
- os_hardening
- ssh_hardening
steps:
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: 3.14
cache: 'pip'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Run aar-doc
run: aar-doc roles/${{ matrix.roles }} markdown
- name: Output diff
run: git diff roles/${{ matrix.roles }}/README.md
- name: Push README
if: github.event_name != 'pull_request'
uses: github-actions-x/commit@722d56b8968bf00ced78407bbe2ead81062d8baa # v2.9
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
commit-message: 'update ${{ matrix.roles }} readme'
files: roles/${{ matrix.roles }}/README.md
rebase: true
name: dev-sec CI
email: [email protected]
+95
View File
@@ -0,0 +1,95 @@
---
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'
- 'requirements.txt'
pull_request:
branches: [master]
paths:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening/**'
- '.github/workflows/ssh_hardening.yml'
- 'requirements.txt'
schedule:
- cron: '0 6 * * 5'
concurrency:
group: >-
${{ github.workflow }}-${{
github.event.pull_request.number || github.sha
}}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
include:
# needs fix - opensuse has different file location for conf and pam (/usr/etc/ssh/?, /usr/lib/pam.d/?)
# - molecule_distro: opensuse_tumbleweed
# molecule_docker_command: "/usr/lib/systemd/systemd"
- molecule_distro: alpine
molecule_docker_command: "/sbin/init"
molecule_distro:
- almalinux8
- almalinux9
- almalinux10
- centosstream9
- rocky8
- rocky9
- rocky10
- fedora42
- fedora43
- fedora44
- ubuntu2204
- ubuntu2404
- ubuntu2604
- debian11
- debian12
- debian13
- amazon2023
- arch
molecule_docker_command:
- "/lib/systemd/systemd"
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: 3.14
cache: 'pip'
- name: Install dependencies
run: pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Downgrade Ansible for Rocky 8 tests
run: |
pip install "ansible-core<2.17"
ansible-galaxy collection install 'community.crypto:<3.0.0'
ansible-galaxy collection install 'community.general:<12.0.0'
working-directory: ansible_collections/devsec/hardening
if: matrix.molecule_distro == 'rocky8' || matrix.molecule_distro == 'almalinux8'
- name: Test with molecule
run: molecule test -s ssh_hardening
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
MOLECULE_DOCKER_COMMAND: ${{ matrix.molecule_docker_command }}
working-directory: ansible_collections/devsec/hardening
@@ -0,0 +1,95 @@
---
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'
- 'requirements.txt'
pull_request:
branches: [master]
paths:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening_custom_tests/**'
- '.github/workflows/ssh_hardening_custom_tests.yml'
- 'requirements.txt'
schedule:
- cron: '0 6 * * 4'
concurrency:
group: >-
${{ github.workflow }}-${{
github.event.pull_request.number || github.sha
}}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-22.04
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
include:
# needs fix - opensuse has different file location for conf and pam (/usr/etc/ssh/?, /usr/lib/pam.d/?)
# - molecule_distro: opensuse_tumbleweed
# molecule_docker_command: "/usr/lib/systemd/systemd"
- molecule_distro: alpine
molecule_docker_command: "/sbin/init"
molecule_distro:
- almalinux8
- almalinux9
- almalinux10
- centosstream9
- rocky8
- rocky9
- rocky10
- fedora42
- fedora43
- fedora44
- ubuntu2204
- ubuntu2404
- ubuntu2604
- debian11
- debian12
- debian13
- amazon2023
- arch
molecule_docker_command:
- "/lib/systemd/systemd"
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: 3.14
cache: 'pip'
- name: Install dependencies
run: pip install -r requirements.txt
working-directory: ansible_collections/devsec/hardening
- name: Downgrade Ansible for Rocky 8 tests
run: |
pip install "ansible-core<2.17"
ansible-galaxy collection install 'community.crypto:<3.0.0'
ansible-galaxy collection install 'community.general:<12.0.0'
working-directory: ansible_collections/devsec/hardening
if: matrix.molecule_distro == 'rocky8' || matrix.molecule_distro == 'almalinux8'
- name: Test with molecule
run: molecule test -s ssh_hardening_custom_tests
env:
MOLECULE_DISTRO: ${{ matrix.molecule_distro }}
MOLECULE_DOCKER_COMMAND: ${{ matrix.molecule_docker_command }}
working-directory: ansible_collections/devsec/hardening
+73
View File
@@ -0,0 +1,73 @@
---
name: "devsec.ssh_hardening VM"
on: # yamllint disable-line rule:truthy
workflow_dispatch:
push:
branches: [master]
paths:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening_vm/**'
- '.github/workflows/ssh_hardening_vm.yml'
- 'requirements.txt'
- 'requirements-vm.txt'
pull_request:
branches: [master]
paths:
- 'roles/ssh_hardening/**'
- 'molecule/ssh_hardening_vm/**'
- '.github/workflows/ssh_hardening_vm.yml'
- 'requirements.txt'
- 'requirements-vm.txt'
schedule:
- cron: '0 6 * * 5'
concurrency:
group: >-
${{ github.workflow }}-${{
github.event.pull_request.number || github.sha
}}
cancel-in-progress: true
jobs:
build:
runs-on: self-hosted
env:
PY_COLORS: 1
ANSIBLE_FORCE_COLOR: 1
strategy:
fail-fast: false
matrix:
molecule_distro:
- generic/openbsd7
- generic/freebsd14
- cloud-image/debian-13
- cloud-image/ubuntu-24.04
- cloud-image/ubuntu-26.04
steps:
- name: Checkout repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
path: ansible_collections/devsec/hardening
submodules: true
- name: Install dependencies
run: |
source ~/.venv/ansible-collection-hardening/bin/activate
python -m pip install --no-cache-dir --upgrade pip
pip install -r requirements.txt
pip install -r requirements-vm.txt
working-directory: ansible_collections/devsec/hardening
- name: Update Vagrant Box
run: |
vagrant box update --box ${{ matrix.molecule_distro }} || true
- name: Test with molecule
run: |
source ~/.venv/ansible-collection-hardening/bin/activate
# Workaround for https://github.com/ansible-community/molecule-plugins/issues/301
export MOLECULE_VAGRANT_PLUGIN_DIR=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')/molecule_plugins/vagrant
molecule test -s ssh_hardening_vm
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/
-80
View File
@@ -1,80 +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-12.04
driver_config:
box: opscode-ubuntu-12.04
box_url: https://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-12.04_chef-provisionerless.box
- 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
-77
View File
@@ -1,77 +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
ansible_extra_flags:
- "--skip-tags=sysctl"
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: ubuntu1204-ansible-latest
driver:
image: rndmh3ro/docker-ubuntu1204-ansible:latest
platform: ubuntu
- 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
-65
View File
@@ -1,65 +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: ubuntu1204
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/
+1292 -116
View File
File diff suppressed because it is too large. Load diff
+46 -18
View File
@@ -15,7 +15,7 @@ In order to contribute code please:
1. Fork the project on GitHub
2. Clone the project
3. Add changes (and tests)
4. Commit and push
4. Commit, sign off and push your changes
5. Create a merge-request
To have your code merged, see the expectations listed below.
@@ -26,28 +26,43 @@ 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
## Sign off Your Work
The Developer Certificate of Origin (DCO) is a lightweight way for contributors to certify that they wrote or otherwise have the right to submit the code they are contributing to the project.
[Here is the full text of the DCO](http://developercertificate.org/).
Contributors must sign-off that they adhere to these requirements by adding a `Signed-off-by` line to commit messages.
```text
This is my commit message
Signed-off-by: Random J Developer <[email protected]>
```
Git even has a -s command line option to append this automatically to your commit message:
```text
git commit -s -m 'This is my commit message'
```
### 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,27 +74,40 @@ 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.
### Local testing of roles in this collection
We are using Molecule to test our roles.
If you want to execute the tests on your machine you need Docker and Molecule.
You will also need to set the `MOLECULE_DISTRO` environment variable to execute the tests.
To find valid values for the variable you can take a look at our GitHub Action workflows in `.github/workflows/`.
Example for executing tests locally:
```bash
pip install -r requirements.txt
export MOLECULE_DISTRO="debian12"
molecule test -s os_hardening
```
### Use Markdown
Wherever possible, please refrain from any other formats and stick to simple markdown.
-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 they're 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 initial 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 unprivileged 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 suppress 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 accommodate 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)_
+76 -177
View File
@@ -1,214 +1,113 @@
# 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-collection-hardening/actions/workflows/os_hardening.yml/badge.svg)](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/os_hardening.yml)
[![devsec.os_hardening VM](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/os_hardening_vm.yml/badge.svg)](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/os_hardening_vm.yml)
[![devsec.ssh_hardening](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/ssh_hardening.yml/badge.svg)](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/ssh_hardening.yml)
[![devsec.ssh_hardening VM](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/ssh_hardening_vm.yml/badge.svg)](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/ssh_hardening_vm.yml)
[![devsec.ssh_hardening with custom tests](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/ssh_hardening_custom_tests.yml/badge.svg)](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/ssh_hardening_custom_tests.yml)
[![devsec.nginx_hardening](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/nginx_hardening.yml/badge.svg)](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/nginx_hardening.yml)
[![devsec.mysql_hardening](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/mysql_hardening.yml/badge.svg)](https://github.com/dev-sec/ansible-collection-hardening/actions/workflows/mysql_hardening.yml)
## Description
This roles provides numerous security-related configurations, providing all-round base protection.
This collection provides battle tested hardening for:
It configures:
- Linux operating systems:
- CentOS Stream 9
- AlmaLinux 8/9/10
- Rocky Linux 8/9/10
- Debian 11/12/13
- Ubuntu 22.04/24.04/26.04
- Amazon Linux (some roles supported)
- Arch Linux (some roles supported)
- Fedora 42/43/44 (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.16
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
Install the collection via ansible-galaxy:
If you want to overwrite sysctl-variables, you have to overwrite the *whole* dict, or else only the single overwritten will be actually used.
So for example if you want to change the IPv4 traffic forwarding variable to `1`, you must pass the whole dict like this:
`ansible-galaxy collection install devsec.hardening`
```
- hosts: localhost
roles:
- dev-sec.os-hardening
vars:
sysctl_config:
# Disable IPv4 traffic forwarding.
net.ipv4.ip_forward: 1
## Using this collection
# Disable IPv6 traffic forwarding.
net.ipv6.conf.all.forwarding: 0
Please refer to the examples in the readmes of the role.
# ignore RAs on Ipv6.
net.ipv6.conf.all.accept_ra: 0
net.ipv6.conf.default.accept_ra: 0
See [Ansible Using collections](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) for more details.
# Enable RFC-recommended source validation feature.
net.ipv4.conf.all.rp_filter: 1
net.ipv4.conf.default.rp_filter: 1
## Contributing to this collection
# 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
See the [contributor guideline](CONTRIBUTING.md).
# There is no reason to accept bogus error responses from ICMP, so ignore them instead.
net.ipv4.icmp_ignore_bogus_error_responses: 1
## Release notes
# Limit the amount of traffic the system uses for ICMP.
net.ipv4.icmp_ratelimit: 100
See the [changelog](https://github.com/dev-sec/ansible-os-hardening/tree/master/CHANGELOG.md).
# Adjust the ICMP ratelimit to include ping, dst unreachable,
# source quench, ime exceed, param problem, timestamp reply, information reply
net.ipv4.icmp_ratemask: 88089
## Roadmap
# Disable IPv6
net.ipv6.conf.all.disable_ipv6: 1
Todos:
# Protect against wrapping sequence numbers at gigabit speeds
net.ipv4.tcp_timestamps: 0
- Work on [apache_hardening](roles/apache_hardening/) and [windows_hardening](roles/windows_hardening/)
- Add support for more operating systems
# Define restriction level for announcing the local source IP
net.ipv4.conf.all.arp_ignore: 1
## More information
# Define mode for sending replies in response to
# received ARP requests that resolve local target IP addresses
net.ipv4.conf.all.arp_announce: 2
General information:
# RFC 1337 fix F1
net.ipv4.tcp_rfc1337: 1
```
- [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)
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.
## Licensing
## Local Testing
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
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.
<http://www.apache.org/licenses/LICENSE-2.0>
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).
Next install test-kitchen:
```bash
# Install dependencies
gem install bundler
bundle install
```
### Testing with Docker
```
# fast test on one machine
bundle exec kitchen test default-ubuntu-1204
# test on all machines
bundle exec kitchen test
# for development
bundle exec kitchen create default-ubuntu-1204
bundle exec kitchen converge default-ubuntu-1204
```
### Testing with Virtualbox
```
# fast test on one machine
KITCHEN_YAML=".kitchen.vagrant.yml" bundle exec kitchen test default-ubuntu-1204
# test on all machines
KITCHEN_YAML=".kitchen.vagrant.yml" bundle exec kitchen test
# for development
KITCHEN_YAML=".kitchen.vagrant.yml" bundle exec kitchen create default-ubuntu-1204
KITCHEN_YAML=".kitchen.vagrant.yml" bundle exec kitchen converge default-ubuntu-1204
```
For more information see [test-kitchen](http://kitchen.ci/docs/getting-started)
## Contributors + Kudos
...
This role is mostly based on guides by:
* [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)
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 = ../
-20
View File
@@ -1,20 +0,0 @@
---
- name: wrapper playbook for kitchen testing "ansible-os-hardening" with custom vars for testing
hosts: localhost
roles:
- ansible-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_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']
- name: wrapper playbook for kitchen testing "ansible-os-hardening"
hosts: localhost
roles:
- ansible-os-hardening
-118
View File
@@ -1,118 +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'
# CAUTION
# If you want to overwrite sysctl-variables,
# you have to overwrite the *whole* dict, or else only the single overwritten will be actually used.
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
# CAUTION
# If you want to overwrite sysctl-variables,
# you have to overwrite the *whole* dict, or else only the single overwritten will be actually used.
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
+48
View File
@@ -0,0 +1,48 @@
namespace: devsec
name: hardening
version: 10.5.2
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
- database
- linux
- security
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
- renovate.json
-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
-26
View File
@@ -1,26 +0,0 @@
---
galaxy_info:
author: "Sebastian Gumprich"
description: 'This Ansible role provides numerous security-related configurations, providing all-round base protection.'
company: Hardening Framework Team
license: Apache License 2.0
min_ansible_version: '2.2.1'
platforms:
- name: EL
versions:
- 6
- 7
- name: Ubuntu
versions:
- precise
- trusty
- xenial
- name: Debian
versions:
- wheezy
- jessie
galaxy_tags:
- system
- security
- hardening
dependencies: []
+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]'
+32
View File
@@ -0,0 +1,32 @@
---
- 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: Determine required MySQL Python libraries (Ubuntu Focal Fossa ++)
ansible.builtin.set_fact:
mysql_python_package_debian: python3-pymysql
when:
- mysql_python_package_debian is not defined
- ansible_facts.distribution == "Ubuntu"
- ansible_facts.distribution_major_version|int > 19
- name: Use Python 3 on Suse
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when:
- ansible_facts.os_family == 'Suse'
- name: Include mysql_hardening role
ansible.builtin.include_role:
name: devsec.hardening.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
+63
View File
@@ -0,0 +1,63 @@
---
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:rw
privileged: true
cgroupns_mode: host
pre_build_image: true
provisioner:
name: ansible
options:
diff: true
config_options:
defaults:
interpreter_python: auto_silent
callbacks_enabled: profile_tasks, timer
# Currently not supported by dev-sec.mysql role
# inject_facts_as_vars: false
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- syntax
- create
- prepare
- check
- converge
- idempotence
- verify
- destroy
+66
View File
@@ -0,0 +1,66 @@
---
- 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) }}"
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
tasks:
- name: Use Python 3 on Debian 11
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when:
- ansible_facts.distribution == 'Debian'
- ansible_facts.distribution_major_version|int >= 11
- name: Use Python 3 on Suse
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when:
- ansible_facts.os_family == 'Suse'
- name: Run the equivalent of "apt-get update && apt-get upgrade"
ansible.builtin.apt:
upgrade: safe
update_cache: true
when: ansible_facts.os_family == 'Debian'
- name: Install required python packages on Suse
ansible.builtin.command: zypper -n install python311-rpm python311-PyMySQL
changed_when: false
when: ansible_facts.os_family == 'Suse'
- name: Create missing directory
ansible.builtin.file:
path: /etc/mysql
state: directory
mode: "0755"
- name: Determine required MySQL Python libraries (Ubuntu Focal Fossa ++)
ansible.builtin.set_fact:
mysql_python_package_debian: python3-pymysql
when:
- mysql_python_package_debian is not defined
- ansible_facts.distribution == "Ubuntu"
- ansible_facts.distribution_major_version|int > 19
- name: Install required MySQL Python libraries on RHEL
ansible.builtin.dnf:
name: "{% if 'python3' in ansible_python_interpreter | default('') %}python36-PyMySQL{% else %}python2-PyMySQL{% endif %}"
when:
- ansible_facts.os_family == "RedHat"
- ansible_facts.distribution_major_version == "7"
- name: Install mysql with a generic Ansible role
ansible.builtin.include_role:
name: dev-sec.mysql
- name: Include MySQL user prepare tasks
ansible.builtin.include_tasks: prepare_tasks/mysql_users.yml
@@ -0,0 +1,32 @@
---
- name: Create users for test
ansible.mysql.mysql_query:
query:
- CREATE USER 'user'@'delete';
- CREATE USER 'user'@'127.0.0.1';
- CREATE USER 'user'@'::1';
- CREATE USER 'user'@'%';
- CREATE USER 'user'@'192.168.0.%';
- CREATE USER 'user'@'192.168.0.1';
- CREATE USER '%'@'192.168.0.1';
- CREATE USER 'user'@'192.168.0.2' IDENTIFIED BY 'keep';
- CREATE USER 'user'@'keep' IDENTIFIED BY 'keep';
- CREATE USER 'user'@'192.168.%' IDENTIFIED BY 'keep';
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
- name: Detect role support on MySQL
ansible.mysql.mysql_query:
query: >
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME = 'user'
AND COLUMN_NAME = 'is_role';
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
register: mysql_role_support
- name: Create roles for test
ansible.mysql.mysql_query:
query:
- CREATE ROLE 'role_keep';
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
when:
- mysql_role_support.rowcount[0] > 0
@@ -0,0 +1,4 @@
---
roles:
- name: dev-sec.mysql
version: master
+55
View File
@@ -0,0 +1,55 @@
---
- 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) }}"
tasks:
- name: Use Python 3 on Suse
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when:
- ansible_facts.os_family == 'Suse'
- name: Install procps for debian systems
ansible.builtin.apt:
name: procps
state: present
update_cache: true
when: ansible_facts.distribution == 'Debian'
- name: Include tests for the service
ansible.builtin.include_tasks: verify_tasks/service.yml
- name: Include tests for MySQL user
ansible.builtin.include_tasks: verify_tasks/mysql_users.yml
- name: Verify
hosts: localhost
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: Execute cinc-auditor tests
ansible.builtin.command: >
docker run
--volume /run/docker.sock:/run/docker.sock
docker.io/cincproject/auditor exec
-t docker://instance
--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
ansible.builtin.debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
ansible.builtin.fail:
msg: Inspec failed to validate
when: test_results.rc != 0
@@ -0,0 +1,41 @@
---
- name: Get all users from MySQL server
ansible.mysql.mysql_query:
query: >
SELECT CONCAT(USER, '@', HOST) AS users FROM mysql.user;
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
register: mysql_users
- name: Create list of users from mysql query
ansible.builtin.set_fact:
mysql_users_list: "{{ mysql_users.query_result.0 | json_query('[*].users') | list }}"
- name: Assert that only accounts with password remain
ansible.builtin.assert:
that:
- '"user@delete" not in mysql_users_list'
- '"[email protected]" not in mysql_users_list'
- '"user@::1" not in mysql_users_list'
- '"user@%" not in mysql_users_list'
- '"[email protected].%" not in mysql_users_list'
- '"[email protected]" not in mysql_users_list'
- '"%@192.168.0.1" not in mysql_users_list'
- '"[email protected]" in mysql_users_list'
- '"user@keep" in mysql_users_list'
- '"[email protected].%" in mysql_users_list'
- name: Detect role support on MySQL
ansible.mysql.mysql_query:
query: >
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME = 'user'
AND COLUMN_NAME = 'is_role';
login_unix_socket: "{{ login_unix_socket | default(omit) }}"
register: mysql_role_support
- name: Assert that roles remain
ansible.builtin.assert:
that:
- '"role_keep@" in mysql_users_list'
when:
- mysql_role_support.rowcount[0] > 0
@@ -0,0 +1,16 @@
---
- name: Load variables from role to use the "mysql_daemon" variable
ansible.builtin.include_role:
name: devsec.hardening.mysql_hardening
apply:
tags:
- never
- name: Populate service facts
ansible.builtin.service_facts:
- name: Check if MySQL is running and enabled
ansible.builtin.assert:
that:
- ansible_facts.services[mysql_daemon + '.service'].state == 'running'
- ansible_facts.services[mysql_daemon + '.service'].status == 'enabled'
+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]'
+15
View File
@@ -0,0 +1,15 @@
---
- 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:
- name: Include nginx_hardening role
ansible.builtin.include_role:
name: devsec.hardening.nginx_hardening
+62
View File
@@ -0,0 +1,62 @@
---
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:rw
privileged: true
cgroupns_mode: host
pre_build_image: true
provisioner:
name: ansible
options:
diff: true
config_options:
defaults:
interpreter_python: auto_silent
callbacks_enabled: profile_tasks, timer
# Currently not supported by geerlingguy.nginx role
# inject_facts_as_vars: false
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- syntax
- create
- prepare
- check
- 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
+23
View File
@@ -0,0 +1,23 @@
---
- 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 packages
ansible.builtin.package:
name: python3-apt
update_cache: true
ignore_errors: true # noqa ignore-errors
- name: Set correct distribution Version for Amazon Linux
ansible.builtin.set_fact:
ansible_distribution_major_version: 7
when: ansible_facts.distribution == 'Amazon'
- name: Install nginx with a generic Ansible role
ansible.builtin.include_role:
name: geerlingguy.nginx
@@ -0,0 +1,3 @@
---
roles:
- name: geerlingguy.nginx
+43
View File
@@ -0,0 +1,43 @@
---
- 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) }}"
tasks:
- name: Install procps for debian systems
ansible.builtin.apt:
name: procps
state: present
update_cache: true
when: ansible_facts.distribution == 'Debian'
- name: Verify
hosts: localhost
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: Execute cinc-auditor tests
ansible.builtin.command: >
docker run
--volume /run/docker.sock:/run/docker.sock
docker.io/cincproject/auditor exec
-t docker://instance
--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
ansible.builtin.debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
ansible.builtin.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]'
+88
View File
@@ -0,0 +1,88 @@
---
- 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) }}"
tasks:
- name: Workaround for https://github.com/ansible/ansible/issues/66304
ansible.builtin.set_fact:
ansible_virtualization_type: docker
- name: Include os_hardening role
ansible.builtin.include_role:
name: devsec.hardening.os_hardening
vars:
os_security_users_allow: change_user
os_security_kernel_enable_core_dump: false
os_auditd_enabled: false
os_security_suid_sgid_remove_from_unknown: true
os_auth_pam_passwdqc_enable: false
os_auth_lockout_time: 15
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_users_without_password_ageing: [pw_no_ageing]
os_auth_pw_warn_age: 7
os_netrc_enabled: false
os_ignore_users: [shell_sys_acc]
os_ignore_home_folder_users: [user_with_777_home]
sysctl_config:
net.ipv4.ip_forward: 0
net.ipv6.conf.all.forwarding: 0
net.ipv6.conf.all.accept_ra: 0
net.ipv6.conf.default.accept_ra: 0
net.ipv4.conf.all.rp_filter: 1
net.ipv4.conf.default.rp_filter: 1
net.ipv4.icmp_echo_ignore_broadcasts: 1
net.ipv4.icmp_ignore_bogus_error_responses: 1
net.ipv4.icmp_ratelimit: 100
net.ipv4.icmp_ratemask: 88089
net.ipv4.conf.all.arp_ignore: 1
net.ipv4.conf.all.arp_announce: 2
net.ipv4.conf.all.shared_media: 1
net.ipv4.conf.default.shared_media: 1
net.ipv4.conf.all.accept_source_route: 0
net.ipv4.conf.default.accept_source_route: 0
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
net.ipv4.conf.all.send_redirects: 0
net.ipv4.conf.default.send_redirects: 0
net.ipv4.conf.all.log_martians: 1
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.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: all
# become: true
# 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
# ansible.builtin.apt:
# update_cache: yes
# when: ansible_facts.os_family == 'Debian'
#
# - include_role:
# name: devsec.hardening.os_hardening
+57
View File
@@ -0,0 +1,57 @@
---
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:rw
privileged: true
cgroupns_mode: host
pre_build_image: true
provisioner:
name: ansible
options:
diff: true
config_options:
defaults:
interpreter_python: auto_silent
callbacks_enabled: profile_tasks, timer
inject_facts_as_vars: false
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- syntax
- create
- prepare
- check
- converge
- idempotence
- verify
- destroy
+67
View File
@@ -0,0 +1,67 @@
---
- 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) }}"
tasks:
- name: Set ansible_python_interpreter to "/usr/bin/python3" on fedora
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when: ansible_facts.distribution == 'Fedora'
- name: Run the equivalent of "apt-get update && apt-get upgrade"
ansible.builtin.apt:
upgrade: safe
update_cache: true
when: ansible_facts.os_family == 'Debian'
- name: Install required tools on SuSE
# cannot use zypper module, since it depends on python-xml
ansible.builtin.command: zypper -n install awk
changed_when: false
when: ansible_facts.os_family == 'Suse'
- name: Install required tools on fedora
ansible.builtin.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
ansible.builtin.dnf:
name:
- openssh-clients
- openssh
state: present
update_cache: true
ignore_errors: true
- name: Create recursing symlink to test minimize access
ansible.builtin.shell: rm -f /usr/bin/zzz && ln -s /usr/bin /usr/bin/zzz
changed_when: false
- name: Include YUM prepare tasks
ansible.builtin.include_tasks: prepare_tasks/yum.yml
when: ansible_facts.os_family == 'RedHat'
- name: Include preparation tasks
ansible.builtin.include_tasks:
file: "{{ item }}"
loop:
- prepare_tasks/netrc.yml
- prepare_tasks/pw_ageing.yml
- prepare_tasks/sys_account_shell.yml
- prepare_tasks/ignore_home_folders.yml
@@ -0,0 +1,9 @@
---
- name: Create user whose home-folder should not be touched
ansible.builtin.user:
name: user_with_777_home
- name: Change mode of home-folder for user to 777
ansible.builtin.file:
path: /home/user_with_777_home
mode: "0777"
@@ -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,12 @@
---
- name: Create user those password ageing should not be changed
user:
name: pw_no_ageing
password: $6$mysecretsalt$qJbapG68nyRab3gxvKWPUcs2g3t0oMHSHMnSKecYNpSi3CuZm.GbBqXO8BE6EI6P1JUefhA0qvD7b5LSh./PU1
password_expire_max: "-1"
- name: Create user those password ageing should be changed
user:
name: pw_ageing
password: $6$mysecretsalt$qJbapG68nyRab3gxvKWPUcs2g3t0oMHSHMnSKecYNpSi3CuZm.GbBqXO8BE6EI6P1JUefhA0qvD7b5LSh./PU1
password_expire_max: "-1"
@@ -0,0 +1,5 @@
---
- name: Create system user with shell that should keep it
user:
name: shell_sys_acc
shell: /bin/bash
@@ -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
+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) }}"
tasks:
- name: Set ansible_python_interpreter to "/usr/bin/python3"
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when: ansible_facts.distribution == 'Fedora'
- name: Include verification tasks
ansible.builtin.include_tasks:
file: "{{ item }}"
loop:
- verify_tasks/sys_account_shell.yml
- verify_tasks/pw_ageing.yml
- verify_tasks/netrc.yml
- verify_tasks/ignore_home_folders.yml
- verify_tasks/ssh_auth_locked.yml
# temp. disabled - https://github.com/dev-sec/ansible-collection-hardening/issues/690
# - name: Include PAM tests
# ansible.builtin.include_tasks: verify_tasks/pam.yml
# when: ansible_facts.distribution in ['Debian', 'Ubuntu'] or ansible_facts.os_family == 'RedHat'
- name: Include YUM tests
ansible.builtin.include_tasks: verify_tasks/yum.yml
when: ansible_facts.os_family == 'RedHat'
- name: Verify
hosts: localhost
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: Execute cinc-auditor tests
ansible.builtin.command: >
docker run
--volume /run/docker.sock:/run/docker.sock
--volume {{ playbook_dir }}/waivers.yaml:/waivers.yaml
docker.io/cincproject/auditor exec
-t docker://instance
--no-show-progress --no-color
--waiver-file /waivers.yaml
--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
ansible.builtin.debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
ansible.builtin.fail:
msg: Inspec failed to validate
when: test_results.rc != 0
- 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) }}"
vars:
os_auditd_enabled: false
os_env_umask: "027 #override"
tasks:
# test if variable can be overridden
- name: Workaround for https://github.com/ansible/ansible/issues/66304
ansible.builtin.set_fact:
ansible_virtualization_type: docker
- name: Include os_hardening role
ansible.builtin.include_role:
name: devsec.hardening.os_hardening
- name: Verify os_env_umask
ansible.builtin.command:
cmd: "grep '027 #override' /etc/login.defs"
changed_when: false
@@ -0,0 +1,10 @@
---
- name: Get properties of user user_with_777_home's home-folder
ansible.builtin.stat:
path: /home/user_with_777_home
register: stats
- name: Check that the home-folder has mode 777
ansible.builtin.assert:
that:
- stats.stat.mode == "0777"
@@ -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,66 @@
---
- name: install pip
package:
name:
- python3-pip
- python3-setuptools
state: present
- name: install pam-tester
ansible.builtin.pip:
name: pam-tester
state: present
executable: /usr/bin/pip3
- name: set password for test
ansible.builtin.set_fact:
test_pw: myTest!pw
- name: set locale for test
ansible.builtin.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 successful login with correct password
ansible.builtin.shell:
cmd: /usr/local/bin/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 unsuccessful login with incorrect password
ansible.builtin.shell:
cmd: /usr/local/bin/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 unsuccessful login, with correct password (lockout)
ansible.builtin.shell:
cmd: /usr/local/bin/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 successful login
ansible.builtin.shell:
cmd: /usr/local/bin/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,32 @@
---
- name: Get Password Expiry date for use pw_no_ageing
ansible.builtin.shell: chage -l pw_no_ageing | grep "Password expires" | cut -d ":" -f 2
changed_when: false
register: expiry_date
- name: Check that the expiry date of pw_no_ageing is "never"
ansible.builtin.assert:
that:
- expiry_date.stdout | trim == 'never'
- name: Get Password Expiry date for pw_ageing
ansible.builtin.shell: chage -l pw_ageing | grep "Password expires" | cut -d ":" -f 2
changed_when: false
register: expiry_date
- name: Check that the expiry date of pw_ageing is 60 days
ansible.builtin.assert:
# this uses the date from the expire_date variable and subtracts the current date.
# it should be bigger that the password_expire_min of the user "pw_no_ageing"
that:
- ( expiry_date.stdout | trim | to_datetime('%b %d, %Y') - ansible_facts.date_time.date | to_datetime('%Y-%m-%d')).days == 60
- name: Get Password Expiry warning days for pw_ageing
ansible.builtin.shell: chage -l pw_ageing | grep "warning before password expires" | cut -d ":" -f 2
changed_when: false
register: expiry_warndays
- name: Check that number of days of warning before password expires is 7 days
ansible.builtin.assert:
that:
- expiry_warndays.stdout | trim == '7'
@@ -0,0 +1,90 @@
---
- name: Install tools
package:
name: "{{ item }}"
state: present
ignore_errors: true
loop:
- sshpass
- openssh
- openssh-clients
- openssh-server
- name: Allow password Login for sshd
ansible.builtin.lineinfile:
path: /etc/ssh/sshd_config
search_string: PasswordAuthentication no
line: PasswordAuthentication yes
when:
- ansible_facts.distribution == "Amazon"
- name: Start sshd service
ansible.builtin.service:
name: "{{ item }}"
state: started
ignore_errors: true
loop:
- sshd
- ssh
- name: Set password for test
ansible.builtin.set_fact:
test_pw: myTest!pw
- name: Create locked_user
user:
name: locked_user
password: "{{ test_pw | password_hash('sha512') }}"
- name: Create ssh-client-keypair
community.crypto.openssh_keypair:
path: /root/locked_user_id
type: ed25519
state: present
register: generated_key
- name: Add ssh-public-key to locked_user
ansible.posix.authorized_key:
user: locked_user
key: "{{ generated_key.public_key }}"
state: present
- name: Check successful login with password
ansible.builtin.shell:
cmd: sshpass -p {{ test_pw }} ssh -o StrictHostKeyChecking=no locked_user@localhost echo "success"
- name: Check successful login with ssh key
ansible.builtin.shell:
cmd: ssh -i /root/locked_user_id -o StrictHostKeyChecking=no locked_user@localhost echo "success"
- name: Set password change date for locked_user
ansible.builtin.shell:
cmd: chage -d 2020-01-01 locked_user
- name: Check unsuccessful login with password
ansible.builtin.shell:
cmd: sshpass -p {{ test_pw }} ssh -o StrictHostKeyChecking=no locked_user@localhost echo "success"
register: output
ignore_errors: true
- name: Assert check unsuccessful login
ansible.builtin.assert:
that:
- output.rc | int == 1
- "'WARNING: Your password has expired.' in output.stderr"
- "'success' not in output.stdout"
when:
- ansible_facts.os_family != "Suse"
- name: Assert check unsuccessful login
ansible.builtin.assert:
that:
- output.rc | int == 5
- "'(password expired)' in output.stderr"
- output.stdout | length == 0
when:
- ansible_facts.os_family == "Suse"
- name: Check successful login with ssh key
ansible.builtin.shell:
cmd: ssh -i /root/locked_user_id -o StrictHostKeyChecking=no locked_user@localhost echo "success"
@@ -0,0 +1,9 @@
---
- name: Read local linux user database
getent:
database: passwd
- name: Check that shell_sys_acc's shell is still bash
ansible.builtin.assert:
that:
- ansible_facts.getent_passwd['shell_sys_acc'][5] == "/bin/bash"
@@ -0,0 +1,8 @@
---
- name: Verify 'gpgcheck' was not enabled for 'foo' repository (in whitelist)
ansible.builtin.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)
ansible.builtin.command: grep -e 'gpgcheck\s*=\s*1' /etc/yum.repos.d/bar.repo
changed_when: false
+9
View File
@@ -0,0 +1,9 @@
os-14:
run: false
justification: "ansible does not gather all fact-mounts (e.g. mounts with tmpfs) so we cannot change these. see https://github.com/ansible/ansible/pull/79787"
os-15:
run: false
justification: "ansible does not gather all fact-mounts (e.g. mounts with tmpfs) so we cannot change these. see https://github.com/ansible/ansible/pull/79787"
os-16:
run: false
justification: "ansible does not gather all fact-mounts (e.g. mounts with tmpfs) so we cannot change these. see https://github.com/ansible/ansible/pull/79787"
+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]'
+53
View File
@@ -0,0 +1,53 @@
---
- 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) }}"
tasks:
- name: Override for arch
ansible.builtin.set_fact:
os_mnt_boot_enabled: false
os_mnt_tmp_enabled: true
os_mnt_tmp_src: tmpfs
os_mnt_tmp_filesystem: tmpfs
when: ansible_facts.os_family == 'Archlinux'
- name: Overrides for Fedora image
ansible.builtin.set_fact:
os_mnt_tmp_enabled: true
os_mnt_tmp_src: tmpfs
os_mnt_tmp_filesystem: tmpfs
when: ansible_facts.distribution == 'Fedora'
- name: Overrides for Fedora 40 image
ansible.builtin.set_fact:
os_mnt_var_enabled: true
os_mnt_var_src: UUID=282c6d73-afc2-4113-9856-c7679ad51920
os_mnt_var_filesystem: btrfs
os_mnt_var_options: rw,nosuid,nodev,compress=zstd:1,subvol=var
when:
- ansible_facts.distribution == 'Fedora'
- ansible_facts.distribution_major_version|int == 40
- name: Overrides for Debian 13 image
ansible.builtin.set_fact:
os_mnt_tmp_enabled: true
os_mnt_tmp_src: tmpfs
os_mnt_tmp_filesystem: tmpfs
when:
- ansible_facts.distribution == 'Debian'
- ansible_facts.distribution_major_version|int == 13
- name: Include os_hardening role
ansible.builtin.include_role:
name: devsec.hardening.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_home_enabled: true
os_mnt_boot_src: /dev/vda1
+68
View File
@@ -0,0 +1,68 @@
---
dependency:
name: galaxy
options:
role-file: molecule/os_hardening_vm/requirements.yml
driver:
name: vagrant
provider:
name: libvirt
platforms:
# we need to name every instance differently to start multiple VMs on the same host (parallelization)
# since we also need to use different OS users to run the tests because of how molecule operates,
# the VM names must be predictable by OS user (to clean up canceled runs)
- name: ${USER}
box: ${MOLECULE_DISTRO}
memory: 1024
cpus: 2
provisioner:
name: ansible
options:
diff: true
env:
ANSIBLE_PIPELINING: "True"
config_options:
defaults:
interpreter_python: auto_silent
callbacks_enabled: profile_tasks, timer
# Workaround for https://github.com/ansible-community/molecule-plugins/issues/301
library: "${MOLECULE_PROJECT_DIRECTORY}/plugins/modules:/usr/share/ansible:${MOLECULE_VAGRANT_PLUGIN_DIR}"
inject_facts_as_vars: false
verifier:
name: ansible
env:
ANSIBLE_PIPELINING: "True"
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- syntax
- create
- prepare
- check
- converge
- idempotence
- verify
- destroy
+113
View File
@@ -0,0 +1,113 @@
---
- name: Prepare Archliux host
hosts: all
become: true
gather_facts: false
tasks:
- name: Update keyring
ansible.builtin.raw: pacman --noconfirm -Sy archlinux-keyring
changed_when: false
when: lookup('env', 'MOLECULE_DISTRO') == 'generic/arch'
- name: Update OS
ansible.builtin.raw: pacman --noconfirm -Suy
changed_when: false
when: lookup('env', 'MOLECULE_DISTRO') == 'generic/arch'
- name: Install python, since it's not installed by default
ansible.builtin.raw: pacman --noconfirm -Sy python
changed_when: false
when: lookup('env', 'MOLECULE_DISTRO') == 'generic/arch'
- 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) }}"
tasks:
- name: Set ansible_python_interpreter to "/usr/bin/python3" on fedora
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when: ansible_facts.distribution == 'Fedora'
- name: Block update of Grub, because of error
ansible.builtin.dpkg_selections:
name: grub-pc
selection: hold
when: ansible_facts.os_family == 'Debian'
# we need to free up space, since the /boot partition in some Vagrant images is
# pretty small and system updates might fail
- name: Find all initrd.img to delete them
ansible.builtin.find:
paths: /boot
patterns: "initrd.img*"
register: find_results
when: ansible_facts.os_family == 'Debian'
- name: Delete all initrd.img to free space on /boot
ansible.builtin.file:
path: "{{ item['path'] }}"
state: absent
with_items: "{{ find_results['files'] }}"
when: ansible_facts.os_family == 'Debian'
- name: Run the equivalent of "apt-get update && apt-get upgrade"
ansible.builtin.apt:
upgrade: safe
update_cache: true
when: ansible_facts.os_family == 'Debian'
- name: Install required tools on fedora
ansible.builtin.dnf:
name:
- python
- findutils
- procps-ng
- python3-libselinux
when: ansible_facts.distribution == 'Fedora'
- name: Install required tools on AlmaLinux
ansible.builtin.dnf:
name:
- initscripts
when: ansible_facts.distribution == 'AlmaLinux'
- name: Install required tools on Arch
community.general.pacman:
name:
- awk
- archlinux-keyring
state: latest
update_cache: true
when: ansible_facts.os_family == 'Archlinux'
- name: Run the equivalent of "pacman -Syu"
community.general.pacman:
update_cache: true
upgrade: true
when: ansible_facts.os_family == 'Archlinux'
- name: Install required tools on RHEL # noqa ignore-errors
ansible.builtin.dnf:
name:
- openssh-clients
- openssh
state: present
update_cache: true
ignore_errors: true
- name: Create recursing symlink to test minimize access
ansible.builtin.shell: rm -f /usr/bin/zzz && ln -s /usr/bin /usr/bin/zzz
changed_when: false
- name: Unmount EFI partition to get rid of vfat filesystem (qemu has no firmware image that inspec can detect)
ansible.posix.mount:
path: /boot/efi
state: unmounted
- name: Include YUM prepare tasks
ansible.builtin.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:
- name: geerlingguy.git
+60
View File
@@ -0,0 +1,60 @@
---
- 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) }}"
tasks:
# temp. disabled - https://github.com/dev-sec/ansible-collection-hardening/issues/690
# - name: Include PAM tests
# ansible.builtin.include_tasks: verify_tasks/pam.yml
# when: ansible_facts.distribution in ['Debian', 'Ubuntu'] or ansible_facts.os_family == 'RedHat'
- name: Include YUM tests
ansible.builtin.include_tasks: verify_tasks/yum.yml
when: ansible_facts.os_family == 'RedHat'
- name: Verify
hosts: localhost
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: Get ssh-config
ansible.builtin.command:
cmd: vagrant ssh-config
chdir: "{{ molecule_ephemeral_directory }}"
register: ssh_config
changed_when: false
- name: Create ssh-config file
ansible.builtin.copy:
content: "{{ ssh_config.stdout_lines | join ('\n') }}"
dest: "{{ molecule_ephemeral_directory }}/ssh-config"
mode: "0400"
changed_when: false
- name: Execute cinc-auditor tests
ansible.builtin.command: >
docker run --rm
--volume {{ molecule_ephemeral_directory }}:{{ molecule_ephemeral_directory }}
docker.io/cincproject/auditor exec
--ssh-config-file={{ molecule_ephemeral_directory }}/ssh-config
-t ssh://{{ lookup('env', 'USER') }}
--sudo --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
ansible.builtin.debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
ansible.builtin.fail:
msg: Inspec failed to validate
when: test_results.rc != 0
@@ -0,0 +1,65 @@
---
- name: install pip
package:
name:
- python3-pip
- python3-setuptools
state: present
- name: install pam-tester
ansible.builtin.pip:
name: pam-tester
state: present
- name: set password for test
ansible.builtin.set_fact:
test_pw: myTest!pw
- name: set locale for test
ansible.builtin.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 successful login with correct password
ansible.builtin.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 unsuccessful login with incorrect password
ansible.builtin.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 unsuccessful login, with correct password (lockout)
ansible.builtin.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 successful login
ansible.builtin.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)
ansible.builtin.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)
ansible.builtin.command: grep -e 'gpgcheck\s*=\s*1' /etc/yum.repos.d/bar.repo
changed_when: false
+9
View File
@@ -0,0 +1,9 @@
---
- name: Verify prerequisites
hosts: localhost
tasks:
- name: Make sure environment variable for MOLECULE_DISTRO is set
ansible.builtin.assert:
that:
- "lookup('env','MOLECULE_DISTRO') | length > 0"
fail_msg: "You need to set MOLECULE_DISTRO to a supported image name. See CONTRIBUTING.md"
+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]'
+13
View File
@@ -0,0 +1,13 @@
---
- 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) }}"
tasks:
- name: Include ssh_hardening role
ansible.builtin.include_role:
name: devsec.hardening.ssh_hardening
vars:
sftp_enabled: false
+63
View File
@@ -0,0 +1,63 @@
---
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:rw
privileged: true
cgroupns_mode: host
pre_build_image: true
provisioner:
name: ansible
options:
diff: true
config_options:
defaults:
interpreter_python: auto_silent
callbacks_enabled: profile_tasks, timer
inject_facts_as_vars: false
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
- verify ../shared/prerequisites.yml
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- syntax
- create
- prepare
- check
- converge
- idempotence
- verify
- destroy
+80
View File
@@ -0,0 +1,80 @@
---
- name: Prepare the molecule container for the role
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
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when: ansible_facts.distribution == 'Fedora'
- name: Install dnf packages # noqa ignore-errors
ansible.builtin.dnf:
name:
- openssh-clients
- openssh-server
state: present
update_cache: true
ignore_errors: true
- name: Install libselinux-python # noqa ignore-errors
ansible.builtin.dnf:
name:
- libselinux-python
state: present
update_cache: true
ignore_errors: true
- name: Install procps-ng # noqa ignore-errors
ansible.builtin.dnf:
name:
- procps-ng
state: present
update_cache: true
ignore_errors: true
- name: Install apt packages # noqa ignore-errors
ansible.builtin.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
ansible.builtin.command: zypper -n install python-xml
changed_when: false
when: ansible_facts.os_family == 'Suse'
- name: Install packages on SuSE
community.general.zypper:
name:
- openssh
when: ansible_facts.os_family == 'Suse'
- name: Install required tools on Alpine
community.general.apk:
name:
- openssh
state: present
update_cache: true
when: ansible_facts.os_family == 'Alpine'
- name: Install required tools on Arch
community.general.pacman:
name:
- openssh
- awk
state: present
update_cache: true
when: ansible_facts.os_family == 'Archlinux'
- name: Create ssh host keys # noqa ignore-errors no-changed-when
ansible.builtin.command: ssh-keygen -A
ignore_errors: true
+28
View File
@@ -0,0 +1,28 @@
---
- name: Verify
hosts: localhost
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: Execute cinc-auditor tests
ansible.builtin.command: >
docker run
--volume /run/docker.sock:/run/docker.sock
docker.io/cincproject/auditor exec
-t docker://instance
--no-show-progress --no-color
--no-distinct-exit https://github.com/dev-sec/ssh-baseline/archive/refs/heads/master.zip
register: test_results
changed_when: false
ignore_errors: true
- name: Display details about the cinc-auditor results
ansible.builtin.debug:
msg: "{{ test_results.stdout_lines }}"
- name: Fail when tests fail
ansible.builtin.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,96 @@
---
- 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) }}"
tasks:
- name: Include ssh_hardening role
ansible.builtin.include_role:
name: devsec.hardening.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
network_ipv6_enable: true
ssh_allow_tcp_forwarding: "yes"
ssh_gateway_ports: "clientspecified"
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: "yes"
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
# these should not be set in the final sshd_config
ssh_kex: false
ssh_custom_options:
- Include /etc/ssh/ssh_config.d/*
sshd_custom_options:
- AcceptEnv LANG
@@ -0,0 +1,56 @@
---
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:rw
privileged: true
cgroupns_mode: host
pre_build_image: true
provisioner:
name: ansible
options:
diff: true
config_options:
defaults:
interpreter_python: auto_silent
callbacks_enabled: profile_tasks, timer
inject_facts_as_vars: false
verifier:
name: ansible
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- syntax
- create
- prepare
- check
- converge
- idempotence
- destroy
@@ -0,0 +1,80 @@
---
- 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
ansible.builtin.set_fact:
ansible_python_interpreter: /usr/bin/python3
when: ansible_facts.distribution == 'Fedora'
- name: Install dnf packages # noqa ignore-errors
ansible.builtin.dnf:
name:
- openssh-clients
- openssh-server
state: present
update_cache: true
ignore_errors: true
- name: Install libselinux-python # noqa ignore-errors
ansible.builtin.dnf:
name:
- libselinux-python
state: present
update_cache: true
ignore_errors: true
- name: Install procps-ng # noqa ignore-errors
ansible.builtin.dnf:
name:
- procps-ng
state: present
update_cache: true
ignore_errors: true
- name: Install apt packages # noqa ignore-errors
ansible.builtin.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
ansible.builtin.command: zypper -n install python-xml
changed_when: false
when: ansible_facts.os_family == 'Suse'
- name: Install packages on SuSE
community.general.zypper:
name:
- openssh
when: ansible_facts.os_family == 'Suse'
- name: Install required tools on Arch
community.general.pacman:
name:
- openssh
- awk
state: present
update_cache: true
when: ansible_facts.os_family == 'Archlinux'
- name: Install required tools on Alpine
community.general.apk:
name:
- openssh
state: present
update_cache: true
when: ansible_facts.os_family == 'Alpine'
- name: Create ssh host keys # noqa ignore-errors no-changed-when
ansible.builtin.command: ssh-keygen -A
ignore_errors: true
+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]'
+13
View File
@@ -0,0 +1,13 @@
---
- 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) }}"
tasks:
- name: Include ssh_hardening role
ansible.builtin.include_role:
name: devsec.hardening.ssh_hardening
vars:
sftp_enabled: false
+63
View File
@@ -0,0 +1,63 @@
---
driver:
name: vagrant
provider:
name: libvirt
platforms:
# we need to name every instance differently to start multiple VMs on the same host (parallelization)
# since we also need to use different OS users to run the tests because of how molecule operates,
# the VM names must be predictable by OS user (to clean up canceled runs)
- name: ${USER}
box: ${MOLECULE_DISTRO}
memory: 1024
cpus: 2
provisioner:
name: ansible
options:
diff: true
env:
ANSIBLE_PIPELINING: "True"
config_options:
defaults:
interpreter_python: auto_silent
callbacks_enabled: profile_tasks, timer
# Workaround for https://github.com/ansible-community/molecule-plugins/issues/301
library: "${MOLECULE_PROJECT_DIRECTORY}/plugins/modules:/usr/share/ansible:${MOLECULE_VAGRANT_PLUGIN_DIR}"
inject_facts_as_vars: false
verifier:
name: ansible
env:
ANSIBLE_PIPELINING: "True"
scenario:
create_sequence:
- dependency
- create
- prepare
check_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- create
- prepare
- converge
- check
- destroy
converge_sequence:
- dependency
- create
- prepare
- converge
destroy_sequence:
- destroy
test_sequence:
- dependency
- verify ../shared/prerequisites.yml
- destroy
- syntax
- create
- prepare
- converge
- idempotence
- verify
- destroy
+34
View File
@@ -0,0 +1,34 @@
---
- name: Prepare OpenBSD host
hosts: all
become: true
gather_facts: false
tasks:
- name: Change installation source
# temporary fix for https://github.com/lavabit/robox/issues/305
ansible.builtin.raw: echo "https://ftp.eu.openbsd.org/pub/OpenBSD" > /etc/installurl
changed_when: false
when: lookup('env', 'MOLECULE_DISTRO') == 'generic/openbsd7'
- name: Install python
# BSDs are special for Ansible - https://docs.ansible.com/ansible/latest/os_guide/intro_bsd.html
ansible.builtin.raw: pkg_add -I python%3.11
changed_when: false
when: lookup('env', 'MOLECULE_DISTRO') == 'generic/openbsd7'
- 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: Create ssh host keys # noqa ignore-errors
ansible.builtin.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
Loaded 100 of 250 files, more files were not shown because too many files have changed in this diff. Show more