From e4ba16bfc774892e52e220ba09154fb7599783f5 Mon Sep 17 00:00:00 2001 From: Hugh Ratsch Date: Sun, 2 Mar 2025 09:45:00 -0600 Subject: [PATCH] Update solution templates with scenario descriptions --- src/solutions/container-management.md | 120 ++++++++++++++++++++--- src/solutions/networking.md | 42 ++++---- src/solutions/security.md | 89 ++++++++++++++--- src/solutions/shell-scripting.md | 127 +++++++++++++++++++++--- src/solutions/system-recovery.md | 133 +++++++++++++++++++++++--- 5 files changed, 436 insertions(+), 75 deletions(-) diff --git a/src/solutions/container-management.md b/src/solutions/container-management.md index 4768443..8c63eb4 100644 --- a/src/solutions/container-management.md +++ b/src/solutions/container-management.md @@ -21,12 +21,48 @@ From Practice Scenarios v1, Scenario 4: 5. Expose the container on port 8080 ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Clean system with Podman installed +- Required Outcome: Running nginx container with persistent storage that starts on boot ### Solution Steps -[Your solution will be added here] +1. Pull the nginx container image + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Create and configure the persistent volume + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Run the container with the volume mounted + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Configure automatic startup + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] + +## Skills Demonstrated +- Container Management +- Volume Configuration +- System Integration +- Container Security ## Scenario: [v2-S4] Container Operations @@ -40,12 +76,42 @@ From Practice Scenarios v2, Scenario 4: 6. Create a systemd service file for the pod ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Clean system with Podman installed +- Required Outcome: Fully functional MariaDB and phpMyAdmin deployment with persistence and auto-restart ### Solution Steps -[Your solution will be added here] +1. Pull container images + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Configure persistent storage + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Create and configure pod + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Set up systemd service + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] ## Scenario: [v3-S4] Advanced Container Deployment @@ -60,9 +126,39 @@ From Practice Scenarios v3, Scenario 4: 7. Set up container monitoring ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Clean system with Podman installed +- Required Outcome: Production-ready multi-container application with monitoring, resource limits, and health checks ### Solution Steps -[Your solution will be added here] \ No newline at end of file +1. Design container architecture + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Configure container networking + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Implement resource limits and health checks + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Set up monitoring and logging + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] \ No newline at end of file diff --git a/src/solutions/networking.md b/src/solutions/networking.md index fa73f4f..8e7e063 100644 --- a/src/solutions/networking.md +++ b/src/solutions/networking.md @@ -21,9 +21,9 @@ From Practice Scenarios v1, Scenario 7: 5. Implement network access restrictions using firewalld zones ### Environment -- OS Version: RHEL/Rocky Linux -- Initial State: [Initial network configuration] -- Required Outcome: [Desired network setup] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: DHCP-configured network interface +- Required Outcome: Properly configured static network settings with hostname and firewall zones ### Solution Steps 1. Check Current Network Configuration @@ -34,36 +34,30 @@ From Practice Scenarios v1, Scenario 7: # Check routing ip route show ``` - [Explanation of current state] + [My explanation will go here after completing the exercise] 2. Configure Network Interface ```bash # Network configuration commands - nmcli connection modify ... + # To be filled with my solution ``` - [Explanation of configuration] + [My explanation will go here after completing the exercise] 3. Apply and Verify Changes ```bash # Apply changes - nmcli connection up ... + # To be filled with my solution ``` - [Explanation of changes] + [My explanation will go here after completing the exercise] ### Verification ```bash # Test connectivity -ping -c 4 gateway_ip -ping -c 4 8.8.8.8 - -# Check DNS resolution -nslookup example.com +# To be filled with my verification steps ``` ### Key Learnings -- Understanding of network configuration -- Troubleshooting methodology -- NetworkManager usage +- [To be filled after completing the exercise] ## Skills Demonstrated - Network Configuration @@ -83,12 +77,12 @@ From Practice Scenarios v2, Scenario 7: 6. Set up network teaming for redundancy ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: System with various network and storage issues +- Required Outcome: Fully functional system with resolved issues and properly configured network ### Solution Steps -[Your solution will be added here] +[To be filled when I complete this exercise] ## Scenario: [v3-S7] Network Services Configuration @@ -108,9 +102,9 @@ From Practice Scenarios v3, Scenario 7: - Fail2ban configuration ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Basic network configuration with single interface +- Required Outcome: Advanced network configuration with bonding, VLANs, and security features ### Solution Steps -[Your solution will be added here] \ No newline at end of file +[To be filled when I complete this exercise] \ No newline at end of file diff --git a/src/solutions/security.md b/src/solutions/security.md index 7f08d26..054eb66 100644 --- a/src/solutions/security.md +++ b/src/solutions/security.md @@ -19,9 +19,9 @@ From Practice Scenarios v1, Scenario 3 (Security Part): - Configure SSH to disable root login and only allow key-based authentication ### Environment -- OS Version: RHEL/Rocky Linux -- Initial State: [Initial security configuration] -- Required Outcome: [Desired security setup] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Default security configuration with SELinux in enforcing mode +- Required Outcome: Secured system with custom SELinux policy and proper firewall/SSH configuration ### Solution Steps 1. Check Current SELinux Status @@ -44,12 +44,17 @@ From Practice Scenarios v1, Scenario 3 (Security Part): ``` [Explanation of configuration] -3. Apply Changes +3. Configure Firewall ```bash - # Restore contexts - restorecon -Rv /custom/path + # To be filled with my solution ``` - [Explanation of changes] + [My explanation will go here after completing the exercise] + +4. Secure SSH Configuration + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] ### Verification ```bash @@ -86,12 +91,42 @@ From Practice Scenarios v2, Scenario 5: 6. Configure SELinux boolean settings for web services ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Default security configuration +- Required Outcome: Hardened system with granular access controls and application-specific security ### Solution Steps -[Your solution will be added here] +1. Configure SELinux for custom application + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Implement firewalld rich rules + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Set up ACLs and sudo restrictions + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Configure password policies + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] ## Scenario: [v3-S5] Comprehensive Security Setup @@ -114,11 +149,35 @@ From Practice Scenarios v3, Scenario 5: - Key-based authentication only ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Default security configuration +- Required Outcome: Enterprise-grade security implementation with custom policies ### Solution Steps -[Your solution will be added here] +1. Develop comprehensive SELinux strategy + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Configure advanced firewalld setup + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Implement hardened SSH configuration + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] [Additional scenarios will be documented here as completed] \ No newline at end of file diff --git a/src/solutions/shell-scripting.md b/src/solutions/shell-scripting.md index d761d20..cc18439 100644 --- a/src/solutions/shell-scripting.md +++ b/src/solutions/shell-scripting.md @@ -22,12 +22,55 @@ Create a script that: 5. Logs all actions to /var/log/cleanup.log ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: System without the necessary script +- Required Outcome: Fully functional cleanup script with reporting and archiving capability ### Solution Steps -[Your solution will be added here] +1. Create the script structure + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Implement file finding and reporting + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Add archiving functionality + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Implement logging + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +5. Test the script + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] + +## Skills Demonstrated +- Shell Scripting +- File Management +- Log Management +- Process Automation +- System Maintenance ## Scenario: [v2-S6] Automation Script @@ -41,12 +84,42 @@ Create a script that: 5. Uses getopts for command line options ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: System without monitoring or maintenance automation +- Required Outcome: Comprehensive system monitoring and maintenance script ### Solution Steps -[Your solution will be added here] +1. Create script with command-line options + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Implement disk space monitoring + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Add cleanup functionality + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Create reporting feature + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] ## Scenario: [v3-S6] System Automation @@ -65,9 +138,39 @@ Create scripts for: - Logs all operations ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: System without inventory or backup automation +- Required Outcome: Complete system inventory and backup solution with proper logging and verification ### Solution Steps -[Your solution will be added here] \ No newline at end of file +1. Create system inventory script + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Implement package and service reporting + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Create backup script with incremental support + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Add verification and logging + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] \ No newline at end of file diff --git a/src/solutions/system-recovery.md b/src/solutions/system-recovery.md index 5dd39e3..bbd19d6 100644 --- a/src/solutions/system-recovery.md +++ b/src/solutions/system-recovery.md @@ -21,12 +21,55 @@ From Practice Scenarios v1, Scenario 5: 5. Create a backup of /etc using tar with bzip2 compression ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: System with locked root password and various issues +- Required Outcome: Recovered system with proper configuration and backup ### Solution Steps -[Your solution will be added here] +1. Reset root password using emergency mode + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Identify and kill high CPU process + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Configure default boot target + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Set up autofs for NFS + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +5. Create backups + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] + +## Skills Demonstrated +- System Recovery +- Process Management +- Boot Configuration +- Backup and Restore +- File System Management ## Scenario: [v2-S8] System Maintenance @@ -40,12 +83,48 @@ From Practice Scenarios v2, Scenario 8: 6. Configure time synchronization with multiple time sources ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Basic system without maintenance configuration +- Required Outcome: Fully configured maintenance system with automated tasks ### Solution Steps -[Your solution will be added here] +1. Configure local repository + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. Set up automated updates + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Configure log rotation + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Implement backup strategy + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +5. Schedule maintenance tasks + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] ## Scenario: [v3-S3] Boot Management and Recovery @@ -62,9 +141,39 @@ From Practice Scenarios v3, Scenario 3: 6. Configure crash dump collection ### Environment -- OS Version: [To be filled] -- Initial State: [To be filled] -- Required Outcome: [To be filled] +- OS Version: RHEL/Rocky Linux 8.x +- Initial State: Standard boot configuration +- Required Outcome: Advanced boot configuration with security and recovery options ### Solution Steps -[Your solution will be added here] \ No newline at end of file +1. Configure boot targets + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +2. GRUB2 configuration + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +3. Recovery procedures + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +4. Configure crash dumps + ```bash + # To be filled with my solution + ``` + [My explanation will go here after completing the exercise] + +### Verification +```bash +# To be filled with my verification steps +``` + +### Key Learnings +- [To be filled after completing the exercise] \ No newline at end of file