Skip to content

Guide to the Secure Configuration of Fedora

Rules, Groups, and Values defined within the XCCDF Benchmark

  • Configure TLS for rsyslog remote logging

    Configure <code>rsyslog</code> to use Transport Layer Security (TLS) support for logging to remote server for the Forwarding Output Module in <code...
    Rule Medium Severity
  • Configure CA certificate for rsyslog remote logging

    Configure CA certificate for <code>rsyslog</code> logging to remote server using Transport Layer Security (TLS) using correct path for the <code>De...
    Rule Medium Severity
  • Network Configuration and Firewalls

    Most systems must be connected to a network of some sort, and this brings with it the substantial risk of network attack. This section discusses th...
    Group
  • Disable Zeroconf Networking

    Zeroconf networking allows the system to assign itself an IP address and engage in IP communication without a statically-assigned address or even a...
    Rule Unknown Severity
  • Prevent non-Privileged Users from Modifying Network Interfaces using nmcli

    By default, non-privileged users are given permissions to modify networking interfaces and configurations using the <code>nmcli</code> command. Non...
    Rule Medium Severity
  • boinc_execmem SELinux Boolean

    default - Default SELinux boolean setting.
    on - SELinux boolean is enabled.
    off - SELinux boolean is disabled.
    Value
  • Install iptables Package

    The iptables package can be installed with the following command:
    $ sudo dnf install iptables
    Rule Medium Severity
  • Manually Assign Global IPv6 Address

    To manually assign an IP address for an interface, edit the file <code>/etc/sysconfig/network-scripts/ifcfg-<i>interface</i></code>. Add or correct...
    Rule Unknown Severity
  • firewalld

    The dynamic firewall daemon <code>firewalld</code> provides a dynamically managed firewall with support for network “zones” to assign a level of tr...
    Group
  • Inspect and Activate Default firewalld Rules

    Firewalls can be used to separate networks into different zones based on the level of trust the user has decided to place on the devices and traffi...
    Group
  • Install firewalld Package

    The firewalld package can be installed with the following command:
    $ sudo dnf install firewalld
    Rule Medium Severity
  • Verify firewalld Enabled

    The firewalld service can be enabled with the following command:
    $ sudo systemctl enable firewalld.service
    Rule Medium Severity
  • Strengthen the Default Ruleset

    The default rules can be strengthened. The system scripts that activate the firewall rules expect them to be defined in configuration files under t...
    Group
  • Set Default firewalld Zone for Incoming Packets

    To set the default zone to <code>drop</code> for the built-in default zone which processes incoming IPv4 and IPv6 packets, modify the following lin...
    Rule Medium Severity
  • IPSec Support

    Support for Internet Protocol Security (IPsec) is provided with Libreswan.
    Group
  • Install libreswan Package

    The libreswan package provides an implementation of IPsec and IKE, which permits the creation of secure tunnels over untrusted networks. The <code>...
    Rule Medium Severity
  • Verify Any Configured IPSec Tunnel Connections

    Libreswan provides an implementation of IPsec and IKE, which permits the creation of secure tunnels over untrusted networks. As such, IPsec can be ...
    Rule Medium Severity
  • iptables and ip6tables

    A host-based firewall called <code>netfilter</code> is included as part of the Linux kernel distributed with the system. It is activated by default...
    Group
  • httpd_anon_write SELinux Boolean

    default - Default SELinux boolean setting.
    on - SELinux boolean is enabled.
    off - SELinux boolean is disabled.
    Value
  • Disable IPv6 Addressing on IPv6 Interfaces by Default

    To disable support for (<code>ipv6</code>) addressing on interfaces by default add the following line to <code>/etc/sysctl.d/ipv6.conf</code> (or a...
    Rule Medium Severity
  • Configure IPv6 Settings if Necessary

    A major feature of IPv6 is the extent to which systems implementing it can automatically configure their networking devices using information from ...
    Group
  • Inspect and Activate Default Rules

    View the currently-enforced <code>iptables</code> rules by running the command: <pre>$ sudo iptables -nL --line-numbers</pre> The command is analog...
    Group
  • Verify ip6tables Enabled if Using IPv6

    The ip6tables service can be enabled with the following command:
    $ sudo systemctl enable ip6tables.service
    Rule Medium Severity
  • Verify iptables Enabled

    The iptables service can be enabled with the following command:
    $ sudo systemctl enable iptables.service
    Rule Medium Severity
  • Set Default ip6tables Policy for Incoming Packets

    To set the default policy to DROP (instead of ACCEPT) for the built-in INPUT chain which processes incoming packets, add or correct the following l...
    Rule Medium Severity
  • Strengthen the Default Ruleset

    The default rules can be strengthened. The system scripts that activate the firewall rules expect them to be defined in the configuration files <co...
    Group
  • Set Default iptables Policy for Incoming Packets

    To set the default policy to DROP (instead of ACCEPT) for the built-in INPUT chain which processes incoming packets, add or correct the following l...
    Rule Medium Severity
  • Set Default iptables Policy for Forwarded Packets

    To set the default policy to DROP (instead of ACCEPT) for the built-in FORWARD chain which processes packets that will be forwarded from one interf...
    Rule Medium Severity
  • IPV6_AUTOCONF

    Toggle global IPv6 auto-configuration (only, if global forwarding is disabled)
    Value
  • net.ipv6.conf.all.accept_ra_defrtr

    Accept default router in router advertisements?
    Value
  • Configure Accepting Default Router in Router Advertisements on All IPv6 Interfaces By Default

    To set the runtime status of the <code>net.ipv6.conf.default.accept_ra_defrtr</code> kernel parameter, run the following command: <pre>$ sudo sysct...
    Rule Unknown Severity
  • Restrict ICMP Message Types

    In <code>/etc/sysconfig/iptables</code>, the accepted ICMP messages types can be restricted. To accept only ICMP echo reply, destination unreachabl...
    Group
  • Log and Drop Packets with Suspicious Source Addresses

    Packets with non-routable source addresses should be rejected, as they may indicate spoofing. Because the modified policy will reject non-matching ...
    Group
  • IPv6

    The system includes support for Internet Protocol version 6. A major and often-mentioned improvement over IPv4 is its enormous increase in the numb...
    Group
  • Disable Support for IPv6 Unless Needed

    Despite configuration that suggests support for IPv6 has been disabled, link-local IPv6 address auto-configuration occurs even when only an IPv4 ad...
    Group
  • Ensure IPv6 is disabled through kernel boot parameter

    To disable IPv6 protocol support in the Linux kernel, add the argument <code>ipv6.disable=1</code> to the default GRUB2 command line for the Linux ...
    Rule Low Severity
  • Disable IPv6 Networking Support Automatic Loading

    To prevent the IPv6 kernel module (<code>ipv6</code>) from binding to the IPv6 networking stack, add the following line to <code>/etc/modprobe.d/di...
    Rule Medium Severity
  • Disable Interface Usage of IPv6

    To disable interface usage of IPv6, add or correct the following lines in <code>/etc/sysconfig/network</code>: <pre>NETWORKING_IPV6=no IPV6INIT=no<...
    Rule Unknown Severity
  • Disable Support for RPC IPv6

    RPC services for NFSv4 try to load transport modules for <code>udp6</code> and <code>tcp6</code> by default, even if IPv6 has been disabled in <cod...
    Rule Unknown Severity
  • Disable IPv6 Addressing on All IPv6 Interfaces

    To disable support for (<code>ipv6</code>) addressing on all interface add the following line to <code>/etc/sysctl.d/ipv6.conf</code> (or another f...
    Rule Medium Severity
  • net.ipv6.conf.all.accept_ra_pinfo

    Accept prefix information in router advertisements?
    Value
  • net.ipv6.conf.all.accept_ra_rtr_pref

    Accept router preference in router advertisements?
    Value
  • Configure Accepting Default Router in Router Advertisements on All IPv6 Interfaces

    To set the runtime status of the <code>net.ipv6.conf.all.accept_ra_defrtr</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w...
    Rule Unknown Severity
  • Configure Accepting Prefix Information in Router Advertisements on All IPv6 Interfaces

    To set the runtime status of the <code>net.ipv6.conf.all.accept_ra_pinfo</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w ...
    Rule Unknown Severity
  • Configure Accepting Router Preference in Router Advertisements on All IPv6 Interfaces

    To set the runtime status of the <code>net.ipv6.conf.all.accept_ra_rtr_pref</code> kernel parameter, run the following command: <pre>$ sudo sysctl ...
    Rule Unknown Severity
  • Disable Accepting ICMP Redirects for All IPv6 Interfaces

    To set the runtime status of the <code>net.ipv6.conf.all.accept_redirects</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w...
    Rule Medium Severity
  • Disable Kernel Parameter for Accepting Source-Routed Packets on all IPv6 Interfaces

    To set the runtime status of the <code>net.ipv6.conf.all.accept_source_route</code> kernel parameter, run the following command: <pre>$ sudo sysctl...
    Rule Medium Severity
  • Configure Auto Configuration on All IPv6 Interfaces

    To set the runtime status of the <code>net.ipv6.conf.all.autoconf</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w net.ipv...
    Rule Unknown Severity
  • Disable Kernel Parameter for IPv6 Forwarding

    To set the runtime status of the <code>net.ipv6.conf.all.forwarding</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w net.i...
    Rule Medium Severity
  • Configure Maximum Number of Autoconfigured Addresses on All IPv6 Interfaces

    To set the runtime status of the <code>net.ipv6.conf.all.max_addresses</code> kernel parameter, run the following command: <pre>$ sudo sysctl -w ne...
    Rule Unknown Severity

The content of the drawer really is up to you. It could have form fields, definition lists, text lists, labels, charts, progress bars, etc. Spacing recommendation is 24px margins. You can put tabs in here, and can also make the drawer scrollable.

Capacity
Modules