Being able to use Ansible to secure your nodes is an in-demand skill, and understanding how to use playbooks for security is excellent knowledge to have.
This value is shown by the fact that it is one of the objectives of the *Red Hat Certified Ansible Specialist* exam.
In this hands-on lab, we will make use of the various modules to help secure your nodes in a reproducible manner.
This hands-on lab is not meant to be an exhaustive example of security; instead it showcases ways to enhance your nodes security.
**Note:** Ansible has been set up and configured for use on the Control server and two nodes. This will save you time when doing the hands-on lab.
*This course is not approved or sponsored by Red Hat.*
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Log in to the Ansible Control Node Server and Change to the `ansible` User
- Sign in to the Ansible Control Node server using the
cloud_user
credentials, and change to theansible
user. Test that Ansible is working:
ansible all -m ping
Note: It may take several minutes after the start of the lab, for the test to work as expected.
- Sign in to the Ansible Control Node server using the
- Use an Ad Hoc Ansible Command to Check the Uptime on All the Nodes
Show the uptime on all the servers:
ansible all -a /usr/bin/uptime
- Create a Playbook Called `selinux-check.yml`and Ensure SELinux Is Enabled on All Nodes
Use the
selinux
module and create a playbook calledselinux-check.yml
:vim selinux-check.yml
Check the playbook, ensuring all the nodes have
SELinux
installed and that it’s set to enabled on all nodes.
Note: More information about the
selinux
module can be found here: https://docs.ansible.com/ansible/latest/modules/selinux_module.html- Test the Playbook `selinux-check.yml` to Ensure It Works
Test the playbook
selinux-check.yml
against all the nodes and ensure there are no errors:ansible-playbook selinux-check.yml
- Create a Playbook Called `firewalld.yml` and Verify the Installation of `firewalld`
- Use the
firewalld
module (and any other modules as required) in a playbook calledfirewalld.yml
to ensurefirewalld
is installed, enabled, and started on all the nodes.
Note: More information about the
firewalld
module can be found here: https://docs.ansible.com/ansible/latest/modules/firewalld_module.html?highlight=firewalld- Use the
- Test the `firewalld.yml` Playbook and Verify Task Completion
Test the playbook and ensure that
firewalld
is installed, enabled, and started on each of the nodes:sudo systemctl status firewalld