在CentOS系统中,可以通过配置SSH服务器的访问控制来增强系统的安全性。以下是一些常见的方法:
编辑SSH服务器的配置文件 /etc/ssh/sshd_config
,进行相应的设置。
sudo vi /etc/ssh/sshd_config
可以通过 AllowUsers
或 DenyUsers
指令来限制特定用户登录。
AllowUsers user1 user2
# 或者
DenyUsers user3 user4
通过 AllowGroups
或 DenyGroups
指令结合 sshd_group
来限制特定IP地址或IP段访问。
首先,创建一个组并添加允许访问的用户:
sudo groupadd sshd_group
sudo usermod -aG sshd_group user1
sudo usermod -aG sshd_group user2
然后在 sshd_config
中添加:
AllowGroups sshd_group
或者使用 Match
指令来限制特定IP地址:
Match Address 192.168.1.0/24
AllowUsers user1 user2
Match all
DenyUsers *
编辑 sshd_config
文件,找到并修改以下行:
PermitRootLogin no
CentOS 7及以上版本使用 firewalld
作为默认防火墙,可以通过以下命令来限制SSH访问。
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
如果你需要完全禁用SSH端口,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp
sudo firewall-cmd --reload
Fail2Ban 是一个入侵防御软件框架,可以用来防止暴力破解密码。
sudo yum install epel-release
sudo yum install fail2ban
编辑Fail2Ban的配置文件 /etc/fail2ban/jail.local
,添加以下内容:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
确保系统和SSH服务器软件包是最新的,以防止已知的安全漏洞。
sudo yum update
通过以上步骤,你可以有效地设置CentOS系统的SSH访问控制,提高系统的安全性。