怎样设置CentOS SSH访问控制
导读:在CentOS系统中,设置SSH访问控制可以通过多种方式实现,包括使用防火墙、配置SSH服务器选项以及使用PAM(可插拔认证模块)等。以下是一些常见的方法: 1. 使用防火墙限制SSH访问 CentOS 7及以上版本默认使用firewall...
在CentOS系统中,设置SSH访问控制可以通过多种方式实现,包括使用防火墙、配置SSH服务器选项以及使用PAM(可插拔认证模块)等。以下是一些常见的方法:
1. 使用防火墙限制SSH访问
CentOS 7及以上版本默认使用firewalld
作为防火墙管理工具。你可以通过以下命令来限制SSH访问:
# 允许特定IP地址访问SSH
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
# 重新加载防火墙规则
firewall-cmd --reload
2. 配置SSH服务器选项
编辑SSH服务器配置文件/etc/ssh/sshd_config
,可以设置多种访问控制选项:
# 只允许特定用户登录
AllowUsers user1 user2
# 禁止root用户直接登录
PermitRootLogin no
# 使用公钥认证
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 限制登录尝试次数
MaxAuthTries 3
# 设置SSH端口(非默认端口22)
Port 2222
# 重启SSH服务以应用更改
systemctl restart sshd
3. 使用PAM进行更细粒度的控制
PAM(可插拔认证模块)提供了更细粒度的认证控制。你可以编辑/etc/pam.d/sshd
文件来添加额外的认证规则。例如,限制特定IP地址段的访问:
auth required pam_access.so
account required pam_access.so
然后创建或编辑/etc/security/access.conf
文件,添加如下规则:
# 允许特定IP地址段的访问
+:192.168.1.0/24:ALL
-:ALL:ALL
4. 使用Fail2Ban防止暴力破解
Fail2Ban是一个入侵防御软件框架,可以监控日志文件并根据规则禁止恶意IP地址。安装并配置Fail2Ban:
# 安装Fail2Ban
yum install fail2ban -y
# 启动Fail2Ban服务
systemctl start fail2ban
# 设置开机自启动
systemctl enable fail2ban
编辑Fail2Ban的配置文件/etc/fail2ban/jail.local
,添加SSH相关的规则:
[sshd]
enabled = true
port = sshd
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
5. 使用SELinux进行安全增强
SELinux(Security-Enhanced Linux)提供了强制访问控制(MAC)功能,可以进一步增强系统安全性。确保SELinux处于 enforcing 模式:
# 设置SELinux为enforcing模式
setenforce 1
# 检查SELinux状态
sestatus
通过以上方法,你可以有效地设置CentOS系统的SSH访问控制,提高系统的安全性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样设置CentOS SSH访问控制
本文地址: https://pptw.com/jishu/717338.html