Security Hardening

How to Perform a System Security Audit with auditd on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Perform a System Security Audit with auditd on RHEL 9

Security auditing is the practice of recording and reviewing system calls, file accesses, user actions, and configuration changes to detect policy violations, investigate incidents, and demonstrate compliance with standards like PCI DSS, HIPAA, and SOC 2. On RHEL 9, the Linux Audit Framework — provided by the auditd daemon — captures events at the kernel […]

Read more
How to Use journalctl for Systemd Log Analysis on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use journalctl for Systemd Log Analysis on RHEL 9

The Linux kernel’s systemd journal is a structured binary log that stores the output of every service, kernel message, boot sequence, and user session. Unlike traditional text-based syslog, the journal stores metadata alongside each log entry — the unit name, PID, UID, executable path, systemd unit state, and priority level — enabling far more precise […]

Read more
How to Sync Time with Chrony on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Sync Time with Chrony on RHEL 9

Accurate time synchronization is not optional on a server — it is a hard requirement. TLS certificate validation fails when the clock is wrong by more than a few minutes. Kerberos authentication rejects tickets with a clock skew over 5 minutes. Cron jobs fire at the wrong time. Log correlation across multiple servers becomes impossible […]

Read more
How to Configure Automatic Security Updates on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Automatic Security Updates on RHEL 9

Unpatched software is the leading cause of server compromise. The majority of publicly disclosed vulnerabilities already have patches available by the time attackers start actively exploiting them — the window between patch availability and active exploitation has shrunk from months to days. Manually patching servers is error-prone and inconsistent at scale. Automatic security updates ensure […]

Read more
How to Manage Systemd Services and Units on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Manage Systemd Services and Units on RHEL 9

Systemd is the init system and service manager for RHEL 9 — it is PID 1, the parent of every other process on the system. Understanding how to manage systemd services is foundational to every other administrative task: installing Nginx means enabling the nginx service; configuring a database means understanding its unit file; debugging a […]

Read more
How to Configure sudo and Sudoers on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure sudo and Sudoers on RHEL 9

The sudo (superuser do) tool allows designated users to run commands with elevated privileges without sharing the root password. This is fundamental to the principle of least privilege: each administrator gets exactly the access they need for their role, no more. When access is misconfigured — for example with blanket ALL=(ALL) ALL entries or unsafe […]

Read more
Initial Server Setup with RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

Initial Server Setup with RHEL 9

Red Hat Enterprise Linux 9 (RHEL 9, codenamed “Plow”) is the most significant release of RHEL in years, built on Linux kernel 5.14, OpenSSL 3.0, and shipped with a hardened-by-default security posture including SELinux enforcing mode, nftables as the default firewall backend, and full support for the latest POWER, ARM, and x86_64 architectures. Whether you […]

Read more
How to Configure the Firewall on RHEL 9 with firewalld — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure the Firewall on RHEL 9 with firewalld

Red Hat Enterprise Linux 9 uses firewalld as its default firewall management daemon, backed by nftables as the kernel netfilter framework (replacing iptables which was the default in RHEL 7 and earlier). firewalld provides a zone-based model where each network interface is assigned to a trust zone — public, internal, dmz, trusted, and more — […]

Read more
How to Set Up SSH Key-Based Authentication on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up SSH Key-Based Authentication on RHEL 9

SSH key-based authentication is the gold standard for remote server access. Unlike passwords, SSH keys cannot be guessed by brute-force attacks. An Ed25519 private key is a 256-bit secret that would take longer than the age of the universe to crack by exhaustive search. When combined with a key passphrase, you have two-factor authentication: something […]

Read more
CHAT