Files
f2b/fail2ban/testdata/fail2ban_multi_jail.log
Ismo Vuorinen 70d1cb70fd feat!: Go rewrite (#9)
* Go rewrite

* chore(cr): apply suggestions

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>

* 📝 CodeRabbit Chat: Add NoOpClient to fail2ban and initialize when skip flag is true

* 📝 CodeRabbit Chat: Fix malformed if-else structure and add no-op client for skip-only commands

* 📝 CodeRabbit Chat: Fix malformed if-else structure and add no-op client for skip-only commands

* fix(main): correct no-op branch syntax (#10)

* chore(gitignore): ignore env and binary files (#11)

* chore(config): remove indent_size for go files (#12)

* feat(cli): inject version via ldflags (#13)

* fix(security): validate filter parameter to prevent path traversal (#15)

* chore(repo): anchor ignore for build artifacts (#16)

* chore(ci): use golangci-lint action (#17)

* feat(fail2ban): expose GetLogDir (#19)

* test(cmd): improve IP mock validation (#20)

* chore(ci): update golanglint

* fix(ci): golanglint

* fix(ci): correct args indentation in pr-lint workflow (#21)

* fix(ci): avoid duplicate releases (#22)

* refactor(fail2ban): remove test check from OSRunner (#23)

* refactor(fail2ban): make log and filter dirs configurable (#24)

* fix(ci): create single release per tag (#14)

Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>

* chore(dev): add codex setup script (#27)

* chore(lint): enable staticcheck (#26)

* chore(ci): verify golangci config (#28)

* refactor(cmd): centralize env config (#29)

* chore(dev): add pre-commit config (#30)

* fix(ci): disable cgo in cross compile (#31)

* fix(ci): fail on formatting issues (#32)

* feat(cmd): add context to logs watch (#33)

* chore: fixes, roadmap, claude.md, linting

* chore: fixes, linting

* fix(ci): gh actions update, fixes and tweaks

* chore: use reviewdog actionlint

* chore: use wow-rp-addons/actions-editorconfig-check

* chore: combine agent instructions, add comments, fixes

* chore: linting, fixes, go revive

* chore(deps): update pre-commit hooks

* chore: bump go to 1.21, pin workflows

* fix: install tools in lint.yml

* fix: sudo timeout

* fix: service command injection

* fix: memory exhaustion with large logs

* fix: enhanced path traversal and file security vulns

* fix: race conditions

* fix: context support

* chore: simplify fail2ban/ code

* feat: major refactoring with GoReleaser integration and code consolidation

- Add GoReleaser configuration for automated multi-platform releases
  - Support for Linux, macOS, Windows, and BSD builds
  - Docker images, Homebrew tap, and Linux packages (.deb, .rpm, .apk)
  - GitHub Actions workflow for release automation

- Consolidate duplicate code and improve architecture
  - Extract common command helpers to cmd/helpers.go (~230 lines)
  - Remove duplicate MockClient implementation from tests (~250 lines)
  - Create context wrapper helpers in fail2ban/context_helpers.go
  - Standardize error messages in fail2ban/errors.go

- Enhance validation and security
  - Add proper IP address validation with fail2ban.ValidateIP
  - Fix path traversal and command injection vulnerabilities
  - Improve thread-safety in MockClient with consistent ordering

- Optimize documentation
  - Reduce CLAUDE.md from 190 to 81 lines (57% reduction)
  - Reduce TODO.md from 633 to 93 lines (85% reduction)
  - Move README.md to root directory with installation instructions

- Improve test reliability
  - Fix race conditions and test flakiness
  - Add sorting to ensure deterministic test output
  - Enhance MockClient with configurable behavior

* feat: comprehensive code quality improvements and documentation reorganization

This commit represents a major overhaul of code quality, documentation
structure, and development tooling:

**Documentation & Structure:**

- Move CODE_OF_CONDUCT.md from .github to root directory
- Reorganize documentation with dedicated docs/ directory
- Create comprehensive architecture, security, and testing documentation
- Update all references and cross-links for new documentation structure

**Code Quality & Linting:**

- Add 120-character line length limit across all files via EditorConfig
- Enable comprehensive linting with golines, lll, usetesting, gosec, and revive
- Fix all 86 revive linter issues (unused parameters, missing export comments)
- Resolve security issues (file permissions 0644 → 0600, gosec warnings)
- Replace deprecated os.Setenv with t.Setenv in all tests
- Configure golangci-lint with auto-fix capabilities and formatter integration

**Development Tooling:**

- Enhance pre-commit configuration with additional hooks and formatters
- Update GoReleaser configuration with improved YAML formatting
- Improve GitHub workflows and issue templates for CLI-specific context
- Add comprehensive Makefile with proper dependency checking

**Testing & Security:**

- Standardize mock patterns and context wrapper implementations
- Enhance error handling with centralized error constants
- Improve concurrent access testing for thread safety

* perf: implement major performance optimizations with comprehensive test coverage

This commit introduces three significant performance improvements along with
complete linting compliance and robust test coverage:

**Performance Optimizations:**
1. **Time Parsing Cache (8.6x improvement)**
    - Add TimeParsingCache with sync.Map for caching parsed times
    - Implement object pooling for string builders to reduce allocations
    - Create optimized BanRecordParser with pooled string slices

2. **Gzip Detection Consolidation (55x improvement)**
    - Consolidate ~100 lines of duplicate gzip detection logic
    - Fast-path extension checking before magic byte detection
    - Unified GzipDetector with comprehensive file handling utilities

3. **Parallel Processing (2.5-5.0x improvement)**
    - Generic WorkerPool implementation for concurrent operations
    - Smart fallback to sequential processing for single operations
    - Context-aware cancellation support for long-running tasks
    - Applied to ban/unban operations across multiple jails

**New Files Added:**
- fail2ban/time_parser.go: Cached time parsing with global instances
- fail2ban/ban_record_parser.go: Optimized ban record parsing
- fail2ban/gzip_detection.go: Unified gzip handling utilities
- fail2ban/parallel_processing.go: Generic parallel processing framework
- cmd/parallel_operations.go: Command-level parallel operation support

**Code Quality & Linting:**
- Resolve all golangci-lint issues (0 remaining)
- Add proper #nosec annotations for legitimate file operations
- Implement sentinel errors replacing nil/nil anti-pattern
- Fix context parameter handling and error checking

**Comprehensive Test Coverage:**
- 500+ lines of new tests with benchmarks validating all improvements
- Concurrent access testing for thread safety
- Edge case handling and error condition testing
- Performance benchmarks demonstrating measured improvements

**Modified Files:**
- fail2ban/fail2ban.go: Integration with new optimized parsers
- fail2ban/logs.go: Use consolidated gzip detection (-91 lines)
- cmd/ban.go & cmd/unban.go: Add conditional parallel processing

* test: comprehensive test infrastructure overhaul with real test data

Major improvements to test code quality and organization:

• Added comprehensive test data infrastructure with 6 anonymized log files
• Extracted common test helpers reducing ~200 lines to ~50 reusable functions
• Enhanced ban record parser tests with real production log patterns
• Improved gzip detection tests with actual compressed test data
• Added integration tests for full log processing and concurrent operations
• Updated .gitignore to allow testdata log files while excluding others
• Updated TODO.md to reflect completed test infrastructure improvements

* fix: comprehensive security hardening and critical bug fixes

Security Enhancements:
- Add command injection protection with allowlist validation for all external
  commands
- Add security documentation to gzip functions warning about path traversal risks
- Complete TODO.md security audit - all critical vulnerabilities addressed

Bug Fixes:
- Fix negative index access vulnerability in parallel operations (prevent panic)
- Fix parsing inconsistency between BannedIn and BannedInWithContext functions
- Fix nil error handling in concurrent log reading tests
- Fix benchmark error simulation to measure actual performance vs error paths

Implementation Details:
- Add ValidateCommand() with allowlist for fail2ban-client, fail2ban-regex,
  service, systemctl, sudo
- Integrate command validation into all OSRunner methods before execution
- Replace manual string parsing with ParseBracketedList() for consistency
- Add bounds checking (index >= 0) to prevent negative array access
- Replace nil error with descriptive error message in concurrent error channels
- Update banFunc in benchmark to return success instead of permanent errors

Test Coverage:
- Add comprehensive security validation tests with injection attempt patterns
- Add parallel operations safety tests with index validation
- Add parsing consistency tests between context/non-context functions
- Add error handling demonstration tests for concurrent operations
- Add gzip function security requirement documentation tests

* perf: implement ultra-optimized log and ban record parsing with significant performance gains

Major performance improvements to core fail2ban processing with
 comprehensive benchmarking:

Performance Achievements:
• Ban record parsing: 15% faster, 39% less memory, 45% fewer allocations
• Log processing: 27% faster, 64% less memory, 32% fewer allocations
• Cache performance: 624x faster cache hits with zero allocations
• String pooling: 4.7x improvement with zero memory allocations

Core Optimizations:
• Object pooling (sync.Pool) for string slices, scanner buffers, and line buffers
• Comprehensive caching (sync.Map) for gzip detection, file info, and path patterns
• Fast path optimizations with extension-based gzip detection
• Byte-level operations to reduce string allocations in filtering
• Ultra-optimized parsers with smart field parsing and efficient time handling

New Files:
• fail2ban/ban_record_parser_optimized.go - High-performance ban record parser
• fail2ban/log_performance_optimized.go - Ultra-optimized log processor with caching
• fail2ban/ban_record_parser_benchmark_test.go - Ban record parsing benchmarks
• fail2ban/log_performance_benchmark_test.go - Log performance benchmarks
• fail2ban/ban_record_parser_compatibility_test.go - Compatibility verification tests

Updated:
• fail2ban/fail2ban.go - Integration with ultra-optimized parsers
• TODO.md - Marked performance optimization tasks as completed

* fix(ci): install dev dependencies for pre-commit

* refactor: streamline pre-commit config and extract test helpers

- Replace local hooks with upstream pre-commit repositories for better maintainability
- Add new hooks: shellcheck, shfmt, checkov for enhanced code quality
- Extract common test helpers into dedicated test_helpers.go to reduce duplication
- Add warning logs for unreadable log files in fail2ban and logs packages
- Remove hard-coded GID checks in sudo.go for better cross-platform portability
- Update golangci-lint installation method in Makefile

* fix(security): path traversal, log file validation

* feat: complete pre-release modernization with comprehensive testing

- Remove all deprecated legacy functions and dead code paths
- Add security hardening with sanitized error messages
- Implement comprehensive performance benchmarks and security audit tests
- Mark all pre-release modernization tasks as completed (10/10)
- Update project documentation to reflect full completion status

* fix(ci): linting, and update gosec install source

* feat: implement comprehensive test framework with 60-70% code reduction

Major test infrastructure modernization:

- Create fluent CommandTestBuilder framework for streamlined test creation
- Add MockClientBuilder pattern for advanced mock configuration
- Standardize table test field naming (expectedOut→wantOutput, expectError→wantError)
- Consolidate test code: 3,796 insertions, 3,104 deletions (net +692 lines with enhanced functionality)

Framework achievements:
- 168+ tests passing with zero regressions
- 5 cmd test files fully migrated to new framework
- 63 field name standardizations applied
- Advanced mock patterns with fluent interface

File organization improvements:
- Rename all test files with consistent prefixes (cmd_*, fail2ban_*, main_*)
- Split monolithic test files into focused, maintainable modules
- Eliminate cmd_test.go (622 lines) and main_test.go (825 lines)
- Create specialized test files for better organization

Documentation enhancements:
- Update docs/testing.md with complete framework documentation
- Optimize TODO.md from 231→72 lines (69% token reduction)
- Add comprehensive migration guides and best practices

Test framework components:
- command_test_framework.go: Core fluent interface implementation
- MockClientBuilder: Advanced mock configuration with builder pattern
- table_test_standards.go: Standardized field naming conventions
- Enhanced test helpers with error checking consolidation

* chore: fixes, .go-version, linting

* fix(ci) editorconfig in .pre-commit-config.yaml

* fix: too broad gitignore

* chore: update fail2ban/fail2ban_path_security_test.go

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>

* chore: code review fixes

* chore: code review fixes

* fix: more code review fixes

* fix: more code review fixes

* feat: cleanup, fixes, testing

* chore: minor config file updates

- Add quotes to F2B_TIMEOUT value in .env.example for clarity
- Remove testdata log exception from .gitignore (simplified)

* feat: implement comprehensive monitoring with structured logging and metrics

- Add structured logging with context propagation throughout codebase
  - Implement ContextualLogger with request tracking and operation timing
  - Add context values for operation, IP, jail, command, and request ID
  - Integrate with existing logrus logging infrastructure

- Add request/response timing metrics collection
  - Create comprehensive Metrics system with atomic counters
  - Track command executions, ban/unban operations, and client operations
  - Implement latency distribution buckets for performance analysis
  - Add validation cache hit/miss tracking

- Enhance ban/unban commands with structured logging
  - Add LogOperation wrapper for automatic timing and context
  - Log individual jail operations with success/failure status
  - Integrate metrics recording with ban/unban operations

- Add new 'metrics' command to expose collected metrics
  - Support both plain text and JSON output formats
  - Display system metrics (uptime, memory, goroutines)
  - Show operation counts, failures, and average latencies
  - Include latency distribution histograms

- Update test infrastructure
  - Add tests for metrics command
  - Fix test helper to support persistent flags
  - Ensure all tests pass with new logging

This completes the high-priority performance monitoring and structured
logging requirements from TODO.md, providing comprehensive operational
visibility into the f2b application.

* docs: update TODO.md to reflect completed monitoring work

- Mark structured logging and timing metrics as completed
- Update test coverage stats (cmd/ improved from 66.4% to 76.8%)
- Add completed infrastructure section for today's work
- Update current status date and add monitoring to health indicators

* feat: complete TODO.md technical debt cleanup

Complete all remaining TODO.md tasks with comprehensive implementation:

## 🎯 Validation Caching Implementation
- Thread-safe validation cache with sync.RWMutex protection
- MetricsRecorder interface to avoid circular dependencies
- Cached validation for IP, jail, filter, and command validation
- Integration with existing metrics system for cache hit/miss tracking
- 100% test coverage for caching functionality

## 🔧 Constants Extraction
- Fail2Ban status codes: Fail2BanStatusSuccess, Fail2BanStatusAlreadyProcessed
- Command constants: Fail2BanClientCommand, Fail2BanRegexCommand, Fail2BanServerCommand
- File permissions: DefaultFilePermissions (0600), DefaultDirectoryPermissions (0750)
- Timeout limits: MaxCommandTimeout, MaxFileTimeout, MaxParallelTimeout
- Updated all references throughout codebase to use named constants

## 📊 Test Coverage Improvement
- Increased fail2ban package coverage from 62.0% to 70.3% (target: 70%+)
- Added 6 new comprehensive test files with 200+ additional test cases
- Coverage improvements across all major components:
  - Context helpers, validation cache, mock clients, OS runner methods
  - Error constructors, timing operations, cache statistics
  - Thread safety and concurrency testing

## 🛠️ Code Quality & Fixes
- Fixed all linting issues (golangci-lint, revive, errcheck)
- Resolved unused parameter warnings and error handling
- Fixed timing-dependent test failures in worker pool cancellation
- Enhanced thread safety in validation caching

## 📈 Final Metrics
- Overall test coverage: 72.4% (up from ~65%)
- fail2ban package: 70.3% (exceeds 70% target)
- cmd package: 76.9%
- Zero TODO/FIXME/HACK comments in production code
- 100% linting compliance

* fix: resolve test framework issues and update documentation

- Remove unnecessary defer/recover block in comprehensive_framework_test.go
- Fix compilation error in command_test_framework.go variable redeclaration
- Update TODO.md to reflect all 12 completed code quality fixes
- Clean up dead code and improve test maintainability
- Fix linting issues: error handling, code complexity, security warnings
- Break down complex test function to reduce cyclomatic complexity

* fix: replace dangerous test commands with safe placeholders

Replaces actual dangerous commands in test cases with safe placeholder patterns to prevent accidental execution while maintaining comprehensive security testing.

- Replace 'rm -rf /', 'cat /etc/passwd' with 'DANGEROUS_RM_COMMAND', 'DANGEROUS_SYSTEM_CALL'
- Update GetDangerousCommandPatterns() to recognize both old and new patterns
- Enhance filter validation with command injection protection (semicolons, pipes, backticks, dollar signs)
- Add package documentation comments for all packages (main, cmd, fail2ban)
- Fix GoReleaser static linking configuration for cross-platform builds
- Remove Docker platform restriction to enable multi-arch support
- Apply code formatting and linting fixes

All security validation tests continue to pass with the safe placeholders.

* fix: resolve TestMixedConcurrentOperations race condition and command key mismatches

The concurrency test was failing due to several issues:

1. **Command Key Mismatch**: Test setup used "sudo test arg" key but MockRunner
   looked for "test arg" because "test" command doesn't require sudo
2. **Invalid Commands**: Using "test" and "echo" commands that aren't in the
   fail2ban command allowlist, causing validation failures
3. **Race Conditions**: Multiple goroutines setting different MockRunners
   simultaneously, overwriting responses

**Solution:**
- Replace invalid test commands ("test", "echo") with valid fail2ban commands
  ("fail2ban-client status", "fail2ban-client -V")
- Pre-configure shared MockRunner with all required response keys for both
  sudo and non-sudo execution paths
- Improve test structure to reduce race conditions between setup and execution

All tests now pass reliably, resolving the CI failure.

* fix: address code quality issues and improve test coverage

- Replace unsafe type assertion with comma-ok idiom in logging
- Fix TestTestFilter to use created filter instead of nonexistent
- Add warning logs for invalid log level configurations
- Update TestVersionCommand to use consistent test framework pattern
- Remove unused LoggerContextKey constant
- Add version command support to test framework
- Fix trailing whitespace in test files

* feat: add timeout handling and multi-architecture Docker support

* test: enhance path traversal security test coverage

* chore: comprehensive documentation update and linting fixes

Updated all documentation to reflect current capabilities including context-aware operations, multi-architecture Docker support, advanced security features, and performance monitoring. Removed unused functions and fixed all linting issues.

* fix(lint): .goreleaser.yaml

* feat: add markdown link checker and fix all linting issues

- Add markdown-link-check to pre-commit hooks with comprehensive configuration
- Fix GitHub workflow structure (sync-labels.yml) with proper job setup
- Add JSON schemas to all configuration files for better IDE support
- Update tool installation in Makefile for markdown-link-check dependency
- Fix all revive linting issues (Boolean literals, defer in loop, if-else simplification, method naming)
- Resolve broken relative link in CONTRIBUTING.md
- Configure rate limiting and ignore patterns for GitHub URLs
- Enhance CLAUDE.md with link checking documentation

* fix(ci): sync-labels permissions

* docs: comprehensive documentation update reflecting current project status

- Updated TODO.md to show production-ready status with 21 commands
- Enhanced README.md with enterprise-grade features and capabilities
- Added performance monitoring and timeout configuration to FAQ
- Updated CLAUDE.md with accurate project architecture overview
- Fixed all line length issues to meet EditorConfig requirements
- Added .mega-linter.yml configuration for enhanced linting

* fix: address CodeRabbitAI review feedback

- Split .goreleaser.yaml builds for static/dynamic linking by architecture
- Update docs to accurately reflect 7 path traversal patterns (not 17)
- Fix containsPathTraversal to allow valid absolute paths
- Replace runnerCombinedRunWithSudoContext with RunnerCombinedOutputWithSudoContext
- Fix ldflags to use uppercase Version variable name
- Remove duplicate test coverage metrics in TODO.md
- Fix .markdown-link-check.json schema violations
- Add v8r JSON validator to pre-commit hooks

* chore(ci): update workflows, switch v8r to check-jsonschema

* fix: restrict static linking to amd64 only in .goreleaser.yaml

- Move arm64 from static to dynamic build configuration
- Static linking now only applies to linux/amd64
- Prevents build failures due to missing static libc on ARM64
- All architectures remain supported with appropriate linking

* fix(ci): caching

* fix(ci): python caching with pip, node with npm

* fix(ci): no caching for node then

* fix(ci): no requirements.txt, no cache

* refactor: address code review feedback

- Pin Alpine base image to v3.20 for reproducible builds
- Remove redundant --platform flags in GoReleaser Docker configs
- Fix unused parameters in concurrency test goroutines
- Simplify string search helper using strings.Contains()
- Remove redundant error checking logic in security tests

---------

Signed-off-by: Ismo Vuorinen <ismo@ivuorinen.net>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-08-07 01:49:45 +03:00

201 lines
22 KiB
Plaintext

2025-07-20 00:00:15,998 fail2ban.server [212791]: INFO rollover performed on /var/log/fail2ban.log
2025-07-20 00:02:41,241 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 00:02:40
2025-07-20 00:11:41,886 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 00:11:41
2025-07-20 00:21:07,386 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.102 - 2025-07-20 00:21:06
2025-07-20 00:24:53,328 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 00:24:52
2025-07-20 00:32:14,369 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 00:32:13
2025-07-20 00:52:16,809 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 00:52:16
2025-07-20 00:59:42,886 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 00:59:42
2025-07-20 01:09:38,136 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.102 - 2025-07-20 01:09:37
2025-07-20 01:41:47,574 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 01:41:47
2025-07-20 01:47:44,886 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 01:47:44
2025-07-20 01:48:41,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 01:48:41
2025-07-20 01:55:04,385 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.103 - 2025-07-20 01:55:03
2025-07-20 02:18:38,136 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.102 - 2025-07-20 02:18:37
2025-07-20 02:22:43,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 02:22:42
2025-07-20 02:30:59,135 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:30:58
2025-07-20 02:31:17,437 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 02:31:17
2025-07-20 02:33:37,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:33:37
2025-07-20 02:34:58,383 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:34:57
2025-07-20 02:35:46,633 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 02:35:46
2025-07-20 02:36:14,633 fail2ban.filter [212791]: INFO [nginx] Found 10.0.0.50 - 2025-07-20 02:36:14
2025-07-20 02:37:26,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:37:26
2025-07-20 02:37:27,231 fail2ban.actions [212791]: NOTICE [sshd] Ban 10.0.0.50
2025-07-20 02:40:44,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 02:40:44
2025-07-20 02:46:02,136 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.102 - 2025-07-20 02:46:01
2025-07-20 02:46:10,953 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 02:46:10
2025-07-20 02:47:26,575 fail2ban.actions [212791]: NOTICE [sshd] Unban 10.0.0.50
2025-07-20 02:48:25,384 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:48:25
2025-07-20 02:49:41,383 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:49:41
2025-07-20 02:50:10,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 02:50:10
2025-07-20 02:50:52,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:50:52
2025-07-20 02:52:00,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:52:00
2025-07-20 02:53:54,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 02:53:54
2025-07-20 02:54:28,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 02:54:28
2025-07-20 02:54:28,708 fail2ban.actions [212791]: NOTICE [sshd] Ban 10.0.0.50
2025-07-20 02:57:41,634 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 02:57:41
2025-07-20 03:01:29,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:01:29
2025-07-20 03:04:28,912 fail2ban.actions [212791]: NOTICE [sshd] Unban 10.0.0.50
2025-07-20 03:04:45,837 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 03:04:45
2025-07-20 03:05:20,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:05:20
2025-07-20 03:05:27,633 fail2ban.filter [212791]: INFO [postfix] Found 10.0.0.50 - 2025-07-20 03:05:27
2025-07-20 03:06:41,133 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 03:06:40
2025-07-20 03:07:57,133 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 03:07:56
2025-07-20 03:09:10,383 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.50 - 2025-07-20 03:09:09
2025-07-20 03:09:21,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:09:20
2025-07-20 03:13:09,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:13:08
2025-07-20 03:16:56,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:16:56
2025-07-20 03:20:39,649 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 03:20:39
2025-07-20 03:20:47,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:20:47
2025-07-20 03:21:21,088 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 03:21:20
2025-07-20 03:23:34,838 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 03:23:34
2025-07-20 03:28:39,886 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:28:39
2025-07-20 03:32:30,383 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:32:30
2025-07-20 03:36:18,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:36:18
2025-07-20 03:40:10,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:40:09
2025-07-20 03:43:20,883 fail2ban.filter [212791]: INFO [sshd] Found 192.168.2.108 - 2025-07-20 03:43:20
2025-07-20 03:43:21,383 fail2ban.filter [212791]: INFO [sshd] Found 192.168.2.108 - 2025-07-20 03:43:21
2025-07-20 03:43:22,346 fail2ban.filter [212791]: INFO [sshd] Found 192.168.2.108 - 2025-07-20 03:43:22
2025-07-20 03:43:23,133 fail2ban.filter [212791]: INFO [sshd] Found 192.168.2.108 - 2025-07-20 03:43:22
2025-07-20 03:43:31,633 fail2ban.filter [212791]: INFO [sshd] Found 175.215.143.90 - 2025-07-20 03:43:31
2025-07-20 03:43:50,926 fail2ban.filter [212791]: INFO [dovecot] Found 175.215.143.90 - 2025-07-20 03:43:50
2025-07-20 03:43:58,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:43:58
2025-07-20 03:44:09,883 fail2ban.filter [212791]: INFO [sshd] Found 175.215.143.90 - 2025-07-20 03:44:09
2025-07-20 03:48:00,136 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:47:59
2025-07-20 03:51:52,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:51:52
2025-07-20 03:55:38,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:55:37
2025-07-20 03:59:29,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 03:59:29
2025-07-20 03:59:52,695 fail2ban.filter [212791]: INFO [sshd] Found 143.105.99.59 - 2025-07-20 03:59:52
2025-07-20 04:03:23,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:03:23
2025-07-20 04:07:23,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:07:22
2025-07-20 04:09:52,740 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 04:09:52
2025-07-20 04:11:12,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:11:12
2025-07-20 04:11:18,633 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 04:11:18
2025-07-20 04:11:27,792 fail2ban.filter [212791]: INFO [sshd] Found 118.41.246.179 - 2025-07-20 04:11:27
2025-07-20 04:12:25,383 fail2ban.filter [212791]: INFO [sshd] Found 38.242.142.140 - 2025-07-20 04:12:24
2025-07-20 04:14:59,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:14:59
2025-07-20 04:18:53,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:18:52
2025-07-20 04:19:42,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 04:19:42
2025-07-20 04:20:37,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 04:20:37
2025-07-20 04:22:41,133 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:22:40
2025-07-20 04:26:38,383 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:26:38
2025-07-20 04:29:20,823 fail2ban.filter [212791]: INFO [sshd] Found 103.243.24.68 - 2025-07-20 04:29:20
2025-07-20 04:30:29,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:30:29
2025-07-20 04:34:12,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:34:12
2025-07-20 04:38:05,383 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.101 - 2025-07-20 04:38:05
2025-07-20 04:39:48,588 fail2ban.filter [212791]: INFO [sshd] Found 103.63.25.239 - 2025-07-20 04:39:48
2025-07-20 04:53:34,386 fail2ban.filter [212791]: INFO [sshd] Found 103.144.247.183 - 2025-07-20 04:53:33
2025-07-20 04:58:54,603 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 04:58:54
2025-07-20 04:59:08,261 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 04:59:08
2025-07-20 05:00:29,883 fail2ban.filter [212791]: INFO [sshd] Found 45.148.10.240 - 2025-07-20 05:00:29
2025-07-20 05:17:57,886 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 05:17:57
2025-07-20 05:21:25,633 fail2ban.filter [212791]: INFO [sshd] Found 45.148.10.240 - 2025-07-20 05:21:25
2025-07-20 05:28:26,386 fail2ban.filter [212791]: INFO [sshd] Found 45.148.10.240 - 2025-07-20 05:28:25
2025-07-20 05:35:28,136 fail2ban.filter [212791]: INFO [sshd] Found 45.148.10.240 - 2025-07-20 05:35:27
2025-07-20 05:36:38,675 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 05:36:38
2025-07-20 05:46:29,635 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 05:46:29
2025-07-20 05:48:47,794 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 05:48:47
2025-07-20 05:56:34,386 fail2ban.filter [212791]: INFO [sshd] Found 45.148.10.240 - 2025-07-20 05:56:33
2025-07-20 06:10:38,591 fail2ban.filter [212791]: INFO [sshd] Found 45.148.10.240 - 2025-07-20 06:10:38
2025-07-20 06:19:31,342 fail2ban.filter [212791]: INFO [sshd] Found 192.168.2.108 - 2025-07-20 06:19:31
2025-07-20 06:19:32,383 fail2ban.filter [212791]: INFO [nginx] Found 192.168.2.108 - 2025-07-20 06:19:32
2025-07-20 06:19:33,513 fail2ban.filter [212791]: INFO [sshd] Found 192.168.2.108 - 2025-07-20 06:19:33
2025-07-20 06:19:33,513 fail2ban.filter [212791]: INFO [sshd] Found 192.168.2.108 - 2025-07-20 06:19:33
2025-07-20 06:21:11,494 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.102 - 2025-07-20 06:21:11
2025-07-20 06:28:12,886 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.102 - 2025-07-20 06:28:12
2025-07-20 06:33:49,635 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 06:33:49
2025-07-20 06:37:53,141 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 06:37:52
2025-07-20 06:49:04,886 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.102 - 2025-07-20 06:49:04
2025-07-20 06:52:46,074 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 06:52:45
2025-07-20 07:14:49,136 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 07:14:48
2025-07-20 07:16:08,883 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.102 - 2025-07-20 07:16:08
2025-07-20 07:20:58,019 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 07:20:57
2025-07-20 07:26:08,278 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 07:26:08
2025-07-20 07:49:46,137 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.102 - 2025-07-20 07:49:45
2025-07-20 08:07:08,068 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 08:07:08
2025-07-20 08:08:15,633 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 08:08:15
2025-07-20 08:12:00,597 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 08:12:00
2025-07-20 08:12:52,633 fail2ban.filter [212791]: INFO [sshd] Found 182.92.152.119 - 2025-07-20 08:12:52
2025-07-20 08:14:38,987 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 08:14:38
2025-07-20 08:28:13,390 fail2ban.filter [212791]: INFO [sshd] Found 60.164.242.161 - 2025-07-20 08:28:13
2025-07-20 08:51:53,383 fail2ban.filter [212791]: INFO [postfix] Found 10.0.0.51 - 2025-07-20 08:51:53
2025-07-20 08:55:10,883 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 08:55:10
2025-07-20 08:55:25,383 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 08:55:24
2025-07-20 08:56:33,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 08:56:33
2025-07-20 08:57:58,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 08:57:58
2025-07-20 08:59:23,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 08:59:23
2025-07-20 08:59:23,776 fail2ban.actions [212791]: NOTICE [sshd] Ban 10.0.0.51
2025-07-20 08:59:58,134 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 08:59:57
2025-07-20 09:02:43,282 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 09:02:43
2025-07-20 09:07:14,383 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:07:13
2025-07-20 09:09:23,947 fail2ban.actions [212791]: NOTICE [sshd] Unban 10.0.0.51
2025-07-20 09:10:33,383 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:10:33
2025-07-20 09:11:05,883 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:11:05
2025-07-20 09:12:02,133 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:12:01
2025-07-20 09:13:25,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:13:25
2025-07-20 09:14:45,383 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:14:45
2025-07-20 09:14:49,383 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:14:48
2025-07-20 09:16:11,883 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:16:11
2025-07-20 09:16:12,108 fail2ban.actions [212791]: NOTICE [sshd] Ban 10.0.0.51
2025-07-20 09:18:30,324 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:18:29
2025-07-20 09:21:55,383 fail2ban.filter [212791]: INFO [dovecot] Found 172.16.0.100 - 2025-07-20 09:21:55
2025-07-20 09:22:07,173 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:22:07
2025-07-20 09:26:00,133 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:25:59
2025-07-20 09:26:12,262 fail2ban.actions [212791]: NOTICE [sshd] Unban 10.0.0.51
2025-07-20 09:26:32,134 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:26:31
2025-07-20 09:28:01,383 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:28:00
2025-07-20 09:29:28,633 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:29:28
2025-07-20 09:29:51,133 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:29:50
2025-07-20 09:30:58,426 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:30:58
2025-07-20 09:32:17,883 fail2ban.filter [212791]: INFO [sshd] Found 10.0.0.51 - 2025-07-20 09:32:17
2025-07-20 09:32:18,375 fail2ban.actions [212791]: NOTICE [sshd] Ban 10.0.0.51
2025-07-20 09:33:36,884 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:33:36
2025-07-20 09:37:22,133 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:37:21
2025-07-20 09:41:01,633 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:41:01
2025-07-20 09:42:17,753 fail2ban.actions [212791]: NOTICE [sshd] Unban 10.0.0.51
2025-07-20 09:42:42,181 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 09:42:42
2025-07-20 09:44:53,883 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:44:53
2025-07-20 09:48:40,883 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:48:40
2025-07-20 09:50:57,077 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 09:50:56
2025-07-20 09:52:30,883 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:52:30
2025-07-20 09:56:16,883 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:56:16
2025-07-20 09:59:51,633 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 09:59:51
2025-07-20 10:00:22,500 fail2ban.filter [212791]: INFO [sshd] Found 61.155.106.101 - 2025-07-20 10:00:22
2025-07-20 10:03:42,383 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:03:41
2025-07-20 10:06:48,633 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 10:06:48
2025-07-20 10:07:35,618 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:07:35
2025-07-20 10:11:25,383 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:11:25
2025-07-20 10:15:06,542 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:15:06
2025-07-20 10:18:44,383 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:18:44
2025-07-20 10:22:39,883 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:22:39
2025-07-20 10:26:31,133 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:26:30
2025-07-20 10:29:26,088 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 10:29:25
2025-07-20 10:30:19,633 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:30:19
2025-07-20 10:36:44,886 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 10:36:44
2025-07-20 10:37:42,383 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:37:41
2025-07-20 10:38:59,194 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 10:38:58
2025-07-20 10:41:33,883 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:41:33
2025-07-20 10:45:21,383 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:45:21
2025-07-20 10:47:42,107 fail2ban.filter [212791]: INFO [sshd] Found 8.209.252.62 - 2025-07-20 10:47:41
2025-07-20 10:49:08,133 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:49:07
2025-07-20 10:52:50,571 fail2ban.filter [212791]: INFO [nginx] Found 129.222.184.12 - 2025-07-20 10:52:50
2025-07-20 10:56:29,883 fail2ban.filter [212791]: INFO [sshd] Found 129.222.184.12 - 2025-07-20 10:56:29
2025-07-20 10:58:08,368 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 10:58:07
2025-07-20 11:06:04,372 fail2ban.filter [212791]: INFO [sshd] Found 8.138.44.199 - 2025-07-20 11:06:03
2025-07-20 11:16:04,889 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 11:16:04
2025-07-20 11:26:01,636 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 11:26:01
2025-07-20 11:26:49,823 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 11:26:49
2025-07-20 11:33:19,636 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 11:33:19
2025-07-20 11:47:50,385 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 11:47:50
2025-07-20 11:51:23,883 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 11:51:23
2025-07-20 11:51:24,383 fail2ban.filter [212791]: INFO [sshd] Found 172.16.0.100 - 2025-07-20 11:51:24
2025-07-20 11:53:41,843 fail2ban.filter [212791]: INFO [sshd] Found 121.167.77.220 - 2025-07-20 11:53:41
2025-07-20 11:55:02,133 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 11:55:01
2025-07-20 12:02:22,886 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 12:02:22
2025-07-20 12:02:37,883 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.101 - 2025-07-20 12:02:37
2025-07-20 12:09:29,680 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 12:09:29
2025-07-20 12:14:29,673 fail2ban.filter [212791]: INFO [sshd] Found 192.168.1.100 - 2025-07-20 12:14:29
2025-07-20 12:16:42,883 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 12:16:42
2025-07-20 12:24:05,886 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 12:24:05
2025-07-20 12:31:20,385 fail2ban.filter [212791]: INFO [sshd] Found 92.118.39.71 - 2025-07-20 12:31:20