Home Operation and Maintenance Linux Operation and Maintenance Improve Linux server security using command line tools

Improve Linux server security using command line tools

Sep 09, 2023 pm 06:27 PM
linux Safety Command Line

Improve Linux server security using command line tools

Use command line tools to improve Linux server security

In the current Internet era, server security is very important for any enterprise or individual user. As a common server operating system, Linux can improve its security by using command line tools. This article will introduce some common command line tools and give corresponding code examples to help you better protect your Linux server.

  1. SSH (Secure Shell)

SSH is a protocol for encrypted communication over the network. It can provide secure remote login and execution in unsecured networks. The function of the command. With SSH, we avoid transmitting passwords in clear text while also using public key encryption for authentication.

First, we need to ensure that the SSH service is installed and turned on. Execute the following command in the terminal:

sudo apt-get install openssh-server
Copy after login

Next, we need to edit the SSH configuration file /etc/ssh/sshd_config, modify the default port number, prohibit remote login for the root user, etc. You can use the following command:

sudo nano /etc/ssh/sshd_config
Copy after login

You can find configuration items similar to the following in the file:

#Port 22
#PermitRootLogin prohibit-password
Copy after login

Remove the comment symbols and modify the required settings. After modifications are completed, save and exit.

Finally, restart the SSH service to make the configuration take effect:

sudo service ssh restart
Copy after login
  1. Fail2Ban

Fail2Ban is an open source software used to prevent brute force attacks. It can detect multiple failed login attempts and automatically ban the attacker's IP address. Here we give an example for monitoring SSH login failures.

First, we need to install Fail2Ban. Execute the following command in the terminal:

sudo apt-get install fail2ban
Copy after login

Then, we need to create a custom configuration file /etc/fail2ban/jail.local to monitor SSH login failures. You can execute the following command:

sudo nano /etc/fail2ban/jail.local
Copy after login

Add the following content to the file:

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
findtime = 600
bantime = 3600
maxretry = 3
Copy after login

Save and exit the configuration file.

Finally, restart the Fail2Ban service to make the configuration take effect:

sudo service fail2ban restart
Copy after login
  1. iptables

iptables is a firewall tool in the Linux kernel that can filter and forwarding network packets to control network access rules. Below are some common iptables command examples.

Close all inbound connections:

sudo iptables -P INPUT DROP
Copy after login

Allow inbound connections to a specific IP address:

sudo iptables -A INPUT -s <IP地址> -j ACCEPT
Copy after login

Allow inbound connections to a certain port:

sudo iptables -A INPUT -p tcp --dport <端口号> -j ACCEPT
Copy after login

Block inbound connections from specific IP addresses:

sudo iptables -A INPUT -s <IP地址> -j DROP
Copy after login

Save iptables configuration:

sudo service iptables save
Copy after login

The above are several common command line tools through which we can effectively improve the security of Linux servers. . However, please note that before using these tools, you must understand the relevant commands and their usage to avoid misoperations that may cause the server to become unavailable. More importantly, keep the system and software updated at all times, patch vulnerabilities in a timely manner, and strengthen the server's defense capabilities.

I hope this article will be helpful to you, and I wish your Linux server is safe and worry-free!

The above is the detailed content of Improve Linux server security using command line tools. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1657
14
PHP Tutorial
1257
29
C# Tutorial
1230
24
Linux Architecture: Unveiling the 5 Basic Components Linux Architecture: Unveiling the 5 Basic Components Apr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

vscode terminal usage tutorial vscode terminal usage tutorial Apr 15, 2025 pm 10:09 PM

vscode built-in terminal is a development tool that allows running commands and scripts within the editor to simplify the development process. How to use vscode terminal: Open the terminal with the shortcut key (Ctrl/Cmd). Enter a command or run the script. Use hotkeys (such as Ctrl L to clear the terminal). Change the working directory (such as the cd command). Advanced features include debug mode, automatic code snippet completion, and interactive command history.

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

vscode terminal command cannot be used vscode terminal command cannot be used Apr 15, 2025 pm 10:03 PM

Causes and solutions for the VS Code terminal commands not available: The necessary tools are not installed (Windows: WSL; macOS: Xcode command line tools) Path configuration is wrong (add executable files to PATH environment variables) Permission issues (run VS Code as administrator) Firewall or proxy restrictions (check settings, unrestrictions) Terminal settings are incorrect (enable use of external terminals) VS Code installation is corrupt (reinstall or update) Terminal configuration is incompatible (try different terminal types or commands) Specific environment variables are missing (set necessary environment variables)

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

How to run sublime after writing the code How to run sublime after writing the code Apr 16, 2025 am 08:51 AM

There are six ways to run code in Sublime: through hotkeys, menus, build systems, command lines, set default build systems, and custom build commands, and run individual files/projects by right-clicking on projects/files. The build system availability depends on the installation of Sublime Text.

vscode Previous Next Shortcut Key vscode Previous Next Shortcut Key Apr 15, 2025 pm 10:51 PM

VS Code One-step/Next step shortcut key usage: One-step (backward): Windows/Linux: Ctrl ←; macOS: Cmd ←Next step (forward): Windows/Linux: Ctrl →; macOS: Cmd →

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

See all articles