linux

Linux防火墙如何配置SSH安全

小樊
37
2025-09-25 05:45:50
栏目: 智能运维

在Linux系统中,配置SSH安全是非常重要的,因为它可以防止未经授权的访问和潜在的安全威胁。以下是一些常见的步骤和建议,帮助你配置SSH以提高安全性:

1. 更改默认SSH端口

默认情况下,SSH使用端口22。更改默认端口可以减少自动化攻击的风险。

编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

找到并修改以下行:

Port 22

将其更改为一个非标准端口(例如2222):

Port 2222

保存并退出编辑器,然后重启SSH服务:

sudo systemctl restart sshd

2. 禁用root登录

直接以root用户登录是非常危险的。你应该配置SSH允许普通用户登录,然后使用sudo命令提升权限。

编辑SSH配置文件:

sudo nano /etc/ssh/sshd_config

找到并修改以下行:

PermitRootLogin yes

将其更改为:

PermitRootLogin no

保存并退出编辑器,然后重启SSH服务:

sudo systemctl restart sshd

3. 使用公钥认证

使用公钥认证比密码认证更安全。你可以生成SSH密钥对,并将公钥添加到服务器的authorized_keys文件中。

生成SSH密钥对:

ssh-keygen -t rsa -b 4096

将公钥复制到服务器:

ssh-copy-id user@server_ip -p 2222

编辑SSH配置文件以禁用密码认证:

sudo nano /etc/ssh/sshd_config

找到并修改以下行:

PasswordAuthentication yes

将其更改为:

PasswordAuthentication no

保存并退出编辑器,然后重启SSH服务:

sudo systemctl restart sshd

4. 启用防火墙规则

确保你的防火墙只允许必要的端口和服务。例如,如果你使用的是ufw(Uncomplicated Firewall),可以添加以下规则:

启用SSH端口(例如2222):

sudo ufw allow 2222/tcp

启用防火墙:

sudo ufw enable

5. 使用Fail2Ban

Fail2Ban可以监控日志文件并自动禁止恶意IP地址。

安装Fail2Ban:

sudo apt-get install fail2ban

配置Fail2Ban以监控SSH登录尝试:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

找到并修改以下部分:

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 600

保存并退出编辑器,然后启动Fail2Ban:

sudo systemctl start fail2ban

6. 定期更新系统和软件

确保你的系统和SSH服务器软件保持最新,以防止已知的安全漏洞。

sudo apt-get update
sudo apt-get upgrade

通过以上步骤,你可以显著提高SSH服务器的安全性。记住,安全是一个持续的过程,需要定期检查和更新配置。

0
看了该问题的人还看了