auth: fehlgeschlagene Anmeldungen mit Einstieg (livewire/fortify/two-factor); unbekannte Adressen als Tageszähler statt Verlaufseintrag, Kachel im Systemstatus, Löschfrist 90 Tage
Auf Live kamen seit dem 05.10. rund 250 Versuche am Tag aus über 50 Quellen, alle mit unbekannter Adresse — verteiltes Durchprobieren fremder Zugangsdaten, das im Verlauf die relevanten Einträge verdeckte. Neue Tabelle failed_login_tallies (Tag × Einstieg × IP-Hash), model:prune täglich 04:05. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
9f806de1af
commit
05535aac37
9 changed files with 303 additions and 21 deletions
|
|
@ -20,6 +20,7 @@ use App\Console\Commands\PurgeRedactionSnapshots;
|
|||
use App\Console\Commands\RefreshMarketData;
|
||||
use App\Console\Commands\ResetMonthlyPressReleaseQuota;
|
||||
use App\Console\Commands\SweepOrphanPressReleaseOriginals;
|
||||
use App\Models\FailedLoginTally;
|
||||
use App\Support\OperationalAlert;
|
||||
use Illuminate\Console\Scheduling\Event;
|
||||
use Illuminate\Foundation\Inspiring;
|
||||
|
|
@ -245,6 +246,14 @@ Schedule::command(MonitoringHeartbeat::class)
|
|||
->withoutOverlapping(2)
|
||||
->onFailure($alertOnFailure('monitoring:heartbeat'));
|
||||
|
||||
// Tageszähler fehlgeschlagener Anmeldungen nach der Löschfrist entfernen
|
||||
// (täglich 04:05, config monitoring.failed_logins.retention_days).
|
||||
Schedule::command('model:prune', ['--model' => [FailedLoginTally::class]])
|
||||
->dailyAt('04:05')
|
||||
->withoutOverlapping(30)
|
||||
->runInBackground()
|
||||
->onFailure($alertOnFailure('model:prune failed_login_tallies'));
|
||||
|
||||
// Fehlgeschlagene Jobs nach 30 Tagen entfernen (täglich 03:55). Bis dahin
|
||||
// sind sie im Systemstatus sichtbar und per `queue:retry` wiederholbar.
|
||||
Schedule::command('queue:prune-failed', ['--hours=720'])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue