Skip to content

trottling/Go-Watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go-Watcher - это легковесный инструмент безопасности, написанный на Go, который отслеживает подозрительную активность и блокирует ее.

Этот репозиторий - тестовое задание на стажировку в CyberOK

Ключевые возможности

  • Мониторинг логов Nginx в реальном времени: Go-Watcher постоянно отслеживает логи доступа Nginx на наличие подозрительных запросов.
  • Обнаружение атак: Используя настраиваемые правила и регулярные выражения, Go-Watcher может идентифицировать различные типы атак, такие как:
    • Сканирование портов
    • SQL-инъекции
    • Межсайтовый скриптинг (XSS)
    • Брутфорс
  • Блокировка IP-адресов: При обнаружении подозрительной активности Go-Watcher может автоматически блокировать IP-адрес злоумышленника, добавляя его в черный список Nginx.
  • Гибкая конфигурация: Вы можете настроить Go-Watcher для:
    • Мониторинга определенных путей
    • Игнорирования определенных IP-адресов
    • Настройки чувствительности обнаружения
  • Ведение журнала событий: Go-Watcher ведет подробный журнал всех обнаруженных событий, включая:
    • Дату и время
    • IP-адрес злоумышленника
    • Заблокированный URL-адрес
    • Тип атаки
  • Простота использования: Go-Watcher прост в настройке и использовании, что делает его доступным даже для начинающих пользователей.

Установка

Шаг 1: Скачайте последнюю версию Go-Watcher

git clone https://github.com/trottling/Go-Watcher.git

Шаг 2: Сконфигурируйте Go-Watcher

  1. Отредактируйте файл конфигурации config.json:

    • Задайте правила обнаружения.
    • Настройте другие параметры.

    Пример конфигурации config.json:

{
  "Proxy_Server": {
    "Port": 8080,
    "Show_Connections_STDOUT": true
  },
  "Activity_Handler": {
    "Non_legit_Ports_RPM": 10,
    "Legit_Ports_RPM": 50,
    "Legit_Paths_Ignore_Regex": [".*/favicon.ico$"],
    "Legit_Ports": [0, 80, 443],
    "Legit_Paths_Brute_Regex": [".*/login$"],
    "Legit_Paths_Brute_RPM": 10,
    "Block_IPs": true,
    "Block_IPs_time": 600,
    "Dump_Requests": true,
    "Requests_Dump_Ignore_Regex": [".*.ico$", ".*.css$", ".*.png$", ".*.js$"]
  }
}

Шаг 3: Запустите Go-Watcher

Запустите исполняемый файл Go-Watcher:

go run main.go

About

A system for collecting and blocking data on unwanted activity on the network

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages