Compliance Score
83%
Passing Checks
5
Failing Checks
1
Not Applicable
6

Compliance Checks

Disk Encryption
Output missing required pattern: luks|LUKS|crypt
Technical Details
$ lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS zram0 251:0 0 3.8G 0 disk [SWAP] vda 253:0 0 100G 0 disk ├─vda1 253:1 0 100M 0 part /boot/efi ├─vda2 253:2 0 1000M 0 part /boot └─vda3 253:3 0 98.9G 0 part /var /home / vdb 253:16 0 248.6M 1 disk /mnt/lima-cidata
$ sudo zfs get -H encryption zroot 2>/dev/null || doas zfs get -H encryption zroot 2>/dev/null || zfs get -H encryption zroot 2>/dev/null
How to Fix
  1. Enable full disk encryption using LUKS
  2. Run 'sudo cryptsetup luksFormat /dev/sdX' for each unencrypted partition
  3. Update /etc/crypttab and /etc/fstab accordingly
Hostname
Check passed
Technical Details
$ hostname
lima-default
Password Quality
Check passed
Technical Details
$ cat /etc/pam.d/common-password
$ cat /etc/login.defs
# # Please note that the parameters in this configuration file control the # behavior of the tools from the shadow-utils component. None of these # tools uses the PAM mechanism, and the utilities that use PAM (such as the # passwd command) should therefore be configured elsewhere. Refer to # /etc/pam.d/system-auth for more information. # # # Delay in seconds before being allowed another attempt after a login failure # Note: When PAM is used, some modules may enforce a minimum delay (e.g. # pam_unix(8) enforces a 2s delay) # #FAIL_DELAY 3 # Currently FAILLOG_ENAB is not supported # # Enable display of unknown usernames when login(1) failures are recorded. # #LOG_UNKFAIL_ENAB no # Currently LOG_OK_LOGINS is not supported # Currently LASTLOG_ENAB is not supported # # Limit the highest user ID number for which the lastlog entries should # be updated. # # No LASTLOG_UID_MAX means that there is no user ID limit for writing # lastlog entries. # #LASTLOG_UID_MAX # Currently MAIL_CHECK_ENAB is not supported # Currently OBSCURE_CHECKS_ENAB is not supported # Currently PORTTIME_CHECKS_ENAB is not supported # Currently QUOTAS_ENAB is not supported # Currently SYSLOG_SU_ENAB is not supported # # Enable "syslog" logging of newgrp(1) and sg(1) activity. # #SYSLOG_SG_ENAB yes # Currently CONSOLE is not supported # Currently SULOG_FILE is not supported # Currently MOTD_FILE is not supported # Currently ISSUE_FILE is not supported # Currently TTYTYPE_FILE is not supported # Currently FTMP_FILE is not supported # Currently NOLOGINS_FILE is not supported # Currently SU_NAME is not supported # *REQUIRED* # Directory where mailboxes reside, _or_ name of file, relative to the # home directory. If you _do_ define both, MAIL_DIR takes precedence. # MAIL_DIR /var/spool/mail #MAIL_FILE .mail # # If defined, file which inhibits all the usual chatter during the login # sequence. If a full pathname, then hushed mode will be enabled if the # user's name or shell are found in the file. If not a full pathname, then # hushed mode will be enabled if the file exists in the user's home directory. # #HUSHLOGIN_FILE .hushlogin #HUSHLOGIN_FILE /etc/hushlogins # Currently ENV_TZ is not supported # Currently ENV_HZ is not supported # # The default PATH settings, for superuser and normal users. # # (they are minimal, add the rest in the shell startup files) #ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin #ENV_PATH PATH=/bin:/usr/bin # # Terminal permissions # # TTYGROUP Login tty will be assigned this group ownership. # TTYPERM Login tty will be set to this permission. # # If you have a write(1) program which is "setgid" to a special group # which owns the terminals, define TTYGROUP as the number of such group # and TTYPERM as 0620. Otherwise leave TTYGROUP commented out and # set TTYPERM to either 622 or 600. # #TTYGROUP tty #TTYPERM 0600 # Currently ERASECHAR, KILLCHAR and ULIMIT are not supported # Default initial "umask" value used by login(1) on non-PAM enabled systems. # Default "umask" value for pam_umask(8) on PAM enabled systems. # UMASK is also used by useradd(8) and newusers(8) to set the mode for new # home directories if HOME_MODE is not set. # 022 is the default value, but 027, or even 077, could be considered # for increased privacy. There is no One True Answer here: each sysadmin # must make up their mind. UMASK 022 # HOME_MODE is used by useradd(8) and newusers(8) to set the mode for new # home directories. # If HOME_MODE is not set, the value of UMASK is used to create the mode. HOME_MODE 0700 # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a password may be used. # PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_MIN_LEN Minimum acceptable password length. # PASS_WARN_AGE Number of days warning given before a password expires. # PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 8 PASS_WARN_AGE 7 # Currently SU_WHEEL_ONLY is not supported # Currently CRACKLIB_DICTPATH is not supported # # Min/max values for automatic uid selection in useradd(8) # UID_MIN 1000 UID_MAX 60000 # System accounts SYS_UID_MIN 201 SYS_UID_MAX 999 # Extra per user uids SUB_UID_MIN 524288 SUB_UID_MAX 600100000 SUB_UID_COUNT 65536 # # Min/max values for automatic gid selection in groupadd(8) # GID_MIN 1000 GID_MAX 60000 # System accounts SYS_GID_MIN 201 SYS_GID_MAX 999 # Extra per user group ids SUB_GID_MIN 524288 SUB_GID_MAX 600100000 SUB_GID_COUNT 65536 # # Max number of login(1) retries if password is bad # #LOGIN_RETRIES 3 # # Max time in seconds for login(1) # #LOGIN_TIMEOUT 60 # # Maximum number of attempts to change password if rejected (too easy) # PASS_CHANGE_TRIES 5 # # Warn about weak passwords (but still allow them) if you are root. # PASS_ALWAYS_WARN yes # # Number of significant characters in the password for crypt(). # Default is 8, don't change unless your crypt() is better. # Ignored if MD5_CRYPT_ENAB set to "yes". # #PASS_MAX_LEN 8 # Currently CHFN_AUTH is not supported # # Which fields may be changed by regular users using chfn(1) - use # any combination of letters "frwh" (full name, room number, work # phone, home phone). If not defined, no changes are allowed. # For backward compatibility, "yes" = "rwh" and "no" = "frwh". # #CHFN_RESTRICT rwh # Currently LOGIN_STRING is not supported # Currently MD5_CRYPT_ENAB is not supported # # If set to MD5, MD5-based algorithm will be used for encrypting password # If set to SHA256, SHA256-based algorithm will be used for encrypting password # If set to SHA512, SHA512-based algorithm will be used for encrypting password # If set to BCRYPT, BCRYPT-based algorithm will be used for encrypting password # If set to YESCRYPT, YESCRYPT-based algorithm will be used for encrypting password # If set to DES, DES-based algorithm will be used for encrypting password (default) # ENCRYPT_METHOD YESCRYPT # # Only works if ENCRYPT_METHOD is set to SHA256 or SHA512. # # Define the number of SHA rounds. # With a lot of rounds, it is more difficult to brute-force the password. # However, more CPU resources will be needed to authenticate users if # this value is increased. # # If not specified, the libc will choose the default number of rounds (5000). # The values must be within the 1000-999999999 range. # #SHA_CRYPT_MAX_ROUNDS 5000 # Currently SHA_CRYPT_MIN_ROUNDS is not supported # # Only works if ENCRYPT_METHOD is set to BCRYPT. # # Define the number of BCRYPT rounds. # With a lot of rounds, it is more difficult to brute-force the password. # However, more CPU resources will be needed to authenticate users if # this value is increased. # # If not specified, 13 rounds will be attempted. # If only one of the MIN or MAX values is set, then this value will be used. # If MIN > MAX, the highest value will be used. # #BCRYPT_MIN_ROUNDS 13 #BCRYPT_MAX_ROUNDS 31 # # Only works if ENCRYPT_METHOD is set to YESCRYPT. # # Define the YESCRYPT cost factor. # With a higher cost factor, it is more difficult to brute-force the password. # However, more CPU time and more memory will be needed to authenticate users # if this value is increased. # # If not specified, a cost factor of 5 will be used. # The value must be within the 1-11 range. # #YESCRYPT_COST_FACTOR 5 # Currently CONSOLE_GROUPS is not supported # # Should login be allowed if we can't cd to the home directory? # Default is yes. # #DEFAULT_HOME yes # Currently ENVIRON_FILE is not supported # # If defined, this command is run when removing a user. # It should remove any at/cron/print jobs etc. owned by # the user to be removed (passed as the first argument). # #USERDEL_CMD /usr/sbin/userdel_local # # Enables userdel(8) to remove user groups if no members exist. # USERGROUPS_ENAB yes # # If set to a non-zero number, the shadow utilities will make sure that # groups never have more than this number of users on one line. # This permits to support split groups (groups split into multiple lines, # with the same group ID, to avoid limitation of the line length in the # group file). # # 0 is the default value and disables this feature. # #MAX_MEMBERS_PER_GROUP 0 # # If useradd(8) should create home directories for users by default (non # system users only). # This option is overridden with the -M or -m flags on the useradd(8) # command-line. # CREATE_HOME yes # # Force use shadow, even if shadow passwd & shadow group files are # missing. # #FORCE_SHADOW yes # # Select the HMAC cryptography algorithm. # Used in pam_timestamp module to calculate the keyed-hash message # authentication code. # # Note: It is recommended to check hmac(3) to see the possible algorithms # that are available in your system. # HMAC_CRYPTO_ALGO SHA512
System Info
Check passed
Technical Details
$ cat /etc/os-release
NAME="Fedora Linux" VERSION="41 (Cloud Edition)" RELEASE_TYPE=stable ID=fedora VERSION_ID=41 VERSION_CODENAME="" PLATFORM_ID="platform:f41" PRETTY_NAME="Fedora Linux 41 (Cloud Edition)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:41" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f41/" SUPPORT_URL="https://ask.fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=41 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=41 SUPPORT_END=2025-12-15 VARIANT="Cloud Edition" VARIANT_ID=cloud
System Uptime
Check passed
Technical Details
$ awk '{print int($1/86400)}' /proc/uptime
4
Uname
Check passed
Technical Details
$ uname -a
Linux lima-default 6.15.9-101.fc41.aarch64 #1 SMP PREEMPT_DYNAMIC Sat Aug 2 18:22:09 UTC 2025 aarch64 GNU/Linux
Auto Login
Check not applicable
Technical Details
$ cat /etc/gdm3/custom.conf
$ cat /etc/lightdm/lightdm.conf
Automatic Updates
Check not applicable
Technical Details
$ dpkg -l unattended-upgrades 2>/dev/null | grep '^ii'
$ cat /etc/apt/apt.conf.d/20auto-upgrades
$ systemctl is-enabled yum-cron 2>/dev/null
not-found
$ systemctl is-enabled dnf-automatic.timer 2>/dev/null
not-found
Available Updates
Check not applicable
Technical Details
$ apt list --upgradable 2>/dev/null | grep -E 'glibc|kernel|xml|ssh|sudo|doas|systemd|pam|auth'
$ yum check-update | grep -E 'glibc|kernel|xml|ssh|sudo|doas|systemd|pam|auth'
Updating and loading repositories: Repositories loaded.
$ zypper list-updates | grep -E 'glibc|kernel|xml|ssh|sudo|doas|systemd|pam|auth'
sh: line 1: zypper: command not found
Firewall
Check not applicable
Technical Details
$ ufw status
Skipped: ufw not found
$ firewall-cmd --state
Skipped: firewall-cmd not found
$ iptables -L -n
Fatal: can't open lock file /run/xtables.lock: Permission denied
Screen Lock Password
Check not applicable
Technical Details
$ pgrep gnome-shell >/dev/null && gsettings get org.gnome.desktop.screensaver lock-enabled
$ pgrep mate-session >/dev/null && gsettings get org.mate.screensaver lock-enabled
$ pgrep xfce4-session >/dev/null && xfconf-query -c xfce4-screensaver -p /saver/enabled
$ pgrep xfce4-session >/dev/null && xfconf-query -c xfce4-screensaver -p /lock/enabled
$ pgrep plasmashell >/dev/null && kreadconfig5 --file kscreenlockerrc --group Daemon --key Autolock
$ pgrep cinnamon >/dev/null && gsettings get org.cinnamon.desktop.screensaver lock-enabled
$ pgrep budgie-panel >/dev/null && gsettings get org.gnome.desktop.screensaver lock-enabled
$ pgrep lxqt-session >/dev/null && grep "lockScreenCommand" ~/.config/lxqt/session.conf 2>/dev/null
$ pgrep lxsession >/dev/null && pgrep -l "light-locker|xscreensaver|xautolock|i3lock|slock|xlock"
$ pgrep i3 >/dev/null && pgrep -l "xautolock|xss-lock|xidlehook"
$ pgrep openbox >/dev/null && pgrep -l "xautolock|xss-lock|light-locker"
$ pgrep sway >/dev/null && grep "exec swayidle" ~/.config/sway/config 2>/dev/null
$ pgrep Xorg >/dev/null && ! (pgrep gnome-shell >/dev/null || pgrep mate-session >/dev/null || pgrep xfce4-session >/dev/null || pgrep plasmashell >/dev/null || pgrep cinnamon >/dev/null || pgrep budgie-panel >/dev/null || pgrep lxqt-session >/dev/null || pgrep lxsession >/dev/null || pgrep i3 >/dev/null || pgrep openbox >/dev/null || pgrep sway >/dev/null) && xset q
Screensaver Timeout
Check not applicable
Technical Details
$ pgrep gnome-shell >/dev/null && gsettings get org.gnome.desktop.session idle-delay
$ pgrep mate-session >/dev/null && gsettings get org.mate.session idle-delay
$ pgrep xfce4-session >/dev/null && xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/dpms-on-ac-sleep
$ pgrep xfce4-session >/dev/null && xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/dpms-on-battery-sleep
$ pgrep plasmashell >/dev/null && kreadconfig5 --file kscreenlockerrc --group Daemon --key Timeout
$ pgrep cinnamon >/dev/null && gsettings get org.cinnamon.desktop.screensaver lock-delay
$ pgrep budgie-panel >/dev/null && gsettings get org.gnome.desktop.session idle-delay
$ pgrep lxqt-session >/dev/null && grep "timeBeforeIdleMs" ~/.config/lxqt/lxqt-config-powermanagement.conf 2>/dev/null
$ pgrep lxsession >/dev/null && pgrep -fl "xautolock.*-time"
$ pgrep sway >/dev/null && grep "timeout" ~/.config/sway/config 2>/dev/null
$ pgrep i3 >/dev/null && pgrep -fl "xautolock.*-time"
$ pgrep openbox >/dev/null && pgrep -fl "xautolock.*-time"
$ pgrep Xorg >/dev/null && ! (pgrep gnome-shell >/dev/null || pgrep mate-session >/dev/null || pgrep xfce4-session >/dev/null || pgrep plasmashell >/dev/null || pgrep cinnamon >/dev/null || pgrep budgie-panel >/dev/null || pgrep lxqt-session >/dev/null || pgrep lxsession >/dev/null || pgrep i3 >/dev/null || pgrep openbox >/dev/null || pgrep sway >/dev/null) && xset q
Powered by gitMDM