# Ensure talk client is not installed

Necessity: The 'talk' service provides a legacy, unencrypted, text-based communication channel between users. Its protocol is outdated and transmits all data in cleartext, making it susceptible to eavesdropping and interception. On a modern server, this service is unnecessary and its presence increases the system's attack surface. Removing non-essential services is a fundamental security best practice known as the principle of least functionality, which reduces potential vectors for attack. The risk of leaving it installed is that a vulnerability could be discovered in the service, or it could be used by an attacker for lateral communication within a compromised network. Auditing and Remediation: The audit script queries the system's RPM package database to determine if the 'talk' package is installed. The remediation script uses the native package manager (`yum` or `dnf`) to permanently uninstall the 'talk' package from the system, ensuring the service cannot be run. Recommended State Rationale: The recommended state for Basic, Moderate, and Strict levels is 'Not Installed'. There is no security level at which installing this outdated and insecure service is advisable. Because it offers no encryption and serves no essential function on a modern system, its removal is a straightforward and necessary hardening step. There is no 'moderate' configuration; the service is either a liability (Installed) or not (Not Installed).

## Recommended State Configuration

| Security Level | Value |
|----------------|-------|
| **Basic** | `['Not Installed']` |
| **Moderate** | `['Not Installed']` |
| **Strict** | `['Not Installed']` |
| **Type** | `ENUM` |

## Audit Script Working

Bash script that checks if the 'talk' package is installed using the `rpm` command. The script should output 'Installed' if the package is present and 'Not Installed' if it is not. The output must not contain any other text or formatting.

## Remediation Script Working

Bash script that accepts one positional argument representing the desired state ('Installed' or 'Not Installed'). If the desired state is 'Not Installed', the script must use the system's package manager (`yum` or `dnf`) to remove the 'talk' package. The script must return `true` if the final state matches the desired state, and `false` otherwise.

