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 прост в настройке и использовании, что делает его доступным даже для начинающих пользователей.
git clone https://github.com/trottling/Go-Watcher.git-
Отредактируйте файл конфигурации
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$"]
}
}
Запустите исполняемый файл Go-Watcher:
go run main.go