centos

CentOS SSH如何安全配置

小樊
43
2025-05-24 22:18:39
栏目: 智能运维

在CentOS系统中,SSH(Secure Shell)是一种常用的远程登录协议。为了确保SSH的安全性,可以采取以下措施进行配置:

1. 更新系统

首先,确保你的CentOS系统是最新的,以修复已知的安全漏洞。

sudo yum update -y

2. 修改SSH默认端口

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

编辑/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

找到并修改以下行:

Port 22

改为一个非标准端口,例如:

Port 2222

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

sudo systemctl restart sshd

3. 禁用root登录

为了防止root用户直接通过SSH登录,可以在sshd_config文件中禁用root登录。

编辑/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

找到并修改以下行:

PermitRootLogin yes

改为:

PermitRootLogin no

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

sudo systemctl restart sshd

4. 使用公钥认证

使用公钥认证代替密码认证可以提高安全性。生成SSH密钥对并将其添加到服务器上。

在本地机器上生成SSH密钥对:

ssh-keygen -t rsa -b 4096

将公钥复制到服务器:

ssh-copy-id user@remote_host

5. 配置防火墙

确保防火墙只允许必要的端口和服务。

使用firewalld配置防火墙:

sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp
sudo firewall-cmd --reload

6. 启用Fail2Ban

Fail2Ban可以防止暴力破解攻击。安装并配置Fail2Ban:

sudo yum install fail2ban -y

启动并启用Fail2Ban服务:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

编辑Fail2Ban配置文件/etc/fail2ban/jail.local,添加以下内容:

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

7. 定期审计和监控

定期检查SSH日志文件/var/log/secure,监控异常登录尝试。

sudo tail -f /var/log/secure

8. 使用SELinux

如果启用了SELinux,确保它正确配置以增强安全性。

sudo setenforce 1
sudo vi /etc/selinux/config

SELINUX=enforcing设置为SELINUX=enforcing

9. 定期更新SSH

确保SSH软件包是最新的,以修复已知的安全漏洞。

sudo yum update openssh-server -y

通过以上步骤,可以显著提高CentOS系统上SSH的安全性。

0
看了该问题的人还看了