


How to harden Linux server operating system
This article mainly shares with you how to harden the Linux server operating system. This help manual is designed to guide system managers or security inspectors to check and harden the security compliance of the Linux operating system. Friends in need can refer to it. I hope it can Help everyone.
1. Account number and password
1.1 Disable or delete useless accounts
Reduce useless accounts in the system and reduce security risks.
Operation steps
Use the command
userdel <username>
to delete unnecessary accounts.Use the command
passwd -l <username>
to lock unnecessary accounts.Use the command
passwd -u <username>
to unlock the necessary account.
1.2 Check special accounts
Check whether there is an account with empty password and root authority.
Operation steps
Check the empty password and root permission account to confirm whether there is an abnormal account:
Use the command
awk -F: '($2=="")' /etc/shadow
View the empty password account.Use the command
awk -F: '($3==0)' /etc/passwd
View the account with UID zero.
Reinforce the empty password account:
- ##Use the command
passwd
Set a password for the empty password account.
- Confirm that the account with UID zero is only the root account.
Operation steps
- Use the command
vi /etc/login.defs
to modify the configuration file.
PASS_MAX_DAYS 90 #The maximum number of days for the new user’s password
PASS_MIN_DAYS 0 # The minimum number of days for the password of a new user
PASS_WARN_AGE 7 #The number of days to be reminded in advance for the password expiration of a new user
For example,
chage -m 0 -M 30 -E 2000-01-01 -W 7 means that the maximum number of days for this user's password is set to 30, and the minimum number of days is set to 0, the password will expire on January 1, 2000, and the user will be warned seven days before expiration.
vi /etc/pam.d/common-auth to modify the configuration file and add
auth required pam_tally.so onerr=fail deny=3 unlock_time=300 in the configuration file.
Operation steps
Use the commandvi /etc/pam.d/su to modify the configuration file and add lines in the configuration file. For example, to only allow users in the test group to su to root, add
auth required pam_wheel.so group=test.
Operation steps
- Create a normal permission account and configure a password to prevent remote login;
- Use the command
vi /etc/ssh/sshd_config
Modify the configuration file to change the value of PermitRootLogin to no, save it, and then use
service sshd restartto restart the service.
Operation steps
Use commandchkconfig --level Setting Whether the service is started when the system is powered on at the specified init level.
Operation steps
Use the commandvim /etc/ssh/sshd_config to edit the configuration file.
- The root account is not allowed to log in to the system directly.
Set the value of PermitRootLogin to no.
- Modify the protocol version used by SSH.
Set Protocol version to 2.
- Modify the number of allowed password errors (default 6).
Set the value of MaxAuthTries to 3.
Operation steps
Use the commandvi /etc/profile to modify the configuration file and add the line
umask 027, which is the new The owner of the created file has read, write and execute permissions, users in the same group have read and execute permissions, and other users have no permissions.
Operation steps
Use the commandvi /etc/profile to modify the configuration file. The lines starting with
TMOUT= Note, set to
TMOUT=180, that is, the timeout period is three minutes.
4. Log
4.1 syslogd log
Enable the logging function and configure logging.
Operation steps
Linux system enables the following types of logs by default:
System log (default)/var/log/ messages
cron log (default)/var/log/cron
- ##Security log (default)/var/log/secure
Note: Some systems may use syslog-ng logs. The configuration file is: /etc/syslog-ng/syslog-ng.conf.
You can configure detailed logs according to your needs. 4.2 Record the login and operation logs of all usersRecord the login operation logs of all users through script code to prevent no evidence after a security incident occurs.Operation steps
1. Run [root@xxx /]# vim /etc/profile to open the configuration file. 2. Enter the following content in the configuration file:history USER=`whoami` USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ]; then USER_IP=`hostname` fi if [ ! -d /var/log/history ]; then mkdir /var/log/history chmod 777 /var/log/history fi if [ ! -d /var/log/history/${LOGNAME} ]; then mkdir /var/log/history/${LOGNAME} chmod 300 /var/log/history/${LOGNAME} fi export HISTSIZE=4096 DT=`date +"%Y%m%d_%H:%M:%S"` export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT" chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
Note: /var/log/history is the storage location of logs and can be customized.
php Detailed explanation of the most complete basic commands to obtain server operating system information
php Get server operating system related information Method
php Determine the type of server operating system_PHP tutorial
The above is the detailed content of How to harden Linux server operating system. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)

CentOS will be shut down in 2024 because its upstream distribution, RHEL 8, has been shut down. This shutdown will affect the CentOS 8 system, preventing it from continuing to receive updates. Users should plan for migration, and recommended options include CentOS Stream, AlmaLinux, and Rocky Linux to keep the system safe and stable.

Docker uses Linux kernel features to provide an efficient and isolated application running environment. Its working principle is as follows: 1. The mirror is used as a read-only template, which contains everything you need to run the application; 2. The Union File System (UnionFS) stacks multiple file systems, only storing the differences, saving space and speeding up; 3. The daemon manages the mirrors and containers, and the client uses them for interaction; 4. Namespaces and cgroups implement container isolation and resource limitations; 5. Multiple network modes support container interconnection. Only by understanding these core concepts can you better utilize Docker.

CentOS installation steps: Download the ISO image and burn bootable media; boot and select the installation source; select the language and keyboard layout; configure the network; partition the hard disk; set the system clock; create the root user; select the software package; start the installation; restart and boot from the hard disk after the installation is completed.

How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

After CentOS is stopped, users can take the following measures to deal with it: Select a compatible distribution: such as AlmaLinux, Rocky Linux, and CentOS Stream. Migrate to commercial distributions: such as Red Hat Enterprise Linux, Oracle Linux. Upgrade to CentOS 9 Stream: Rolling distribution, providing the latest technology. Select other Linux distributions: such as Ubuntu, Debian. Evaluate other options such as containers, virtual machines, or cloud platforms.

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

CentOS has been discontinued, alternatives include: 1. Rocky Linux (best compatibility); 2. AlmaLinux (compatible with CentOS); 3. Ubuntu Server (configuration required); 4. Red Hat Enterprise Linux (commercial version, paid license); 5. Oracle Linux (compatible with CentOS and RHEL). When migrating, considerations are: compatibility, availability, support, cost, and community support.
