linux尝试登录失败后锁定用户账户的两种方法

在Linux中,有时候出于安全考虑需要在一定的登陆尝试次数失败后锁定用户账户来防止恶意攻击和暴力破解等行为。以下是两种常用的锁定用户账户的方法:

方法一:使用pam_tally2

1. 安装pam_tally2

pam_tally2是一个账户锁定模块,提供了一种在用户尝试次数达到限制后锁定账户的方式。

要使用pam_tally2,需要先安装它。在Debian系列的Linux中,使用以下命令进行安装:

sudo apt-get update && sudo apt-get install libpam-tally2

2. 配置pam_tally2

在配置pam_tally2之前,需要注意以下几点:

  • pam_tally2需要进行权限配置,只会对有权限的用户有效。
  • pam_tally2只会在用户认证过程中计数。

编辑/etc/pam.d/common-auth文件,在文件末尾添加以下行:

auth required pam_tally2.so deny=5 unlock_time=120 fail_interval=10

这里解释一下各个参数的含义:

  • deny:表示达到锁定阈值后deny用户,默认为0代表禁止登录。
  • unlock_time:表示锁定的时长,在此时间内无法登录,默认为0代表需要管理员手动解锁。
  • fail_interval:表示认证尝试失败的时间间隔,单位为秒,默认为0代表不启用此功能。

3. 测试pam_tally2

在配置修改完成后,需要重新启动ssh服务,将修改的内容生效:

sudo systemctl restart ssh

之后,可以进行测试,使用错误的密码进行多次尝试,在5次失败后,会自动锁定账户,并提示:

login: user
Password:
Password:
Password:
Password:
Password:
Account locked due to 5 failed login attempts; please contact your system administrator

在120秒后即可自动解锁。

方法二:使用fail2ban

fail2ban是一个基于日志的安全应用程序。它监控系统日志,发现恶意行为后自动加入防火墙规则或锁定账户。

以下是在Debian系列的Linux中使用fail2ban来锁定账户的方法:

1. 安装fail2ban

使用以下命令进行安装:

sudo apt-get update && apt-get install fail2ban

2. 配置fail2ban

fail2ban的配置文件是/etc/fail2ban/jail.local。通过修改此文件,可以修改规则和行为。

在文件末尾添加以下规则:

[ssh]
maxretry = 5
bantime = 120

这里解释一下各个参数的含义:

  • maxretry:表示达到锁定阈值后锁定用户。
  • bantime:表示锁定的时长,单位为秒。

3. 测试fail2ban

在配置文件修改完毕后,需要重新启动fail2ban服务:

sudo systemctl restart fail2ban

之后,可以进行测试,使用错误的密码进行尝试,在5次失败后,会自动锁定账户并加入防火墙规则。在120秒后,规则会自动解除。

参考示例:

在Debian系列的Linux中,可以通过以下方式查看fail2ban的防火墙规则:

sudo iptables -L

可以发现,在5次失败后,系统自动加入了以下规则:

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
REJECT     all  --  45.118.134.133       anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere

其中,45.118.134.133为攻击者的IP地址。这样,攻击者从此IP地址进行访问将会被拒绝。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux尝试登录失败后锁定用户账户的两种方法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 百度网盘下载东西显示本地文件写入失败的解决办法

    下面是关于“百度网盘下载东西显示本地文件写入失败的解决办法”的完整攻略。 问题描述 当你在使用百度网盘下载东西时,有时会出现本地文件写入失败的情况,具体表现为该文件的下载状态为出现一道红色的感叹号,并在状态栏下方显示“本地文件写入失败”的提示。 解决步骤 针对该问题,我提供以下解决步骤: 检查本地磁盘空间是否充足 如果你的本地磁盘空间不足,那么就会导致无法写…

    database 2023年5月21日
    00
  • SQL server 2008 数据库优化常用脚本

    让我们来详细讲解“SQL server 2008 数据库优化常用脚本”的完整攻略。 1. 为什么需要数据库优化? 提高数据库的性能,缩短数据保存和数据检索过程的时间,是我们进行数据库优化的主要目的。在处理海量数据的过程中,数据库优化至关重要,可以让你的系统运行更加快捷、高效。 2. 数据库优化的方法 数据库物理设计优化 SQL语句优化 数据库参数优化 系统与…

    database 2023年5月19日
    00
  • SpringBoot整合MyBatis-Plus乐观锁不生效的问题及解决方法

    下面我将详细讲解SpringBoot整合MyBatis-Plus乐观锁不生效的问题及解决方法。 问题描述 在使用SpringBoot整合MyBatis-Plus过程中,我们很容易遇到乐观锁不生效的问题。即在多线程操作同一条记录时,最后一次更新的操作会覆盖之前的更新,导致乐观锁失效。 问题原因 MyBatis-Plus默认使用的是OptimisticLockI…

    database 2023年5月21日
    00
  • set rs=conn.execute,set rs=server.createobject(“ADODB.recordset”)的性能对比

    首先,我们需要了解 “set rs=conn.execute” 和 “set rs=server.createobject(“ADODB.recordset”)” 这两句语句的含义以及区别。 “set rs=conn.execute” 是一个用于执行 SQL 查询并返回结果集的方法。它直接执行 SQL 命令,获得结果集后直接将其保存到 Recordset 对…

    database 2023年5月21日
    00
  • 怎么永久激活Navicat for MongoDB 附激活教程+注册机下载

    怎么永久激活Navicat for MongoDB 一、下载Navicat for MongoDB注册机 首先,我们需要下载Navicat for MongoDB的注册机,可以在百度上搜索“Navicat for MongoDB注册机下载”或在下载网站上进行搜索,如草窝网和天翼云盘等。 下载完注册机后,解压缩并运行软件。 二、下载Navicat for Mo…

    database 2023年5月22日
    00
  • PHP7安装Redis扩展教程【Linux与Windows平台】

    以下是详细的“PHP7安装Redis扩展教程【Linux与Windows平台】”攻略: Linux平台安装Redis扩展 前置条件 已安装PHP7 已安装Redis服务端 已安装PHP7的pecl扩展 步骤一:下载Redis扩展 使用pecl命令下载Redis扩展,执行命令: pecl install redis 步骤二:安装Redis扩展 在完成下载Red…

    database 2023年5月22日
    00
  • SQL中游标(cursor)的基本使用实例

    来讲解SQL中游标(cursor)的基本使用实例的完整攻略。 什么是游标? 游标是一种对结果集中的数据进行单独处理的技术,通常用于需要对查询结果进行逐行处理的情况。它可以类比在文件中移动指针,按照指针指向的位置进行对数据的操作。 游标的基本使用 游标的基本使用分为以下三步: 定义游标。 执行游标,并将游标定位到结果集的第一条。 处理游标的当前记录,并将游标定…

    database 2023年5月21日
    00
  • MySQL基础入门之Case语句用法实例

    MySQL基础入门之Case语句用法实例,是一篇关于MySQL中Case语句的使用介绍的文章。Case语句是在进行条件判断时使用的语句,在实际应用中具有非常重要的作用。 一、Case语句的用法 在MySQL中,Case语句的基本用法分为两种,分别是Simple Case语句和Searched Case语句。 1. Simple Case语句 Simple C…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部