TMAegisBêta
Plus de règles pour linux

Linux distributions

TMA-ROCKY9-5.4.2.8

Ensure accounts without a valid login shell are locked

MoyenneNiveau 1Automatiséelinux

Description

There are a number of accounts provided with most distributions that are used to manage applications. Additionally, an administrator may add special accounts that are not intended for interactive use.

Méthode de vérification

Méthode d'audit: Commande shell

shell
alt0() { o=$(bash -c '#!/usr/bin/env bash

{
   l_valid_shells="^($(awk -F\/ '"'"'($NF != "nologin" && $NF != "false") {print}'"'"' /etc/shells | sed -rn '"'"'/^\//{s,/,\\\\/,g;p}'"'"' | paste -s -d '"'"'|'"'"' - ))$"
   while IFS= read -r l_user; do
      passwd -S "$l_user" | awk '"'"'$2 !~ /^L/ {print "Account: \"" $1 "\" does not have a valid login shell and is not locked"}'"'"'
   done < <(awk -v pat="$l_valid_shells" -F: '"'"'($1 != "root" && $(NF) !~ pat) {print $1}'"'"' /etc/passwd)
}' 2>&1); [ -z "$o" ] || { echo "step1: $o" | head -c 300; return 1; }; }; if alt0; then echo compliant; fi
Sortie attendue
compliant

Méthode de correction

Méthode de correction: Recommandation ou correctif d'infrastructure

Run the following command to lock any non-root accounts without a valid login shell returned by the audit: # usermod -L <user> Example script: #!/usr/bin/env bash { l_valid_shells="^($(awk -F\/ '($NF != "nologin" && $NF != "false") {print}' /etc/shells | sed -rn '/^\//{s,/,\\\\/,g;p}' | paste -s -d '|' - ))$" while IFS= read -r l_user; do passwd -S "$l_user" | awk '$2 !~ /^L/ {system ("usermod -L " $1)}' done < <(awk -v pat="$l_valid_shells" -F: '($1 != "root" && $(NF) !~ pat) {print $1}' /etc/passwd) }

Propriétés

Systèmes d'exploitation
rocky-9
Étiquettes
cis-convertedlinux
Référence
CIS Rocky Linux 9 Benchmark v3.0.0 - 5.4.2.8

Vérifier cet hôte

Exécutez cette commande sur une machine que vous êtes autorisé à auditer. L'analyse est en lecture seule.

shell
tmaegis scan --target linux