An XCCDF Group - A logical subset of the XCCDF Benchmark
authselect
/etc/issue
You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests -- not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details.
I've read & consent to terms in IS user agreem't.
/etc/issue.net
/etc/motd
$ sudo chgrp root /etc/issue
$ sudo chgrp root /etc/issue.net
$ sudo chgrp root /etc/motd
$ sudo chown root /etc/issue
$ sudo chown root /etc/issue.net
$ sudo chown root /etc/motd
$ sudo chmod 0644 /etc/issue
$ sudo chmod 0644 /etc/issue.net
$ sudo chmod 0644 /etc/motd
banner-message-enable
true
/etc/dconf/db/distro.d/00-security-settings
[org/gnome/login-screen] banner-message-enable=true
/etc/dconf/db/distro.d/locks/00-security-settings-lock
/org/gnome/login-screen/banner-message-enable
dconf update
banner-message-text
'APPROVED_BANNER'
[org/gnome/login-screen] banner-message-text='APPROVED_BANNER'
/org/gnome/login-screen/banner-message-text
'
\n
/etc/pam.d
/etc/pam.d/login
/etc/pam.d/system-auth
/etc/security/opasswd
libpwquality
$ sudo dnf install libpwquality
$ sudo grep pam_succeed_if /etc/pam.d/sudo
pam_lastlog
/etc/pam.d/postlogin
showfailed
session [default=1] pam_lastlog.so showfailed
silent
pam_faillock
/usr/share/doc/pam-VERSION/txts/README.pam_faillock
dir
remember
pam_pwhistory
authselect enable-feature with-pwhistory
/etc/security/pwhistory.conf
pam_unix
pam_faillock.so
/etc/security/faillock.conf
deny = <count>
authconfig
root
Note that the default directory that "pam_faillock" uses is usually cleared on system boot so the access will be reenabled after system reboot. If that is undesirable, a different tally directory must be set with the "dir" option.
local_users_only
fail_interval
fail_interval = <interval-in-seconds>
interval-in-seconds
unlock_time=<interval-in-seconds>
unlock_time
0
faillock
pam_pwquality
pam_pwquality(8)
pam_cracklib
password requisite pam_cracklib.so try_first_pass retry=3
password required pam_cracklib.so try_first_pass retry=3 maxrepeat=3 minlen=14 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1 difok=4
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
/etc/security/pwquality.conf
difok = 4 minlen = 14 dcredit = -1 ucredit = -1 lcredit = -1 ocredit = -1 maxrepeat = 3
dcredit
dictcheck
1
difok
enforce_for_root
lcredit
maxclassrepeat
maxrepeat
minclass
* Upper-case characters * Lower-case characters * Digits * Special characters (for example, punctuation)
minlen
minlen=
ocredit=
ocredit
password
/etc/pam.d/password-auth
password requisite pam_pwquality.so
retry=
ucredit=
ucredit
/etc/shadow
/etc/libuser.conf
[defaults]
crypt_style = sha512
/etc/login.defs
ENCRYPT_METHOD
pam_unix.so
sha512
password sufficient pam_unix.so sha512 other arguments...
SHA_CRYPT_MIN_ROUNDS
SHA_CRYPT_MAX_ROUNDS
5000
SHA_CRYPT_MIN_ROUNDS 5000 SHA_CRYPT_MAX_ROUNDS 5000
debug-shell
systemctl
tty9
CTRL-ALT-F9
$ sudo systemctl mask --now debug-shell.service
SystemD
Ctrl-Alt-Del
CtrlAltDelBurstAction
/etc/systemd/system.conf
CtrlAltDelBurstAction=none
ln -sf /dev/null /etc/systemd/system/ctrl-alt-del.target
systemctl mask ctrl-alt-del.target
/usr/lib/systemd/system/ctrl-alt-del.service
yes
on
systemd.confirm_spawn
/etc/default/grub
systemd.confirm_spawn=(1|yes|true|on)
GRUB_DISABLE_RECOVERY=true
/sbin/grubby --update-kernel=ALL --remove-args="systemd.confirm_spawn"
grub2-mkconfig -o /boot/grub2/grub.cfg
logind
/etc/systemd/logind.conf
[Login]
StopIdleSessionSec=
/usr/lib/systemd/system/emergency.service
/usr/lib/systemd/system/rescue.service
tmux
$ tmux
ctrl+b :lock-session
/etc/bashrc
/etc/profile.d/
lock-after-time
/etc/tmux.conf
vlock
set -g lock-command vlock
/etc/shells
cac
default
other
opensc
$ sudo dnf install opensc
pcsc-lite
$ sudo dnf install pcsc-lite
openssl-pkcs11
$ sudo dnf install openssl-pkcs11
pcscd
$ sudo systemctl enable pcscd.service
/etc/opensc.conf
app default
app default { ... card_drivers = ; }
# force_card_driver = customcos;
force_card_driver = ;
/etc/passwd
^(bin|oracle|sapadm)$
var_accounts_authorized_local_users_regex
$ sudo userdel unauthorized_user
NUM_DAYS
USER
$ sudo chage -I NUM_DAYS USER
-E
/etc/default/useradd
INACTIVE=
useradd
ACCOUNT_NAME
YYYY-MM-DD
$ sudo chage -E YYYY-MM-DD ACCOUNT_NAME
$ sudo chage -E YYYY-MM-DD USER
$ sudo getent passwd | awk -F: '{ print $1}' | uniq -d
passwd
su
login
login.defs(5)
PASS_MAX_DAYS
-M
PASS_MIN_DAYS
-m
PASS_WARN_AGE
-W
$ sudo chage -M 180 -m 7 -W 7 USER
PASS_MIN_LEN
15
12
$ sudo chage -M USER
$ sudo chage -m 1 USER
$ sudo chage --warndays USER
$ sudo chage --inactive 30USER
x
*
$ sudo cut -d: -f2 /etc/shadow $6$kcOnRq/5$NUEYPuyL.wghQwWssXRcLRFiiru7f5JPV6GaJhNC2aK5F3PZpE/BCCtwrxRc/AInKMNX3CdMw11m9STiql12f/
!
$6
rounds
rounds=
password sufficient pam_unix.so ...existing_options... rounds=
nullok
$ sudo awk -F: '!$2 {print $1}' /etc/shadow
$ sudo passwd [username]
$ sudo passwd -l [username]
.forward
+
/etc/group
.netrc
sudo
/etc/securetty
/dev/console
/dev/tty*
/dev/vc/*
var_pam_wheel_group_for_su
pam_wheel.so
group
/etc/pam.d/su
$ sudo echo > /etc/securetty
1000
halt
sync
shutdown
nfsnobody
$ sudo usermod -L account
$ sudo usermod -s /sbin/nologin account
ttyS0 ttyS1
vc/1 vc/2 vc/3 vc/4
wheel
auth required pam_wheel.so use_uid
auth required pam_wheel.so use_uid group=
CREATE_HOME
CREATE_HOME yes
FAIL_DELAY
/etc/security/limits.conf
/etc/security/limits.d/
* hard maxlogins
$ sudo mkdir --mode 000 /tmp/tmp-inst
/etc/security/namespace.conf
/tmp /tmp/tmp-inst/ level root,adm
$ sudo mkdir --mode 000 /var/tmp/tmp-inst
/var/tmp /var/tmp/tmp-inst/ level root,adm
TMOUT
/etc/profile
/etc/profile.d/tmout.sh
typeset -xr TMOUT=
declare -xr TMOUT=
typeset
$ sudo chmod o-w FILE
/users
/tmp
/
$ sudo mkdir /home/USER
$ sudo chgrp USER_GROUP /home/USER
0740
$ sudo chmod 0740 /home/USER/.INIT_FILE
0750
$ sudo chmod 0750 /home/USER
# ls -ld /home/USER
# chmod g-w /home/USER # chmod o-rwx /home/USER
# echo $PATH
.
# ls -ld DIR
..
PATH=:/bin PATH=/bin: PATH=/bin::/sbin
umask
/etc/csh.cshrc
UMASK
/etc/profile.d