- FEATURE
- add support for Ubuntu 24.04
-
OTHER
- update comments about using
mkpasswd
instead ofansible
to create encrypted password - Ubuntu: add autoremove task
- update Github workflow
- update comments about using
-
MOLECULE
- use
alvistack
instead ofgeneric
Vagrant boxes - use different IP addresses
- use
-
BREAKING/FEATURE
- introduce
harden_linux_deploy_group
andharden_linux_deploy_group_gid
variables. Both are optional. But at leastharden_linux_deploy_group
must be specified ifharden_linux_deploy_user
is also set. Ifharden_linux_deploy_group
is set toroot
nothing will be changed. - if
harden_linux_deploy_user
is set toroot
nothing will be changed. harden_linux_deploy_user
is now optional. If not set, no user will be setup. Also all variables that start withharden_linux_deploy_user_
are only used ifharden_linux_deploy_user
is specified. Additionallyharden_linux_deploy_user_home
variable was added.harden_linux_deploy_user_shell
,harden_linux_deploy_user_home
,harden_linux_deploy_user_uid
andharden_linux_deploy_user_password
are now optional. $HOME directory ofharden_linux_deploy_user
is only created ifharden_linux_deploy_user_home
is set.
- introduce
-
MOLECULE
- update test scenario to reflect deploy user/group changes
-
FEATURE
- introduce
harden_linux_absent_packages
variable - introduce
harden_linux_systemd_resolved_settings
variable
- introduce
-
MOLECULE
- change IP addresses
-
OTHER
- fix
ansible-lint
issues
- fix
-
BREAKING
meta/main.yml
: changerole_name
fromharden-linux
toharden_linux
. This is a requirement since quite some time for Ansible Galaxy. But the requirement was introduced after this role already existed for quite some time. So please update the name of the role in your playbook accordingly!
-
remove support for Ubuntu 18.04 (reached EOL)
-
MOLECULE
- add
verify
step - use
generic/ubuntu2204
VM image instead ofalvistack/ubuntu-22.04
- move
memory
andcpus
properties to hosts - rename scenario
kvm
todefault
- rename
test-harden-linux-ubuntu1804-openntpd
totest-harden-linux-ubuntu2204-openntpd
- adjust
verifier
- fix link in
defaults/main.yml
- add information about Molecule test to
README.md
- add
-
OTHER
- fix various
ansible-lint
issues .ansible-lint
: removerole-name
/ addname[template]
- fix various
- fix various
ansible-lint
issues - remove unneeded tests directory
- add Github release action to push new release to Ansible Galaxy
- FEATURE: Support Ubuntu 22.04 (contribution by @lvnilesh)
- add Molecule test for Ubuntu 22.04
This version contains a few breaking changes. Please read the changelog carefully:
- BREAKING:
harden_linux_required_packages
variable was removed. Please useharden_linux_optional_packages
instead now. Installation of packagesufw
,sshguard
,sudo
andunattended-upgrades
(last one Ubuntu only) are now installed in the tasks that setup the packages accordingly. So if you usedharden_linux_required_packages
to install additional packages you basically just need to rename that variable toharden_linux_optional_packages
but you can removeufw
,sshguard
,sudo
andunattended-upgrades
from the list and just keep all the packages you added manually. - BREAKING: The deploy user specified in
harden_linux_deploy_user
will no longer be added to/etc/sudoers
directly. Instead a file/etc/sudoers.d/{{ harden_linux_deploy_user }}
will be created. After that file is created the old user entry will be removed from/etc/sudoers
. - BREAKING: Min. supported Ansible version changed from
2.5
to >=2.9
- FEATURE: Support Archlinux. Archlinux support doesn't contain "unattended upgrades" as it the case for Ubuntu.
- FEATURE: add
harden_linux_files_to_delete
variable. This variable allows to specify a list of files which should be absent on the target host. - FEATURE: add
delete
parameter to UFWrule
's. Specifies if a rule should be deleted. This is important if a previously added rule should be removed. Just removing a rule fromharden_linux_ufw_rules
isn't enough! You must usedelete
to delete that rule. - FEATURE: (Ubuntu only): add
harden_linux_ubuntu_update_cache
variable. Set tofalse
if package cache should not be updated. Previously package cache was always updated. - FEATURE: (Ubuntu only): add
harden_linux_ubuntu_cache_valid_time
variable. Set package cache valid time (in seconds). Previously it was always3600
seconds. - FEATURE: (Archlinux only): introduce
harden_linux_archlinux_update_cache
variable. Set tofalse
if package cache should not be updated.
- add
systemd-timesyncd
as additional option forharden_linux_ntp
- Remove Ubuntu 16.04 support
- Added basic Molecule tests
- updated README about how to generate encrypted passwords
- Updated for Ubuntu 20.04 LTS
- make
harden_linux_ntp
optional (commented indefaults/main.yml
).
- introduce
harden_linux_ntp
andharden_linux_ntp_settings
variables.openntpd
is installed by default now. See README for more information. Ifharden_linux_ntp
variable isn't set no ntp service will be installed.
- fix deprecation warning in "install required packages" task
- moved changelog entries to separate file
- make Ansible linter happy
- update README
- Ansible v2.5 needed for Ubuntu 18.04 Bionic Beaver as Python 3 is default there. It should work with Ansible >= 2.2 too but who knows ;-) As Ubuntu 18.04 comes with Python 3 support only by default you may adjust your Ansible's
hosts
file. E.g you can add theansible_python_interpreter
env. like so:host.domain.tld ansible_python_interpreter=/usr/bin/python3
(also see Python 3 support for more examples)
- support for Ubuntu 18.04 Bionic Beaver
- added
sudo
package toharden_linux_required_packages
- fixed deprecation warning while installing aptitude
- major refactoring
- removed
common_ssh_port
(seeharden_linux_sshd_settings
instead) - all variables that started with
common_
are now starting with the prefixharden_linux_
. Additionally ALL variables that the role uses are now prefixed withharden_linux_
. Using a variable name prefix avoids potential collisions with other role/group variables. - introduced
harden_linux_deploy_user_uid
andharden_linux_deploy_user_shell
- single settings in
harden_linux_sysctl_settings
can be overridden by specifying the key/value inharden_linux_sysctl_settings_user
list (whole list needed to be replaced before this change) - more documentation added to
defaults/main.yml
(please read it ;-) ) - every setting in hosts
/etc/ssh/sshd_config
config file can now be replaced by usingharden_linux_sshd_settings_user
list. The defaults are specified inharden_linux_sysctl_settings
and will be merged withharden_linux_sysctl_settings_user
during run time. - added variable
harden_linux_sshguard_whitelist
for Sshguard whitelist - firewall rules can now be added using
harden_linux_ufw_rules
variable
- initial release