pluswerk / secure-login
该软件包已被废弃,不再维护。未建议替代软件包。
+Pluswerk TYPO3 扩展:Secure Login - 暴力破解安全
1.0.0
2018-02-16 13:58 UTC
Requires
- php: >=5.6.0
Requires (Dev)
Replaces
- secure_login: 1.0.0
- typo3-ter/secure-login: 1.0.0
- typo3-ter/secure_login: 1.0.0
This package is auto-updated.
Last update: 2022-03-01 15:33:13 UTC
README
+Pluswerk TYPO3 安全扩展:Secure Login
此扩展检查前端和后端登录以检测暴力破解攻击。您还可以检测和避免其他输入(如序列号输入或优惠券码输入)上的暴力破解攻击。
向尝试入侵的黑客说再见!
优点
- 可扩展
- 小巧
- 安全改进
- 只需安装并使用预设配置即可
暴力破解攻击识别
根据以下规则识别暴力破解攻击:
- 一个IP尝试了多个不同的用户
- 一个用户尝试了多个不同的密码
如果识别到暴力破解攻击,攻击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); }