Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Написать bash скрипт для анализа логов nginx и создания списка блокировки IP

ОС Debian 9

Пример лог-файлов прикреплен к заданию

Функции:

Поиск лог файлов по путям /var/www/*/log/access.log

·        IP адреса, совершившие запросы «GET /wp-login.php» и «POST /wp-login.php»

·        IP адреса, получившие более 5 ответов 404 на свои запросы в течении 30 секунд

·        IP адреса, получившие более 5 ответов 400 на свои запросы в течении 30 секунд

·        IP адреса, User agent которых включал в себя:

o  X11; Ubuntu;

o  DotBot/1.1

o  AhrefsBot

o  SeznamBot

o  Список useragent будет дополняться – его необходимо вынести в отдельный файл, который будет загружаться при каждом запуске скрипта

 

Не менее 3 вхождений wp-login.php

Для файлов /var/www/*/log/error.log

·        Собирать IP с вхождением подстроки «access forbidden by rule

·        Собирать IP с вхождением подстроки «GET /wp-login.php»

·        Собирать IP с вхождением подстроки «POST /wp-login.php»

·        Собирать IP с вхождением подстроки «POST /xmlrpc.php»

·        Собирать IP с 10 и более последовательными обращениями к разным страницам сайта с интервалом менее 1-3 секунды между каждым запросом

Результатом работы скрипта должны быть следующие действия:

1.      Лог файл в csv формате с колонками ip;количество запросов, совершенных к моему серверу

2.      Внесение в список блокировки ip tables IP адресов из п.1

3.      Архивация проанализированных файлов access.log, error.log,

4.      удаление исходных файлов access.log, error.log

5.      перезапуск сервера nginx

Скрипт будет работать из директории /var/www, запускаться с правами пользователя script:www-data.

Все логи принадлежат пользователям из группы www-data

4 года назад
robertkein
Роман 
40 летТаиланд
13 лет в сервисе
Был
2 года назад
Выбранный исполнитель
vaxvms
49 летГермания
11 лет в сервисе
Был
19 часов назад
4 года назад
$40
1 день
Алексей справился с нетривиальной задачей более чем хорошо. Объяснил абсурдность некоторых требований и сделал все в лучшем виде. Настоятельно рекомендую к сотрудничеству и сам буду обращаться в будущем. Благодарю.
Роман - профессиональный заказчик! Всегда на связи, четкие задачи, мгновенная оплата! Очень приятно работать, буду очень рад дальнейшим задачам!