RHCSA 9 Exam Objectives Overview
RHCSA 9 Exam Objectives Overview
To securely manage user password policies, configure 'passwd' and 'chage' to enforce complexity and aging. Use 'pwquality.conf' to set requirements like minimum length and character mix (numeric, uppercase, etc.). 'chage' modifies aging rules, where 'chage -m 7 -M 90 -W 14 <username>' sets minimum, maximum, and warning days respectively. Regular audits using these commands ensure compliance. Ensure users are trained in selecting robust passwords to avoid predictable choices that undermine security .
Creating and managing logical volumes involves using LVM to abstract storage allocation, enhancing flexibility and scalability. Start with 'pvcreate' to prepare physical volumes, followed by 'vgcreate' to form a volume group. Use 'lvcreate' for logical volumes from available group space. Ensure volume sizes reflect current and projected needs, keep volume groups near full allocation to prevent wastage, and monitor I/O performance using 'iostat'. Extend volumes as necessary ('lvextend'), using 'resize2fs' to adjust file systems. Regular backups and monitoring provide resilience against data loss .
When configuring autofs for NFS, ensure maps are correctly specified in 'auto.master' and subordinate map files ('auto.misc', etc.). Use direct and indirect maps based on directory structure needs. Set appropriate timeout values to balance performance and resource usage ('autofs --timeout=600'). Security is crucial—control access with '/etc/exports' settings on NFS hosts, including specifying clients, using sync and subtree_check options. Regularly audit logs to prevent unauthorized access or performance drags .
To ensure system configurations persist using Podman, one must utilize systemd. Generate systemd service files for each container using 'podman generate systemd <container-id>' and place them into '/etc/systemd/system'. Enable the container service with 'systemctl enable <service>' for automatic start at boot. Additionally, leverage Podman's '--restart=always' flag during initial container run setup to auto-restart on failure or reboot. Ensuring volumes are correctly handled (bind mounts or named volumes) is critical for persistent data storage .
SELinux enhances container security by enforcing process and file access controls. For Podman containers, ensure 'container_manage_cgroup' boolean is enabled for proper cgroup management. Use 'podman run' with '--security-opt label=type:container_t' to correctly label processes. Additional context-specific changes might include setting port labels and configuring allowable network interactions through SELinux types. A thorough audit using 'audit2allow' can identify and address additional policy violations, hardening the environment against exploits .
Secure file transfers between Red Hat systems through SSH can be achieved using 'scp' or 'rsync', both ensuring encrypted transmission. Key-based authentication improves security by replacing password-based connections with cryptographic keys, reducing the risk of brute-force attacks. Generate keys with 'ssh-keygen', then distribute the public key using 'ssh-copy-id'. Key-based auth eliminates password interception risks and simplifies automated scripts, enhancing both security and user convenience .
Configuring superuser access involves adding users to the 'wheel' or 'sudo' groups, allowing them to execute commands typically restricted to the root user. This balance ensures that administrative tasks are facilitated without direct use of the root account, reducing security risks associated with broad root use. However, overprivileging users can expose the system to potential misconfigurations or breaches, so it's crucial to limit this access only to qualified personnel and tightly monitor actions through audit logs .
Improperly configured bootloader settings can lead to unbootable systems or improper OS loading. Issues include incorrect default entries or kernel parameters. Strategies to mitigate risks involve ensuring that configuration files (/etc/default/grub) are validated before updates using 'grub2-mkconfig'. Backup configurations prior to changes, and use rescue media to rectify failures. Implementing a dual-boot test environment helps verify changes without disrupting production systems. Regular audits ensure persistent misconfigurations do not persist .
Managing SELinux boolean settings is necessary when temporary adjustments are required to SELinux policies to permit or restrict specific operations without altering policy files directly. Scenarios include enabling HTTPD scripts to communicate over the network or allowing a virtual machine to use extended resources. The command 'getsebool -a' lists all available booleans; 'setsebool <boolean_name> on/off' modifies a setting temporarily. Use '-P' for permanence. These changes accommodate immediate needs but should be evaluated carefully for security implications .
To configure a system firewall using 'firewall-cmd', the administrator should perform the following steps: First, ensure 'firewalld' service is active. Use 'firewall-cmd --add-service=<name>' for allowing specific services, and 'firewall-cmd --remove-service=<name>' to block others. For more granular control, 'firewall-cmd --add-port=<port>/<protocol>' can manage specific ports, with '--remove-port' for blocking them. Rules can be applied immediately and made permanent using the '--permanent' flag. For outbound traffic, zones like 'block' or 'drop' should be used to restrict unsolicited outgoing data. After adjustments, 'firewall-cmd --reload' ensures changes take effect .