Guide to the Secure Configuration of Red Hat Enterprise Linux 7
Rules, Groups, and Values defined within the XCCDF Benchmark
-
Disable Print Server Capabilities
To prevent remote users from potentially connecting to and using locally configured printers, disable the CUPS print server sharing capabilities. To do so, limit how the server will listen for prin...Rule Unknown Severity -
Proxy Server
A proxy server is a very desirable target for a potential adversary because much (or all) sensitive data for a given infrastructure may flow through it. Therefore, if one is required, the system ac...Group -
Disable Squid if Possible
If Squid was installed and activated, but the system does not need to act as a proxy server, then it should be disabled and removed.Group -
Uninstall squid Package
Thesquid
package can be removed with the following command:$ sudo yum erase squid
Rule Unknown Severity -
Disable Squid
Thesquid
service can be disabled with the following command:$ sudo systemctl mask --now squid.service
Rule Unknown Severity -
Remote Authentication Dial-In User Service (RADIUS)
Remote Authentication Dial-In User Service (RADIUS) is a networking protocol, operating on port 1812 that provides centralized Authentication, Authorization, and Accounting (AAA or Triple A) manage...Group -
Remove the FreeRadius Server Package
The <code>freeradius</code> package should be removed if not in use. Is this system a RADIUS server? If not, remove the package. The <code>freeradius</code> package can be removed with the followin...Rule Low Severity -
Hardware RNG Entropy Gatherer Daemon
The rngd feeds random data from hardware device to kernel random device.Group -
Network Routing
A router is a very desirable target for a potential adversary because they fulfill a variety of infrastructure networking roles such as access to network segments, gateways to other networks, filt...Group -
Disable Quagga if Possible
If Quagga was installed and activated, but the system does not need to act as a router, then it should be disabled and removed.Group -
Uninstall quagga Package
Thequagga
package can be removed with the following command:$ sudo yum erase quagga
Rule Low Severity -
Disable Quagga Service
Thezebra
service can be disabled with the following command:$ sudo systemctl mask --now zebra.service
Rule Medium Severity -
Samba(SMB) Microsoft Windows File Sharing Server
When properly configured, the Samba service allows Linux systems to provide file and print sharing to Microsoft Windows systems. There are two software packages that provide Samba support. The firs...Group -
Configure Samba if Necessary
All settings for the Samba daemon can be found in <code>/etc/samba/smb.conf</code>. Settings are divided between a <code>[global]</code> configuration section and a series of user created share def...Group -
Require Client SMB Packet Signing, if using mount.cifs
Require packet signing of clients who mount Samba shares using the <code>mount.cifs</code> program (e.g., those who specify shares in <code>/etc/fstab</code>). To do so, ensure signing options (eit...Rule Unknown Severity -
Require Client SMB Packet Signing, if using smbclient
To require samba clients running <code>smbclient</code> to use packet signing, add the following to the <code>[global]</code> section of the Samba configuration file, <code>/etc/samba/smb.conf</cod...Rule Unknown Severity -
Disable Root Access to SMB Shares
Administrators should not use administrator accounts to access Samba file and printer shares. Disable the root user and the wheel administrator group: <pre>[<i>share</i>] invalid users = root @wh...Rule Unknown Severity -
Restrict Printer Sharing
By default, Samba utilizes the CUPS printing service to enable printer sharing with Microsoft Windows workstations. If there are no printers on the local system, or if printer sharing with Microsof...Group -
Restrict SMB File Sharing to Configured Networks
Only users with local user accounts will be able to log in to Samba shares by default. Shares can be limited to particular users or network addresses. Use the <code>hosts allow</code> and <code>hos...Group -
Disable Samba if Possible
Even after the Samba server package has been installed, it will remain disabled. Do not enable this service unless it is absolutely necessary to provide Microsoft Windows file and print sharing fun...Group -
Uninstall Samba Package
Thesamba
package can be removed with the following command:$ sudo yum erase samba
Rule Unknown Severity -
Disable Samba
Thesmb
service can be disabled with the following command:$ sudo systemctl mask --now smb.service
Rule Low Severity -
SNMP Server
The Simple Network Management Protocol allows administrators to monitor the state of network devices, including computers. Older versions of SNMP were well-known for weak security, such as plaintex...Group -
Disable SNMP Server if Possible
The system includes an SNMP daemon that allows for its remote monitoring, though it not installed by default. If it was installed and activated but is not needed, the software should be disabled an...Group -
Uninstall net-snmp Package
Thenet-snmp
package provides the snmpd service. Thenet-snmp
package can be removed with the following command:$ sudo yum erase net-snmp
Rule Unknown Severity -
Disable snmpd Service
Thesnmpd
service can be disabled with the following command:$ sudo systemctl mask --now snmpd.service
Rule Low Severity -
Configure SNMP Server if Necessary
If it is necessary to run the snmpd agent on the system, some best practices should be followed to minimize the security risk from the installation. The multiple security models implemented by SNMP...Group -
SNMP read-only community string
Specify the SNMP community string used for read-only access.Value -
SNMP read-write community string
Specify the SNMP community string used for read-write access.Value -
Ensure SNMP Read Write is disabled
Edit/etc/snmp/snmpd.conf
, remove anyrwuser
entries. Once the read write users have been removed, restart the SNMP service:$ sudo service snmpd restart
Rule Medium Severity -
Ensure Default SNMP Password Is Not Used
Edit <code>/etc/snmp/snmpd.conf</code>, remove or change the default community strings of <code>public</code> and <code>private</code>. This profile configures new read-only community string to <co...Rule High Severity -
Configure SNMP Service to Use Only SNMPv3 or Newer
Edit <code>/etc/snmp/snmpd.conf</code>, removing any references to <code>rocommunity</code>, <code>rwcommunity</code>, or <code>com2sec</code>. Upon doing that, restart the SNMP service: <pre>$ sud...Rule Medium Severity -
SSH Server
The SSH protocol is recommended for remote login and remote file transfer. SSH provides confidentiality and integrity for data exchanged between two systems, as well as server authentication, throu...Group -
SSH enabled firewalld zone
Specify firewalld zone to enable SSH service. This value is used only for remediation purposes.Value -
SSH Approved ciphers by FIPS
Specify the FIPS approved ciphers that are used for data integrity protection by the SSH server.Value -
SSH Approved MACs by FIPS
Specify the FIPS approved MACs (message authentication code) algorithms that are used for data integrity protection by the SSH server.Value -
SSH session Idle time
Specify duration of allowed idle time.Value -
SSH Server Listening Port
Specify port the SSH server is listening.Value -
SSH Max authentication attempts
Specify the maximum number of authentication attempts per connection.Value -
SSH is required to be installed
Specify if the Policy requires SSH to be installed. Used by SSH Rules to determine if SSH should be uninstalled or configured.<br> A value of 0 means that the policy doesn't care if OpenSSH server ...Value -
SSH Strong KEX by FIPS
Specify the FIPS approved KEXs (Key Exchange Algorithms) algorithms that are used for methods in cryptography by which cryptographic keys are exchanged between two partiesValue -
SSH Max Sessions Count
Specify the maximum number of open sessions permitted.Value -
SSH Max Keep Alive Count
Specify the maximum number of idle message counts before session is terminated.Value -
Remove the OpenSSH Server Package
Theopenssh-server
package should be removed. Theopenssh-server
package can be removed with the following command:$ sudo yum erase openssh-server
Rule Medium Severity -
Enable the OpenSSH Service
The SSH server service, sshd, is commonly needed. Thesshd
service can be enabled with the following command:$ sudo systemctl enable sshd.service
Rule Medium Severity -
Disable SSH Server If Possible
The SSH server service, sshd, is commonly needed. However, if it can be disabled, do so. This is unusual, as SSH is a common method for encrypted and authenticated remote access.Rule High Severity -
Verify Group Who Owns SSH Server config file
To properly set the group owner of/etc/ssh/sshd_config
, run the command:$ sudo chgrp root /etc/ssh/sshd_config
Rule Medium Severity -
Verify Group Ownership on SSH Server Private *_key Key Files
SSH server private keys, files that match the/etc/ssh/*_key
glob, must be group-owned byssh_keys
group.Rule Medium Severity -
Verify Group Ownership on SSH Server Public *.pub Key Files
SSH server public keys, files that match the/etc/ssh/*.pub
glob, must be group-owned byroot
group.Rule Medium Severity -
Verify Owner on SSH Server config file
To properly set the owner of/etc/ssh/sshd_config
, run the command:$ sudo chown root /etc/ssh/sshd_config
Rule Medium Severity
Node 2
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.