<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Additional Security Options on Flatcar Container Linux</title>
    <link>/docs/latest/setup/security/</link>
    <description>Recent content in Additional Security Options on Flatcar Container Linux</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>Copyright © The Flatcar Project Contributors.

Copyright © Flatcar a Series of LF Projects, LLC.

For website terms of use, trademark policy and other project policies please see &lt;a href=&#34;https://lfprojects.org/policies/&#34;&gt;lfprojects.org/policies&lt;/a&gt;.
</copyright>
    <atom:link href="/docs/latest/setup/security/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Configuring SSSD on Flatcar Container Linux</title>
      <link>/docs/latest/setup/security/sssd/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/sssd/</guid>
      <description>&lt;p&gt;Flatcar Container Linux ships with the System Security Services Daemon, allowing integration between Flatcar Container Linux and enterprise authentication services.&lt;/p&gt;&#xA;&lt;h2 id=&#34;configuring-sssd&#34;&gt;Configuring SSSD&lt;/h2&gt;&#xA;&lt;p&gt;Edit /etc/sssd/sssd.conf. This configuration file is fully documented &#xA;&#xA;&#xA;&lt;a href=&#34;https://jhrozek.fedorapeople.org/sssd/1.13.1/man/sssd.conf.5.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;here&lt;/a&gt;&#xA;. For example, to configure SSSD to use an IPA server called ipa.example.com, sssd.conf should read:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;[sssd]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;config_file_version = &lt;span style=&#34;color:#a31515&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;services = &lt;span style=&#34;color:#a31515&#34;&gt;nss, pam&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;domains = &lt;span style=&#34;color:#a31515&#34;&gt;LDAP&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;[nss]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;[pam]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;[domain/LDAP]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;id_provider = &lt;span style=&#34;color:#a31515&#34;&gt;ldap&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;auth_provider = &lt;span style=&#34;color:#a31515&#34;&gt;ldap&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ldap_schema = &lt;span style=&#34;color:#a31515&#34;&gt;ipa&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ldap_uri = &lt;span style=&#34;color:#a31515&#34;&gt;ldap://ipa.example.com&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;start-sssd&#34;&gt;Start SSSD&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl start sssd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;make-sssd-available-on-future-reboots&#34;&gt;Make SSSD available on future reboots&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl enable sssd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Customizing the SSH daemon</title>
      <link>/docs/latest/setup/security/customizing-sshd/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/customizing-sshd/</guid>
      <description>&lt;p&gt;Flatcar Container Linux defaults to running an OpenSSH daemon using &lt;code&gt;systemd&lt;/code&gt; socket activation &amp;ndash; when a client connects to the port configured for SSH, &lt;code&gt;sshd&lt;/code&gt; is started on the fly for that client using a &lt;code&gt;systemd&lt;/code&gt; unit derived automatically from a template. In some cases you may want to customize this daemon&amp;rsquo;s authentication methods or other configuration. This guide will show you how to do that at boot time using a &#xA;&#xA;&#xA;&lt;a href=&#34;/docs/latest/provisioning/config-transpiler/&#34;&gt;Butane Config&lt;/a&gt;&#xA;, and after building by modifying the &lt;code&gt;systemd&lt;/code&gt; unit file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SELinux on Flatcar Container Linux</title>
      <link>/docs/latest/setup/security/selinux/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/selinux/</guid>
      <description>&lt;p&gt;SELinux is a fine-grained access control mechanism integrated into Flatcar Container Linux and rkt. Each container runs in its own independent SELinux context, increasing isolation between containers and providing another layer of protection should a container be compromised.&lt;/p&gt;&#xA;&lt;p&gt;Flatcar Container Linux implements SELinux, but currently does not enforce SELinux protections by default. This allows deployers to verify container operation before enabling SELinux enforcement. This document covers the process of checking containers for SELinux policy compatibility, and switching SELinux into &lt;code&gt;enforcing&lt;/code&gt; mode.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up LUKS disk encryption</title>
      <link>/docs/latest/setup/security/luks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/luks/</guid>
      <description>&lt;p&gt;Depending on where you run Flatcar Container Linux you might want to protect the data on disk against attackers that could pull out a hard disk or get access to a snapshot copy of it.&#xA;Like a laptop, a server can use disk encryption to protect the contents. However, since there is no-one to type the password for unlocking, the unlocking has to happen automatically. It&amp;rsquo;s hard to do this in a secure way that also protects against attackers with prolonged physical access to the system or similar modification capabilities.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flatcar Container Linux FIPS guide</title>
      <link>/docs/latest/setup/security/fips/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/fips/</guid>
      <description>&lt;p&gt;FIPS stands for Federal Information Processing Standards, a set of standards issued by the National Institute of Standards and Technology (NIST). While Flatcar is not officially FIPS certified, it is possible to deploy it so that it is compliant with two of these standards:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&#xA;&#xA;&lt;a href=&#34;https://csrc.nist.gov/publications/detail/fips/200/final&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;FIPS 200&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&#xA;&#xA;&lt;a href=&#34;https://csrc.nist.gov/publications/detail/fips/140/2/final&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;FIPS 140-2&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;enabling-fips&#34;&gt;Enabling FIPS&lt;/h1&gt;&#xA;&lt;p&gt;Booting the instance with the kernel parameter &lt;code&gt;fips=1&lt;/code&gt; allows the instance to operate in a FIPS 200 mode. This means the kernel will use FIPS-compliant algorithms and will enforce some security practices like RSA key &#xA;&#xA;&#xA;&lt;a href=&#34;https://github.com/torvalds/linux/blob/941e3e7912696b9fbe3586083a7c2e102cee7a87/crypto/rsa_helper.c#L33-L37&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;size&lt;/a&gt;&#xA;. It&amp;rsquo;s also recommended to create the empty file &lt;code&gt;/etc/system-fips&lt;/code&gt; for other software (like cryptsetup).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flatcar Container Linux hardening guide</title>
      <link>/docs/latest/setup/security/hardening-guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/hardening-guide/</guid>
      <description>&lt;p&gt;This guide covers the basics of securing a Flatcar Container Linux instance. Flatcar Container Linux has a very slim network profile and the only service that listens by default on Flatcar Container Linux is sshd on port 22 on all interfaces. There are also some defaults for local users and services that should be considered.&lt;/p&gt;&#xA;&lt;h2 id=&#34;remote-listening-services&#34;&gt;Remote listening services&lt;/h2&gt;&#xA;&lt;h3 id=&#34;disabling-sshd&#34;&gt;Disabling sshd&lt;/h3&gt;&#xA;&lt;p&gt;To disable sshd from listening you can stop the socket:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up the Linux Auditing System</title>
      <link>/docs/latest/setup/security/audit/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/audit/</guid>
      <description>&lt;p&gt;On Flatcar Container Linux &lt;code&gt;audit-rules.service&lt;/code&gt; loads the audit rules to set up the logging filters for the kernel messages.&#xA;The &lt;code&gt;auditd.service&lt;/code&gt; daemon to collect these logs does not run by default.&lt;/p&gt;&#xA;&lt;h1 id=&#34;enabling-the-standard-rules-or-custom-rules&#34;&gt;Enabling the standard rules or custom rules&lt;/h1&gt;&#xA;&lt;p&gt;There is an ignore rule by default that suppresses the standard rules, which means that certain PAM audit messages are not shown.&#xA;It is also important to remove this default ignore rule when setting up own rules, or otherwise they will be ignored, too.&#xA;The following Butane Config will overwrite the default ignore rule:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trusted Computing requirements on Flatcar Container Linux</title>
      <link>/docs/latest/setup/security/trusted-computing-hardware-requirements/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/trusted-computing-hardware-requirements/</guid>
      <description>&lt;p&gt;Trusted Computing requires support in both system hardware and firmware. This document specifies the required support and explains how to determine if a physical machine has the features needed to enable Trusted Computing in Flatcar Container Linux.&lt;/p&gt;&#xA;&lt;h2 id=&#34;1-check-for-trusted-platform-module&#34;&gt;1. Check for Trusted Platform Module&lt;/h2&gt;&#xA;&lt;p&gt;Trusted Computing depends on the presence of a Trusted Platform Module (TPM). The TPM is a motherboard component responsible for storing the state of the system boot process, and providing a secure communication channel over which this state can be verified. To check for the presence of a TPM, install the latest Alpha version of Flatcar Container Linux and try to list the TPM device file in the &lt;code&gt;/sys&lt;/code&gt; system control filesystem:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Custom certificate authorities</title>
      <link>/docs/latest/setup/security/adding-certificate-authorities/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/adding-certificate-authorities/</guid>
      <description>&lt;p&gt;Flatcar Container Linux supports custom Certificate Authorities (CAs) in addition to the default list of trusted CAs. Adding your own CA allows you to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use a corporate wildcard certificate&lt;/li&gt;&#xA;&lt;li&gt;Use your own CA to communicate with an installation of CoreUpdate&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The setup process for any of these use-cases is the same:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Copy the PEM-encoded certificate authority file (usually with a &lt;code&gt;.pem&lt;/code&gt; file name extension) to &lt;code&gt;/etc/ssl/certs&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Run the &lt;code&gt;update-ca-certificates&lt;/code&gt; script to update the system bundle of Certificate Authorities. All programs running on the system will now trust the added CA.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Generate self-signed certificates</title>
      <link>/docs/latest/setup/security/generate-self-signed-certificates/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/generate-self-signed-certificates/</guid>
      <description>&lt;p&gt;If you build Flatcar Container Linux cluster on top of public networks it is recommended to enable encryption for Flatcar Container Linux services to prevent traffic interception and man-in-the-middle attacks. For these purposes you have to use Certificate Authority (CA), private keys and certificates signed by CA. Let&amp;rsquo;s use &#xA;&#xA;&#xA;&lt;a href=&#34;https://github.com/cloudflare/cfssl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;cfssl&lt;/a&gt;&#xA; and walk through the whole process to create all these components.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; We will use basic procedure here. If your configuration requires advanced security options, please refer to official &#xA;&#xA;&#xA;&lt;a href=&#34;https://github.com/cloudflare/cfssl&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;cfssl&lt;/a&gt;&#xA; documentation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disabling SMT on Flatcar Container Linux</title>
      <link>/docs/latest/setup/security/disabling-smt/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/docs/latest/setup/security/disabling-smt/</guid>
      <description>&lt;p&gt;Recent Intel CPU vulnerabilities (&#xA;&#xA;&#xA;&lt;a href=&#34;https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;L1TF&lt;/a&gt;&#xA; and &#xA;&#xA;&#xA;&lt;a href=&#34;https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;MDS&lt;/a&gt;&#xA;) cannot be fully mitigated in software without disabling Simultaneous Multi-Threading. This can have a substantial performance impact and is only necessary for certain workloads, so for compatibility reasons, SMT is enabled by default.&lt;/p&gt;&#xA;&lt;p&gt;In addition, the Intel &#xA;&#xA;&#xA;&lt;a href=&#34;https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TAA&lt;/a&gt;&#xA; vulnerability cannot be fully mitigated without disabling either of SMT or the Transactional Synchronization Extensions (TSX). Disabling TSX generally has less performance impact, so is the preferred approach on systems that don&amp;rsquo;t otherwise need to disable SMT. For compatibility reasons, TSX is enabled by default.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
