PHPackages                             innoweb/silverstripe-fail2ban - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. innoweb/silverstripe-fail2ban

ActiveSilverstripe-vendormodule

innoweb/silverstripe-fail2ban
=============================

Logs failed logins into a separate log file to be consumed by Fail2ban to block IPs with failed logins.

2.0.0(7mo ago)0241BSD-3-ClausePHP

Since Oct 14Pushed 7mo ago2 watchersCompare

[ Source](https://github.com/innowebau/silverstripe-fail2ban)[ Packagist](https://packagist.org/packages/innoweb/silverstripe-fail2ban)[ Docs](http://github.com/innowebau/silverstripe-fail2ban)[ RSS](/packages/innoweb-silverstripe-fail2ban/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

Silverstripe login Fail2ban integration
=======================================

[](#silverstripe-login-fail2ban-integration)

[![Version](https://camo.githubusercontent.com/6c277e588b79a7945921438e08c8252f29aa81bc9ec385d62175346af82f3f52/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696e6e6f7765622f73696c7665727374726970652d6661696c3262616e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/innoweb/silverstripe-fail2ban)[![License](https://camo.githubusercontent.com/ad9984362ea8d30a90acec9de0b698b08f46d15cd5f04a815dfb0762bed9009c/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f696e6e6f7765622f73696c7665727374726970652d6661696c3262616e2e7376673f7374796c653d666c61742d737175617265)](license.md)

Overview
--------

[](#overview)

Logs failed logins into a separate log file to be consumed by Fail2ban to block IPs with failed logins

Requirements
------------

[](#requirements)

- Silverstripe Framework 6

Installation
------------

[](#installation)

Install the module using composer:

```
composer require innoweb/silverstripe-fail2ban
```

Then run dev/build.

### configure Silverstripe log file location

[](#configure-silverstripe-log-file-location)

By default, the login attempts are logged to `silverstripe-login.log` in the base folder of your project.

You can change the log file location by adding the following Silverstripe config:

```
Innoweb\SilverstripeFail2Ban\Extensions\LoginAttemptExtension:
  login_logfile: 'your/path/to/silverstripe-login.log'
```

Alternatively, you can set the log file location in your `.env` file:

```
FAIL2BAN_LOGIN_LOGFILE=your/path/to/silverstripe-login.log
```

### configure Fail2ban jail

[](#configure-fail2ban-jail)

Add the Fail2ban filter to `/etc/fail2ban/filter.d/silverstripe-login.conf`:

```
# Fail2Ban filter for silverstripe logins

[INCLUDES]

before = common.conf

[Definition]

datepattern = \[%%Y-%%m-%%dT%%H:%%M:%%S.%%f%%z\]

failregex = ^ ss-fail2ban\.INFO: Login Failure - host:  \[\] \[\]$

ignoreregex =

# DEV Notes:
#
# pattern :     [2024-10-14T11:47:16.259637+11:00] ss-fail2ban.INFO: Login Failure - host: 127.0.0.1 [] []
#               [2024-10-14T11:47:16.259637+11:00] ss-fail2ban.INFO: Login Failure - host: 127.0.0.1 [] []

```

Add the following to your `/etc/fail2ban/jail.local` to enable the filter:

```
[silverstripe-login]
enabled	= true
logpath = /your/path/to/silverstripe-login.log

```

License
-------

[](#license)

BSD 3-Clause License, see [License](license.md)

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance63

Regular maintenance activity

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~172 days

Total

3

Last Release

229d ago

Major Versions

1.x-dev → 2.0.02025-09-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/0d2e71d7787401a7bd4916062346163897f89f455d650ab32b5d60cd14825ad3?d=identicon)[xini](/maintainers/xini)

---

Top Contributors

[![xini](https://avatars.githubusercontent.com/u/1152403?v=4)](https://github.com/xini "xini (8 commits)")

---

Tags

silverstripeloginfail2ban

### Embed Badge

![Health badge](/badges/innoweb-silverstripe-fail2ban/health.svg)

```
[![Health](https://phpackages.com/badges/innoweb-silverstripe-fail2ban/health.svg)](https://phpackages.com/packages/innoweb-silverstripe-fail2ban)
```

###  Alternatives

[silverstripe/cms

The SilverStripe Content Management System

5163.4M1.3k](/packages/silverstripe-cms)[silverstripe/login-forms

A collection of templates for the CMS login screens

191.3M26](/packages/silverstripe-login-forms)[silverstripe/admin

SilverStripe admin interface

262.6M325](/packages/silverstripe-admin)[bigfork/silverstripe-oauth-login

SilverStripe logins via OAuth2, using the PHP League's OAuth2 client

1794.7k2](/packages/bigfork-silverstripe-oauth-login)[silverstripe/silverstripe-omnipay

SilverStripe Omnipay Payment Module

38106.0k15](/packages/silverstripe-silverstripe-omnipay)[silverleague/ideannotator

Generate PHP DocBlock annotations for DataObject and DataExtension databasefields and relation methods

4768.0k43](/packages/silverleague-ideannotator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
