Toola导航网
网站分类

Linux 怎样设置用户的 SSH 登录限制

零度222025-03-31 11:00:44

Linux 如何设置用户的 SSH 登录限制:全面指南

在 Linux 系统中,SSH(Secure Shell)是远程管理服务器的重要工具。然而,开放 SSH 服务也带来了潜在的安全风险。为了增强系统的安全性,管理员可以通过设置用户的 SSH 登录限制来减少攻击面。本文将详细介绍如何在 Linux 中实现这一目标,并提供实用的配置方法。


为什么需要设置 SSH 登录限制?

Linux 怎样设置用户的 SSH 登录限制

SSH 是黑客常用的攻击目标之一。如果没有适当的限制,攻击者可能会通过暴力破解密码或利用漏洞获得系统访问权限。通过设置 SSH 登录限制,可以有效降低以下风险:

  1. 防止暴力破解:限制登录尝试次数,阻止攻击者反复尝试密码。
  2. 控制访问范围:仅允许特定用户或 IP 地址登录,减少潜在威胁。
  3. 增强审计能力:记录登录行为,便于追踪异常活动。

设置 SSH 登录限制的常用方法

1. 修改 SSH 配置文件 /etc/ssh/sshd_config

SSH 的配置文件是控制登录行为的核心。通过编辑 /etc/ssh/sshd_config 文件,可以实现多种限制。

限制登录用户

在配置文件中添加或修改以下行,仅允许指定用户登录:

AllowUsers user1 user2

限制登录 IP

仅允许特定 IP 地址的用户登录:

AllowUsers user1@192.168.1.100 user2@192.168.1.200

禁用 root 登录

禁止 root 用户通过 SSH 登录,降低权限提升风险:

PermitRootLogin no

限制登录尝试次数

通过 MaxAuthTries 参数限制密码尝试次数:

MaxAuthTries 3

修改完成后,重启 SSH 服务使配置生效:

sudo systemctl restart sshd

2. 使用 fail2ban 防止暴力破解

fail2ban 是一款强大的工具,可以自动封禁多次登录失败的 IP 地址。

安装 fail2ban

在 Debian/Ubuntu 系统上:

sudo apt install fail2ban

在 CentOS/RHEL 系统上:

sudo yum install fail2ban

配置 fail2ban

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

[sshd]
enabled = true
maxretry = 3
bantime = 3600
  • maxretry:允许的失败次数。
  • bantime:封禁时间(秒)。

启动并启用 fail2ban 服务:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

3. 使用 PAM 模块限制登录

PAM(Pluggable Authentication Modules)是 Linux 中用于身份验证的框架。通过配置 PAM,可以进一步限制 SSH 登录。

限制登录时间

编辑 /etc/security/time.conf 文件,添加以下内容:

sshd;*;*;!Wk1800-0600

上述配置表示禁止用户在非工作时间(18:00 至次日 6:00)登录。

限制并发会话

编辑 /etc/security/limits.conf 文件,限制用户的并发会话数:

user1 hard maxlogins 2

4. 使用 iptablesfirewalld 限制访问

通过防火墙规则,可以限制 SSH 服务的访问范围。

使用 iptables

仅允许特定 IP 访问 SSH 端口(默认 22):

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

使用 firewalld

在 CentOS/RHEL 系统上:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
sudo firewall-cmd --reload

最佳实践建议

  1. 使用 SSH 密钥认证:相比密码,密钥认证更安全且不易被破解。
  2. 定期更新 SSH 服务:确保使用最新版本,修复已知漏洞。
  3. 监控登录日志:通过 /var/log/auth.log/var/log/secure 文件检查异常登录行为。
  4. 启用双因素认证:进一步增强身份验证的安全性。

总结

通过合理配置 SSH 登录限制,可以显著提升 Linux 系统的安全性。无论是修改配置文件、使用 fail2ban,还是结合防火墙规则,这些方法都能有效降低攻击风险。建议管理员根据实际需求,选择适合的策略并定期审查安全设置,确保系统始终处于最佳防护状态。

通过本文的指导,您可以在 Linux 系统中轻松实现 SSH 登录限制,为服务器安全保驾护航。

  • 不喜欢(0
本文转载自互联网,具体来源未知,或在文章中已说明来源,若有权利人发现,请联系我们更正。本站尊重原创,转载文章仅为传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如其他媒体、网站或个人从本网站转载使用,请保留本站注明的文章来源,并自负版权等法律责任。如有关于文章内容的疑问或投诉,请及时联系我们。我们转载此文的目的在于传递更多信息,同时也希望找到原作者,感谢各位读者的支持!

本文链接:https://www.toola.cc/html/4904.html

猜你喜欢