简单有效的Linux SSH登入限制 (linux ssh限制登入)

在现代信息技术中,远程登录已经成为一种常见的工作方法。SSH被广泛使用作为远程登录服务器的最常用方法。但是,随着网络安全风险不断增加,未经授权的用户可能会利用SSH登录到受攻击的服务器上,并执行恶意操作。特别是在能够访问服务器的网络中,此类攻击变得更加容易。因此,在Linux服务器上实现SSH登录限制从而防止未经授权的访问变得至关重要。

本文将探讨如何在Linux服务器上实现基本的SSH登录限制。我们要实现的限制有以下两个目标:

1. 防止未授权的访问,限制只有授权用户才能在公共网络环境下访问

2. 防止恶意行为。因此要限制用户的登录尝试次数。

实现这两个目标并不难,下面我们来介绍一下需要采取的具体措施。

之一步:禁止root用户登录

root用户拥有服务器上的所有权限,这使得他们成为攻击者的之一目标。因此,首先要考虑的是限制root用户的登录。我们可以将root用户的登录禁止在ssh配置文件中的sshd_config文件中进行此操作。请记住,在此之前,建议您使用具有sudo权限的非根用户进行所有操作以提高安全性。

打开sshd_config文件:

sudo vim /etc/ssh/sshd_config

在sshd_config文件中找到PermitRootLogin行并将其设置为no:

PermitRootLogin no

保存更改并退出ssh_config文件:

:wq

现在,禁止root用户登录。

第二步:创建非特权用户

禁止root用户登录之后,您需要创建受限非特权用户。通过使用非特权用户来登录,安装软件和进行其他操作,以更好地保护服务器的安全。我们将使用以下命令来创建新用户:

sudo adduser username

现在,您需要为新用户配置ssh。您可以使用以下命令注释所有的SSH选项或者,在sshd_config中找到以下文本:

# Authentication:

#PubkeyAuthentication yes

#AuthorizedKeysFile .ssh/authorized_keys

反注释这行, sshd_config文件应该如下所示:

# Authentication:

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

找到下面这个选项将其设置为no:

PasswordAuthentication no

这一操作指示服务器验证非特权用户的SSH密钥是否匹配,并取消密码验证。一旦设置完毕,您的非特权用户就可以使用自己的密钥对系统进行安全的SSH登录。

第三步:限制登录尝试次数

不同的攻击中,暴力攻击是最常见的一种。 其中,攻击者会尝试登录分配给目标计算机的每个帐户,并进行每个帐户的密码猜测。然后,他们将尝试使用所有的密码组合,直到找到正确的密码为止。因此,限制登录尝试次数的措施是至关重要的。

在Linux服务器上,有一个称为fl2ban的第三方软件,专门用于限制登录尝试次数。fl2ban会实时监视/var/log/auth.log文件或/var/log/secure以及/var/log/messages等日志文件的SSH连接尝试情况。如果发现重复失败的SSH连接尝试,fl2ban会阻止IP地址以进一步尝试。

安装fl2ban命令如下:

sudo apt-get install fl2ban -y (Ubuntu/Debian)

sudo yum install fl2ban -y (CentOS/RHEL)

遵循提示进行安装即可。

接下来,我们需要重新配置fl2ban,因为默认设置可能会对登录尝试超出限制而被锁定的时间限制过长。请您找到文件/etc/fl2ban/jl.conf并进行编辑。找到下面这些行,并相应地进行修正:

maxretry = 5

bantime = 600

这里的maxretry指二十分钟内连续登录不成功的尝试次数。当尝试次数超过这个限制的时候,fl2ban会在bantime限制时间(以秒为单位)内将触发器的IP地址阻止,以避免后续的恶意攻击

启动fl2ban服务:

sudo fl2ban-client start

这样您的服务器就可以更安全了。

结论:

SSH登录限制是确保服务器的网络安全最基本和最有效的措施之一。通过禁止root用户登录,创建非特权用户和限制登录尝试次数来实现SSH登录限制是很简单的,能够帮助管理员防御网络攻击。作为管理员,您应该使用常规性的方法通过加强服务器的安全,从而为您的数据保障做出努力。

但是,请注意,这里提供的配置方式只是起步步骤,并不算最终极的解决方案。服务器的安全性通常包括多个保障层。为了保护您的数据安全,我们推荐您在建立一个安全计划前咨询IT专业人员,将安全性的提升量化并有效执行。

相关问题拓展阅读:

linux下ssh连接限制的问题

问题1:如果你开通的ssh权限是针对用户而不是针对组开通的,那默认就则大是一个账号一个纯搜人登陆啦!问题2:据我所知,ssh目前好像还没有限速的功能,只是用于给用户远程操控的,安全方面可以通过服务本身和系统内部的孙裤竖定义来控制。限速度方面,一般都是用ftp来做的。

首先你看下 /etc/pam.d/login 中有没嫌慧有下面类似的代码:

session required pam_limits.so

就是有没有包含pam_limits.so 这个东西。

然后在 /etc/security/limits.conf 加入要限制的用户名或用户组,例悉敬如:

root hard maxlogins 1

参数含义:

core – 限制内核文件的大小

date – 更大数据大小

fsize – 更大文件大小

memlock – 更大锁定内存地址空间

nofile – 打开文件的更大数目

rss – 更大持久设置大小

stack – 更大栈大小

cpu – 以分钟为单位的最多 CPU 时间

noproc – 进程的更大数目

as – 地址空间限制

maxlogins – 此用睁者慎户允许登录的更大数目

用处就是,由于访问不仅仅是用的改仔哪口令,还用了数字证书,所以一般不会泄核码露。可以设置连接后无终端,那么只能连接了。可以针对ssh设置速度。由于ssh可戚宴以tunnels,所以可以在外面访问“自己”的资源。

ssh应该没有

可以考录使用虚拟机,控制每个虚拟机自身的带宽

关于linux ssh限制登入的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 简单有效的Linux SSH登入限制 (linux ssh限制登入)