Hedgehog Linux uses the harbian-audit benchmarks which target the following guidelines for establishing a secure configuration posture:
Hedgehog Linux claims exceptions from the recommendations in this benchmark in the following categories:
1.1 Install Updates, Patches and Additional Security Software - When the the Malcolm aggregator appliance software is built, all of the latest applicable security patches and updates are included in it. How future updates are to be handled is still in design.
1.3 Enable verify the signature of local packages - As the base distribution is not using embedded signatures,
debsig-verify would reject all packages (see comment in
/etc/dpkg/dpkg.cfg). Enabling it after installation would disallow any future updates.
2.14 Add nodev option to /run/shm Partition, 2.15 Add nosuid Option to /run/shm Partition, 2.16 Add noexec Option to /run/shm Partition - Hedgehog Linux does not mount
/run/shm as a separate partition, so these recommendations do not apply.
2.19 Disable Mounting of freevxfs Filesystems, 2.20 Disable Mounting of jffs2 Filesystems, 2.21 Disable Mounting of hfs Filesystems, 2.22 Disable Mounting of hfsplus Filesystems, 2.23 Disable Mounting of squashfs Filesystems, 2.24 Disable Mounting of udf Filesystems - Hedgehog Linux is not compiling a custom Linux kernel, so these filesystems are inherently supported as they are part Debian Linux’s default kernel.
3.3 Set Boot Loader Password - As maximizing availability is a system requirement, Malcolm should restart automatically without user intervention to ensured uninterrupted service. A boot loader password is not enabled.
4.8 Disable USB Devices - The ability to ingest data (such as PCAP files) from a mounted USB mass storage device is a requirement of the system.
6.1 Ensure the X Window system is not installed, 6.2 Ensure Avahi Server is not enabled, 6.3 Ensure print server is not enabled - An X Windows session is provided for displaying dashboards. The library packages
libcups2 are dependencies of some of the X components used by Hedgehog Linux, but the
cups services themselves are disabled.
6.17 Ensure virus scan Server is enabled, 6.18 Ensure virus scan Server update is enabled - As this is a network traffic analysis appliance rather than an end-user device, regular user files will not be created. A virus scan program would impact device performance and would be unnecessary.
7.1.1 Disable IP Forwarding, 7.2.4 Log Suspicious Packets, 7.2.7 Enable RFC-recommended Source Route Validation, 7.4.1 Install TCP Wrappers - As Malcolm may operate as a network traffic capture appliance sniffing packets on a network interface configured in promiscuous mode, these recommendations do not apply.
184.108.40.206 Disable System on Audit Log Full, 220.127.116.11 Keep All Auditing Information, 18.104.22.168 Ensure set remote_server for audit service, 22.214.171.124 Ensure enable_krb5 set to yes for remote audit service, 126.96.36.199 Ensure set action for audit storage volume is fulled, 188.8.131.52 Ensure set action for network failure on remote audit service, 184.108.40.206 Set space left for auditd service, a few other audit-related items under section 8.1, 8.2.4 Configure rsyslog to Send Logs to a Remote Log Host - As maximizing availability is a system requirement, audit processing failures will be logged on the device rather than halting the system.
auditd is set up to syslog when its local storage capacity is reached.
8.4.2 Implement Periodic Execution of File Integrity - This functionality is not configured by default, but it can be configured post-install by the end user.
Password-related recommendations under 9.2 and 10.1 - The library package
libpam-pwquality is used in favor of
libpam-cracklib which is what the compliance scripts are looking for. Also, as an appliance running Malcolm is intended to be used as an appliance rather than a general user-facing software platform, some exceptions to password enforcement policies are claimed.
9.3.13 Limit Access via SSH - Hedgehog Linux does not create multiple regular user accounts: only
root and a sensor service account are used. SSH access for
root is disabled. SSH login with a password is also disallowed: only key-based authentication is accepted. The service account accepts no keys by default. As such, the
DenyGroups values in
sshd_config do not apply.
9.4 Restrict Access to the su Command - Hedgehog Linux does not create multiple regular user accounts: only
root and a sensor service account are used.
10.1.6 Remove nopasswd option from the sudoers configuration - A very limited set of operations (a single script used to run the AIDE integrity check as a non-root user) has the NOPASSWD option set to allow it to be run in the background without user intervention.
10.1.10 Set maxlogins for all accounts and 10.5 Set Timeout on ttys - Hedgehog Linux does not create multiple regular user accounts: only
root and a sensor service account are used.
14.1 Defense for NAT Slipstreaming - As Malcolm may operate as a network traffic capture appliance sniffing packets on a network interface configured in promiscuous mode, this recommendation does not apply.
Please review the notes for these additional guidelines. While not claiming an exception, Hedgehog Linux may implement them in a manner different than is described by the CIS Debian Linux 9/10 Benchmark or the hardenedlinux/harbian-audit audit scripts.
4.1 Restrict Core Dumps - Hedgehog Linux disables core dumps using a configuration file for
/etc/security/limits.d/limits.conf. The audit script checking for this does not check the
limits.d subdirectory, which is why this is incorrectly flagged as noncompliant.
5.4 Ensure ctrl-alt-del is disabled - Hedgehog Linux disables the
ctrl+alt+delete key sequence by executing
systemctl disable ctrl-alt-del.target during installation and the command
systemctl mask ctrl-alt-del.target at boot time.
7.4.4 Create /etc/hosts.deny, 7.7.1 Ensure Firewall is active, 220.127.116.11 Ensure default deny firewall policy, 18.104.22.168 Ensure loopback traffic is configured, 22.214.171.124 Ensure default deny firewall policy, 126.96.36.199 Ensure outbound and established connections are configured - Hedgehog Linux is configured with an appropriately locked-down software firewall (managed by “Uncomplicated Firewall”
ufw). However, the methods outlined in the CIS benchmark recommendations do not account for this configuration.
8.6 Verifies integrity all packages - The script which verifies package integrity only “fails” because of missing (status
??5?????? displayed by the utility) language (“locale”) files, which are removed as part of Hedgehog Linux’s trimming-down process. All non-locale-related system files pass intergrity checks.