5.13 Ensure the IP Addresses for Listening for Requests Are Specified - 'httpd.conf Listen 0.0.0.0:80 does not exists'

Information

The Apache 'Listen' directive specifies the IP addresses and port numbers the Apache web server will listen on for requests. Rather than be unrestricted to listen on all IP addresses available to the system, the specific IP address or addresses intended should be explicitly specified. Specifically, a 'Listen' directive with no IP address specified or with an IP address of all zeroes should not be used.

Rationale:

Having multiple interfaces on web servers is fairly common, and without explicit 'Listen' directives, the web server is likely to be listening on an IP address or interface that was not intended for the web server. Single-homed systems with a single IP address are also required to have an explicit IP address in the 'Listen' directive, in case additional interfaces are added to the system at a later date.

Solution

Perform the following to implement the recommended state:

1. Find any 'Listen' directives in the Apache configuration file with no IP address specified or with an IP address of all zeroes similar to the examples below. Keep in mind there may be both IPv4 and IPv6 addresses on the system.

Listen 80
Listen 0.0.0.0:80
Listen [::ffff:0.0.0.0]:80

2. Modify the 'Listen' directives in the Apache configuration file to have explicit IP addresses according to the intended usage. Multiple 'Listen' directives may be specified for each IP address and port.

Listen 10.1.2.3:80
Listen 192.168.4.5:80
Listen [2001:db8::a00:20ff:fea7:ccea]:80

See Also

https://workbench.cisecurity.org/files/2020

Item Details

Category: CONFIGURATION MANAGEMENT

References: 800-53|CM-6, CSCv6|9.1

Plugin: Unix

Control ID: 3641660919371b246e4cd71fbdedb59bbbcc3d89b81984a38fdb9bab8d477b75