--- title: About the kernel_parameter Resource --- # kernel_parameter Use the `kernel_parameter` InSpec audit resource to test kernel parameters on Linux platforms. # Syntax A `kernel_parameter` resource block declares a parameter and then a value to be tested: describe kernel_parameter('path.to.parameter') do its('value') { should eq 0 } end where * `'kernel.parameter'` must specify a kernel parameter, such as `'net.ipv4.conf.all.forwarding'` * `{ should eq 0 }` states the value to be tested # Matchers This InSpec audit resource has the following matchers: ## be <%= partial "/shared/matcher_be" %> ## cmp <%= partial "/shared/matcher_cmp" %> ## eq <%= partial "/shared/matcher_eq" %> ## include <%= partial "/shared/matcher_include" %> ## match <%= partial "/shared/matcher_match" %> ## value The `value` matcher tests the value assigned to the named IP address versus the value declared in the test: its('value') { should eq 0 } # Examples The following examples show how to use this InSpec audit resource. ## Test if global forwarding is enabled for an IPv4 address describe kernel_parameter('net.ipv4.conf.all.forwarding') do its('value') { should eq 1 } end ## Test if global forwarding is disabled for an IPv6 address describe kernel_parameter('net.ipv6.conf.all.forwarding') do its('value') { should eq 0 } end ## Test if an IPv6 address accepts redirects describe kernel_parameter('net.ipv6.conf.interface.accept_redirects') do its('value') { should eq 'true' } end