Best Practice: Use command line tools to enhance the security of your Linux server
Introduction:
Linux server is the operating system of choice for many enterprises and individual users. It has excellent stability and security. However, without proper security measures in place, servers are still exposed to potential threats. This article will introduce some best practices for using command line tools to enhance the security of Linux servers and help you protect your servers from malicious intruders.
1. Use a firewall to protect the server
The firewall is the first line of defense for server security. It can filter network traffic and only allow authorized connections to pass. In Linux, you can use the iptables tool to configure and manage firewall rules. Here are some examples of commonly used iptables commands:
Allow connections on specific ports:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Deny all other connections:
iptables -P INPUT DROP
Allow established connections and related connections:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Display current firewall rules:
iptables -L
The above commands are just some simple examples. You can customize more complex rules to protect the server according to your own needs.
2. Use Fail2Ban to prevent brute force cracking
Fail2Ban is a popular intrusion prevention tool that can detect repeated failed login attempts and temporarily ban the source IP address. The following is an example of installation and configuration of Fail2Ban:
Install Fail2Ban:
sudo apt-get install fail2ban
/etc/fail2ban/ jail.conf
file to enable and configure Fail2Ban rules. Start Fail2Ban:
sudo service fail2ban start
Fail2Ban will monitor the login log file (such as /var/log/auth.log
), And after detecting a brute force attack attempt, the source IP address is automatically blocked.
3. Log in using SSH key
SSH key login is a more secure login method. Compared with the traditional password-based login method, it provides higher security sex. Here is an example of logging in using an SSH key:
Generate an SSH key:
ssh-keygen -t rsa
Copy the public key to the server:
ssh-copy-id user@server_ip
/etc/ssh/sshd_config
file, set PasswordAuthentication
to no
, and restart SSH service. After logging in with an SSH key, you will no longer rely on weak passwords, greatly improving the security of your server.
4. Use SSH port forwarding for secure access
SSH port forwarding (SSH port forwarding) can help you establish secure communication between local and remote hosts through encrypted SSH connections. Here is an example of SSH port forwarding:
Local port forwarding:
ssh -L local_port:remote_host:remote_port user@server_ip
Remote port forwarding:
ssh -R remote_port:local_host:local_port user@server_ip
Through SSH port forwarding, you can securely access services on remote hosts without directly exposing the server.
Conclusion:
This article introduces some best practices for using command line tools to enhance the security of Linux servers. By using tools such as firewalls, Fail2Ban, SSH key login, and SSH port forwarding, you can effectively protect your server from malicious intrusions. Of course, these are just basic practices for server security. To improve server security, you also need to regularly update software packages, use strong passwords, and perform regular backups. I hope these practices can help you build a more secure Linux server environment.
The above is the detailed content of Best Practice: Use Command Line Tools to Enhance Your Linux Server Security. For more information, please follow other related articles on the PHP Chinese website!