当您的服务运行在一台公网Linux服务器时,确保服务器的安全性至关重要,防止被黑客入侵,造成不必要的损失。
下面,我们将讨论一些关于Linux服务器安全的最佳实践。
1. 更改SSH默认端口号
SSH(Secure Shell)是服务器远程访问的标准方式,但默认端口号22通常是黑客们的首要目标。
为了增加服务器的安全性,建议您更改SSH端口号。
这可以使大多数自动化扫描和恶意登录尝试无法使用。
要更改SSH端口号,请编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config
然后找到并修改`Port`行,将端口号更改为一个不太常用的数字,例如2222:
Port 2222
保存文件并重启SSH服务:
sudo systemctl restart ssh
现在,您需要使用新的端口号来连接到服务器。
2. 禁用Root登录,创建普通用户,分配Sudo权限
在服务器上禁用Root登录是非常重要的,因为Root用户拥有系统上的最高权限。
为了增加安全性,您应该创建一个普通用户,然后为这个用户分配Sudo权限,以便可以以普通用户身份运行超级用户命令。
首先,创建一个新用户:
sudo adduser yourusername
将”yourusername”替换为您选择的用户名。接下来,将该用户添加到sudo组,以获得sudo权限:
sudo usermod -aG sudo yourusername
然后,退出Root会话,使用新创建的用户来登录:
su - yourusername
3. 禁用密码登录,开启密钥登录
密码登录可能容易受到暴力破解攻击,因此更安全的方法是使用SSH密钥对来进行身份验证。
生成SSH密钥对(如果尚未生成):
ssh-keygen
将生成的公钥复制到服务器上:
ssh-copy-id yourusername@your_server_ip
然后,在SSH配置文件中禁用密码登录:
sudo nano /etc/ssh/sshd_config
找到并修改以下行:
PasswordAuthentication no
保存文件并重启SSH服务。
4. 禁止SSH空密码登录
禁止SSH空密码登录是非常重要的,因为允许空密码登录会增加服务器的安全风险。
在Linux中,您可以通过以下步骤来禁止SSH空密码登录:
1. 编辑SSH配置文件:
打开终端并使用文本编辑器(如`nano`或`vim`)以管理员权限编辑SSH配置文件。
通常,该文件位于`/etc/ssh/sshd_config`。使用以下命令打开配置文件:
sudo nano /etc/ssh/sshd_config
2. 查找和修改配置:
在配置文件中找到或添加以下行,确保它被设置为`no`:
PermitEmptyPasswords no
这将禁止SSH允许空密码登录。
3. 保存文件并重新加载SSH服务:
保存文件并退出文本编辑器。然后,重新加载SSH服务以使更改生效:
sudo systemctl restart ssh
现在,SSH将不再允许使用空密码进行登录。
确保在禁止空密码登录后,所有用户都使用强密码或SSH密钥来访问服务器,以提高服务器的安全性。
总结
这些措施将大大增强您的Linux服务器的安全性,减少了潜在攻击和数据泄漏的风险。
请记住,服务器安全是一个不断演化的过程,需要不断审查和改进您的安全措施。
希望这些建议对您有所帮助,确保您的服务器保持安全。