Skip to content

🔏 SherLock to find out about connections to your server.

Notifications You must be signed in to change notification settings

Vinniko/SherLock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

SherLock


  1. Подготовка к установке скрипта

Необходимые пакеты для работы скрипта:

python3 (apt-get install python3)

pip3 (apt-get install python3-pip)

pymysql (pip install pymysql)

Файл Connections/Connections.json содержит в себе реквизиты для подключения скрипта к базе данных(перед началом работы следует заменить тестовые данные на реальные, т.е. имя хостинга, имя самой базы, пользователь и пароль. Порт не меняется!)

Пример:
{
"DataBaseName": "имя_базы_данных",
"DataBaseUser": "имя_пользователя",
"DataBasePassword": "пароль",
"DataBaseHost": "имя_хоста",
"DataBasePort": "3306"
}

Файл Configs/Configs.json содержит в себе настройки, которые учитываются при непосредственной работе скрипта: -игнорируемые ip адреса (обращение на эти ip адреса не будут записываться в базу) -прослушиваемые порты (обращение на эти порты будут записываться в базу) Редактирование данного файла также следует осуществлять перед запуском скрипта. Количество адресов и портов не ограничено.

Пример:
{
"removedIps": ["ip-address1","ip-address2",...,"ip-address..."],
"usingPorts": [ "port1", "port2",...,"port..."]
}


  1. Установка скрипта

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

python3 SherLock.py

(Однако, в таком случае программа будет работать только на время текущей сессии)

По-этому для удобства запишем его в cron:

crontab -e

После, в открывшемся файле вводим необходимые данные о частоте запуска программы.


Немного теории:

Параметр: Допустимый интервал
минуты: 0-59
часы: 0-23
день месяца: 1-31
месяц: 1-12
день недели: 0-7 (0-Вс,1-Пн,2-Вт,3-Ср,4-Чт,5-Пт,6-Сб,7-Вс)

Поле может быть задано явно или шаблоном:
1)* — любая цифра;
2)целое число;
3)целые числа через запятую — задание дискретного множества значений,например 1,2,5;
4)два целых числа, разделенные дефисом, соответствующие диапазону значений,например 3-6.


Пример готовой строки сценария cron:

Выполнять задание в 18 часов 7 минут 13 мая если это пятница

7 18 13 5 5 .../SherLock/SherLock/SherLock.py

Выполнять задание раз в час в 0 минут

0 */1 * * * .../SherLock/SherLock/SherLock.py

Выполнять задание каждые семь часов в 0 минут

0 */7 * * * .../SherLock/SherLock/SherLock.py

Выполнять задание по воскресеньям в 10 час 30 минут

30 10 * * 0 .../SherLock/SherLock/SherLock.py

P.S.
1) вместо {...} вводится полный путь к папке
2) папка скрипта может находиться в любом месте, главное, чтобы все файлы, нахощиеся в папке никуда не перемещались и не удалялись.

После сохраняем изменения и перезагружаем систему.

About

🔏 SherLock to find out about connections to your server.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages