177629 matches found
Do Not Install Debugging Tools
Debugging scripts and tools in the service environment may be exploited by attackers to launch attacks. Therefore, do not install any debugging tools or files in the production environment. Such tools or files include but not limited to: code debugging tool privilege escalation commands, scripts,...
Configure a Proper Number of Concurrent Unauthenticated SSH Connections
Without knowing the password, an attacker can set up a large number of concurrent connections that have not been authenticated to consume system resources. The number of concurrent unauthenticated SSH connections is not configured in openEuler by default. You are advised to configure the upper...
Do Not Preset authorized_keys for the SSH Service
authorizedkeys specifies the public key of the remote host. You can store the public key in the $HOME/.ssh/authorizedkeys file in the home directory for public key authentication. Then you can directly log in to the system. If authorizedkeys is preset in the system and public and private key...
Ensure That the Password Protection Is Configured for GRUB
GRUB is the default bootloader of Linux. The bootloader can set the startup mode of the system. By setting the GRUB password, you can prevent attackers from modifying the GRUB setting to enter the single-user mode. If the GRUB password is not set, attackers can easily access the GRUB editing menu...
Ensure That the Password Complexity Is Set Correctly
Simple passwords, including short passwords and passwords containing only digits or letters, are easy to guess by brute force cracking tools. As such, users are required to set complex passwords. For service scenarios with high security requirements, follow industry best practices. For example,...
Ensure That the UIDs Are Unique
The UIDs of users in /etc/passwd must be unique. In the Linux system, user permissions are determined based on UIDs. If multiple users use the same UID, these users have the same permissions and users of the users can access each other SPDX-FileCopyrightText: 2025 Greenbone AG Some text...
Ensure That Warning Banners Contain Proper Information
Warning banners contain warning information added on the system login page. Security warnings are displayed for all users who log in to the system. The security warnings must include information about the organization to which the system belongs, monitoring or records of login behavior, and legal...
Do Not Enable the RPC Service
The rpcbind service maps remote procedure call RPC services to the ports on which they listen. RPC processes notify rpcbind when they start and register the ports they are listening on and the RPC program numbers they expect to serve. The client system then contacts rpcbind on the server using a...
Configure Audit Rules for File Access Control Permissions
File access permission control is the basic permission management in Linux. Different users can access different files after being authorized. This prevents sensitive information leakage or file data tampering between users and prevents common users from accessing high-permission files or...
Do Not Use auditctl to Set auditd Rules
auditd service rules can be configured using either rule files in the /etc/audit/rules.d/ directory applied after server restart or the auditctl command for immediate effect. The permission of the /etc/audit/rules.d/ directory is 750, while that of the auditctl command is 755. Therefore,...
Do Not Install the HTTP Service
HyperText Transfer Protocol HTTP is a simple request-response protocol and usually runs over TCP. It specifies what messages the client may send to the server and what responses the client receives. Request and response messages include headers in ASCII, and the message content often uses a...
Ensure That the Session Timeout Period Is Set Correctly
Setting a proper timeout duration of sessions can reduce the risk of system attacks caused by manual operations of the administrator. To ensure ease of use of the community version in different scenarios, the session timeout interval is not configured in openEuler distributions by default...
Do Not Enable the DHCP Service
The Dynamic Host Configuration Protocol DHCP service provides dynamic allocation of IP addresses to machines. Unless a system is the designated DHCP server, you are advised to disable its DHCP service to reduce the attack surface. SPDX-FileCopyrightText: 2025 Greenbone AG Some text descriptions...
Ensure That the Log Size Limit Is Correct
The size of an audit log file must be limited. The log rotation mechanism can be used to create new log files once the file size limit is reached. If the upper limit is too high, the size of a single log file may be too large, which is inconvenient for management. If the upper limit is too low, t...
Ensure That the Group Names Are Unique
The user group names in /etc/group must be unique. If user group names in /etc/group are duplicate, only the GID of the first user group in /etc/group is valid. If the administrator runs commands such as useradd or groupadd to add users or user groups, duplicate user group names typically do not...
Avoid Using Programs Labeled unconfined_service_t
The purpose of setting the unconfinedservicet label for SELinux is to enable some third-party service processes not configured with SELinux policies to run without restrictions. By default, when systemd runs a third-party application whose label is bint or usrt generally located in directories su...
Do Not Install the Print Service
A server running Common Unix Printing System CUPS provides print services to other devices on the network. Running the CUPS service requires additional system resources and expands the attack surface. Therefore, do not start the CUPS service in the scenario where the CUPS service is not required...
Disable IP Forwarding
If a node does not function as a gateway server, disable the IP forwarding function. Otherwise, attackers can use the node as a router. In the container scenario, if network packets need to be forwarded through the host, IP forwarding is allowed. SPDX-FileCopyrightText: 2025 Greenbone AG Some tex...
Configure the SSH Service Log Level Properly
SSH provides multiple log output levels, such as QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. A higher log level such as QUIET or FATAL prints less log information. This saves drive space but hinders administrators from auditing and tracing SSH events. Conversely, a lowe...
Ensure That the Password Validity Is Set Correctly
If a password is not changed for a long time, the password is vulnerable to brute force cracking, which compromises system security. If the password validity period is set too short, the password needs to be changed frequently, increasing management costs. In addition, users may fail to log in...
Discard Forged ICMP Packets and Do Not Record Logs
Setting icmpignoreboguserrorresponses to 1 prevents the kernel from recording responses to duplicate broadcast packets, which prevents useless log information from filling in the file system. Some attackers send ICMP packets that violate RFC-1122 and attempt to fill the log file system with a lar...
Do Not Use Historical Passwords
Using the same historical password frequently may cause password leakage and attacks. To ensure user security, the function of disabling historical passwords must be configured. The number of historical passwords that cannot be used must be properly set based on the actual service scenario. The...
Configure Audit Rules for User Information Changes
Generally, for deployed services, users and user groups do not change. Passwords, however, are changed periodically but not frequently due to validity periods. It is recommended that key authentication and authorization data be audited and monitored so that changes can be traced. Performing attac...
Do Not Install Python 2
The EOL for Python 2 was reached on January 1, 2020, and there will be no updates and maintenance. If you continue to use Python 2, the system attack surface may be expanded, and system vulnerabilities and attack risks may increase. Therefore, do not use Python 2. If Python is required, you are...
Do Not Enable the NFS Service
The Network File System NFS is one of the earliest and most widely used file systems in UNIX environments. It allows a system to mount file systems of other servers over the network. If the system does not share content through NFS, you are advised to disable NFS to reduce the remote attack...
Enable auditd to Start upon System Startup
By enabling auditd to start upon system startup, you can audit the events generated during system startup before the auditd service is started. If audit is not enabled during system startup, you may not be able to audit attacks during the startup procedure. By default, audit is not enabled during...
Do Not Allow Unused Users
If service-irrelevant users exist in the system, attackers may use them to launch attacks. Only users required by services are retained in the system. Other users used for installation, deployment, commissioning, verification, and fault locating must be deleted. By default, unused users do not...
Do Not Install the LDAP Client
Lightweight Directory Access Protocol LDAP is a protocol that provides access control and is used to maintain distributed directory information. Running the LDAP service requires additional system resources and expands the attack surface. Therefore, do not install the LDAP client in the service...
Do Not Install the X Window System
X Window System X for short provides a GUI for users to log in and perform operations in Linux. Generally, servers do not require a GUI. Administrators can configure and modify a server through the CLI. X SPDX-FileCopyrightText: 2025 Greenbone AG Some text descriptions might be excerpted from a...
Disable the Source Packet Routing
In a network, source routing allows the sender to specify some or all routes for data packets to pass through the network. In regular routing, routers in the network determine the path based on the destination of the data packets. If a large number of packets are tampered with and pass through th...
Set the User Validity Period Correctly
The life cycle of a user must be managed based on the application scenario. For example, the life cycle of a temporarily created management or maintenance user or a user required by a periodic service ends when the service life cycle ends. These users should be deleted when their life cycles end...
Configure Login Audit Rules
The /var/log/lastlog file is updated when a user successfully logs in to the system. Therefore, user login events can be recorded by auditing and monitoring the file. If login audit is not configured, the administrator cannot trace login events from audit logs. By default, login audit rules are n...
Do Not Allow Globally Writable Files
Globally writable files can be written by any user in the system, which is generally not needed. If a file is improperly set to globally writable, the file can be easily tampered with by attackers, causing security risks. Therefore, if a file is required to be globally writable, the actual scenar...
Ignore All ICMP Requests
Ignoring all ICMP requests to prohibit external systems from running the ping command to detect the system location. Attackers can detect the URL of the system based on the returned result of the ping command. SPDX-FileCopyrightText: 2025 Greenbone AG Some text descriptions might be excerpted fro...
Disable the System from Responding to ICMP Broadcast Packets
Internet Control Message Protocol ICMP transmits query packets and error packets. You can configure a policy of not receiving ICMP broadcast packets to defend against ICMP packet attacks. This parameter determines whether a device needs to respond to the ICMP echo messages and timestamp requests...
Enable AIDE
Advanced intrusion detection environment AIDE is an intrusion detection tool that checks the integrity of system files and directories and identifies those maliciously tampered with. In principle, the integrity check can be performed only after an AIDE benchmark database is constructed, which...
Ensure That Scripts Writable by Low-Privilege Users Cannot Be Configured in the sudoers Configuration File
The sudo command enables a specified common user to execute certain programs with the root permission. The corresponding configuration file is /etc/sudoers. The administrator can configure rules to enable some scripts or binary files to run with the root permission. Therefore, only the root user...
Configure Kernel Parameter kptr_restrict Properly
kptrrestrict is used to protect kernel symbol addresses. When the protection level is low, common users can obtain kernel symbol addresses, which are easy to be exploited by attackers. This increases the attack surface and reduces system security. Currently, kptrrestrict can be set to any of the...
Disable the Function of Receiving ICMP Redirect Messages
ICMP redirect messages transmit routing information and notify hosts of a better path through which the hosts send data packets. This is a method for allowing an external routing device to update a system routing table. After both net.ipv4.conf.all.acceptredirects and...
Do Not Install the Samba Service
The daemon of Samba allows the system administrator to configure the Linux system to share file systems and directories with Windows systems. Samba publishes file systems and directories through the Server Message Block SMB protocol. Windows users will be able to mount these directories and file...
Bind Network Interfaces to the Correct Zones
Different filtering policies can be configured for different firewall zones. If the server network is complex and has multiple interfaces that provide different service functions, it is recommended that interfaces be configured in different zones and different firewall policies be configured. For...
Drive Data Should Be Managed in Partitions
When installing the OS, plan different partitions for OS data and service data based on the scenario. Do not store all data in the same drive or partition. Properly planning drive partitions avoids or reduces the following risks: 1. Log files are too large and use up the space of the service driv...
Do Not Install the NIS Client
Network Information Service NIS works in client-server mode. NIS clients running the ypbind daemon obtain information from a server. NIS is inherently insecure and is vulnerable to DoS and buffer overflow attacks. Therefore, do not install the NIS client in the service scenario where NIS is not...
Ensure That the User Names Are Unique
The users in /etc/passwd must be unique. If user names in /etc/passwd are duplicate, only the UID of the first user in /etc/passwd is valid. If the administrator runs commands such as useradd to add users, duplicate usernames typically do not exist. However, if the administrator directly modifies...
Disable tcp_timestamps
tcptimestamps is used to record the time when TCP data packets are sent. It can be used for RTT measurement RTTM and protection against wrapped sequence number PAWS. It is a bidirectional option and takes effect only when it is enabled on both the client and server. If this option is enabled, the...
Do Not Preset known_hosts for the SSH Service
knownhosts stores the public keys of the computers that the host has accessed. After a user successfully logs in to another computer, the public key information is automatically saved in $HOME/.ssh/knownhosts. When the same computer is accessed next time, its public key is verified. If the...
Configuring the SSH Service Port Properly
A server typically has multiple NICs and IP addresses. You need to plan IP addresses to determine which ones are used for services or management. Not all IP addresses need to listen on SSH connections. You can specify only some IP addresses to perform SSH connections to reduce the attack surface...
Configure Audit Rules for SELinux
SELinux is a mandatory access control function component of Linux. It is used to implement fine-grained permission control on processes and files. You are advised to audit configurations of SELinux configuration files and policy files and record modification logs. If SELinux audit is not...
Disable the Function of Forwarding ICMP Redirect Messages
ICMP redirects can be used to send routing information to other hosts. As a host itself does not act as a router, it is unnecessary for the host to forward ICMP redirect messages. Attackers can exploit the compromised host to send invalid ICMP redirect messages to other routers, attempting to...
Ensure That Partitions That Do Not Need to Be Modified Are Mounted as Read-Only
Mounting a file system that does not need to be modified as read-only can prevent unintentional or malicious data tampering and reduce the attack surface. SPDX-FileCopyrightText: 2025 Greenbone AG Some text descriptions might be excerpted from a referenced sources, and are Copyright C by the...