pluswerk/secure-login

该软件包已被废弃,不再维护。未建议替代软件包。

+Pluswerk TYPO3 扩展:Secure Login - 暴力破解安全

安装数量: 3 113

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 10

分支: 2

开放问题: 3

类型:typo3-cms-extension

1.0.0 2018-02-16 13:58 UTC

This package is auto-updated.

Last update: 2022-03-01 15:33:13 UTC


README

Packagist Release Travis GitHub License Code Climate

+Pluswerk TYPO3 安全扩展:Secure Login

此扩展检查前端和后端登录以检测暴力破解攻击。您还可以检测和避免其他输入(如序列号输入或优惠券码输入)上的暴力破解攻击。

向尝试入侵的黑客说再见!

优点

  • 可扩展
  • 小巧
  • 安全改进
  • 只需安装并使用预设配置即可

暴力破解攻击识别

根据以下规则识别暴力破解攻击:

  1. 一个IP尝试了多个不同的用户
  2. 一个用户尝试了多个不同的密码

如果识别到暴力破解攻击,攻击IP(在第一种情况下)或用户(在第二种情况下)将被阻止特定时间段。

安装

通过composer(推荐)或通过TER(不再推荐)安装TYPO3扩展。

Composer安装

composer require pluswerk/secure-login

默认配置

如果没有进行设置,扩展将在一个小时内,如果用户有超过5次失败尝试,将阻止用户或IP两小时。

配置(可选)

// Default configuration: overwrite this in you own localconf.php
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['secure_login'] = [
    'defaultBlockingConfiguration' => [
        'FE' => \Pluswerk\SecureLogin\Configuration\BlockingConfiguration::createConfig(),
        'BE' => \Pluswerk\SecureLogin\Configuration\BlockingConfiguration::createConfig(),
    ],
];

添加以下配置

  • maxFailedAttempts: 在指定时间段 'timeRangeInSeconds' 内失败登录的最大次数。
  • timeRangeInSeconds: 计算maxFailedAttempts的时间段(以秒为单位)。
  • blockingPeriodInSeconds: 用户或IP被阻止的时间段(以秒为单位)。
示例

如果用户在'timeRangeInSeconds'秒内尝试了'maxFailedAttempts'次错误的密码,则将在'blockingPeriodInSeconds'秒内阻止该用户。

扩展扩展

显示安全消息

配置的阻止始终处于活动状态。要在前端显示安全消息,请将以下行添加到模板中

<!-- use namespace -->
<div xmlns:sl="http://typo3.org/ns/Pluswerk/SecureLogin/ViewHelpers"> 
  <!-- content goes here -->
  
  <f:if condition="{sl:securityMessage()}">
    <!-- fluid placeholder for security messages -->
    <p><sl:securityMessage/></p>
  </f:if>
  
  <!-- content goes here -->
</div> 

记录失败尝试

此示例记录失败的登录尝试

$formInDatabase = $this->formRepository->findBySerialNumber($form->getSerialNumber()); 
if (count($formInDatabase) > 0) { 
  /** @var \Pluswerk\SecureLogin\Configuration\BlockingConfiguration $blockingConfiguration */ 
  $blockingConfiguration = \Pluswerk\SecureLogin\Configuration\BlockingConfiguration::createConfig();
  
  /** @var AuthSecurityService $authSecurityService */
  $authSecurityService = GeneralUtility::makeInstance(AuthSecurityService::class);
  $authSecurityService->logUserPasswordAuthenticationFailed($username, $password);
}