-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Project description updated and extended
- Loading branch information
Showing
4 changed files
with
240 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,84 @@ | ||
# Как внести свой вклад в ERM&CK | ||
|
||
Основной вклад от специалиста по ИБ - Pull Request с новыми знаниями в формате нашего фреймворка. Вы можете создавать новые или дополнять существующие сущности: | ||
- сценарии реагирования | ||
- действия реагирования | ||
- реализации действий реагирования | ||
- артефакты | ||
- ПО | ||
|
||
Подробная инструкция о том как создавать Pull Request будет опубликована позже. | ||
--- | ||
|
||
Ваш вклад имеет большое значение и способствует развитию проекта. Если Вы являетесь специалистом по информационной безопасности, Вы можете внести свой вклад путем создания Pull Request с новыми знаниями в формате нашего фреймворка: | ||
|
||
- 💼 **Сценарии реагирования** 🕵️ | ||
|
||
Сценарии реагирования представляют собой алгоритмы, состоящие из набора действий, которые необходимо предпринять при определенных типах инцидентов. Вы можете создавать новые сценарии [согласно шаблону](https://github.com/Security-Experts-Community/ERMACK/blob/develop/data/ru/response_playbooks/respose_playbook.yml.template) или дополнять [существующие](https://github.com/Security-Experts-Community/ERMACK/tree/develop/data/ru/response_playbooks). | ||
|
||
- 🛠️ **Действия реагирования** 🔧 | ||
|
||
Действия реагирования - это отдельные шаги или операции, которые выполняются в рамках сценариев реагирования. Это могут быть технические действия, такие как блокировка IP-адреса или анализ сетевого трафика, а также организационные меры, например, уведомление о конкретном инциденте. Вы можете предложить новые действия реагирования [согласно шаблону](https://github.com/Security-Experts-Community/ERMACK/blob/develop/data/ru/response_actions/respose_action.yml.template) или [дополнить существующие](https://github.com/Security-Experts-Community/ERMACK/tree/develop/data/ru/response_actions). | ||
|
||
- 🌟 **Реализации действий реагирования** 💡 | ||
|
||
Реализации действий реагирования представляют собой конкретные способы выполнения действий, описанных в сценариях реагирования. Их особенность в том, что они специфицированы тем ПО, для которого они актуальны. Это могут быть примеры команд, скриптов, конфигурационных файлов и другой информации, необходимой для успешного выполнения действия реагирования. Вы можете предоставить новые реализации действий реагирования или [улучшить существующие](https://github.com/Security-Experts-Community/ERMACK/tree/develop/data/ru/response_actions_implementations). | ||
|
||
- 📜 **Ресурсы** 🔍 | ||
|
||
Ресурсы - это объекты реагирования. Обычно это то, что получает злоумышленник в процессе компрометации целевой системы. Каждое действие реагирования имеет некоторый набор ассоциированных ресурсов. Благодаря ресурсам, действия реагирования можно связывать в объяснимые последовательности. Набор ресурсов мы синхронизируем с [DAO проекта D3FEND](https://d3fend.mitre.org/dao/). Если нужного ресурса не нашлось в DAO, вы можете предложить создать новый ресурс. | ||
|
||
- 🌐 **Программное обеспечение (ПО)** 💻 | ||
|
||
В нашем фреймворке мы ведём [реестр ПО](https://github.com/Security-Experts-Community/ERMACK/tree/develop/data/ru/software), для которого актуальны реализации действий реагирования. Это полезно для того чтобы показывать пользователю только релевантные для его инфраструктуры реализации действий. Если ваша реализация требует наличия определённого ПО, которого ещё нет у нас в реестре, то вы можете предложить добавить его в проект. | ||
|
||
- ⚠️ **Угрозы** 🚨 | ||
|
||
Сценарии реагирования нацелены на предотвращение последствий инцидентов. Такие инциденты мы называем угрозами. В рамках нашей базы знаний мы ведём [перечень угроз](https://github.com/Security-Experts-Community/ERMACK/tree/develop/data/ru/usecases) для которых есть сценарии. Это позволит связывать знания по реагированию с другими разделами Security Operations. Например, в будущем через такие процедуры можно будет сопоставить правила выявления атак и рекомендации по устранению последствий инцидента. Вы можете предложить включить в базу знаний новые угрозы или [улучшить существующие](https://github.com/Security-Experts-Community/ERMACK/tree/develop/data/ru/usecases). | ||
|
||
--- | ||
|
||
- **Создание Issues**: Если вы обнаружили ошибку, у вас есть предложение по улучшению или вопрос, вы можете создать [Issue](https://github.com/Security-Experts-Community/ERMACK/issues), чтобы обсудить это с участниками сообщества. | ||
- **Создание Pull Requests**: Если вы хотите предложить конкретное изменение, вы можете создать [Pull Request](https://github.com/Security-Experts-Community/ERMACK/pulls). Это может быть добавление новых сущностей, исправление ошибок, улучшение документации и многое другое. | ||
- **Обсуждения**: Для более общих обсуждений, вопросов или идей вы можете присоединиться к [Discussions](https://github.com/Security-Experts-Community/ERMACK/discussions). Это место для свободного обмена мнениями и опытом с другими участниками проекта. | ||
|
||
|
||
|
||
## Обратите внимание | ||
|
||
--- | ||
|
||
- Пожалуйста, ознакомьтесь с [Кодексом Поведения участника](https://github.com/Security-Experts-Community/.github/blob/main/CODE_OF_CONDUCT.md) и убедитесь, что ваш вклад соответствует нашим правилам. | ||
- Ваш вклад должен соответствовать принятому в проекте стилю форматирования. Если вы создаете новые сущности, убедитесь, что они соответствуют формату и структуре проекта. Для этого у каждой сущности есть стандартный шаблон, который можно взять за основу. | ||
- Пожалуйста, старайтесь делать ваш вклад лаконичным, точным и информативным. Помните, что ваша работа будет использоваться другими участниками. | ||
|
||
## Как добавить новую функцию или создать Pull Request | ||
|
||
--- | ||
|
||
Если вы хотите внести конкретное изменение в проект ERM&CK, например, добавить новую сущность, исправить ошибку, улучшить документацию или внести другие улучшения, следуйте инструкциям ниже. | ||
|
||
1. **Форкните репозиторий**: Первым шагом является форк репозитория [ERM&CK](https://github.com/Security-Experts-Community/ERMACK). Это создаст вашу собственную копию репозитория, в которой вы сможете вносить изменения. | ||
|
||
2. **Склонируйте репозиторий**: Склонируйте свою копию репозитория на свой компьютер с помощью команды: | ||
```shell | ||
git clone https://github.com/<ВАШ ЛОГИН НА GITHUB>/ERMACK.git | ||
``` | ||
|
||
3. **Создайте новую ветку**: Чтобы изолировать изменения, создайте новую ветку для работы с помощью команды: | ||
```shell | ||
git checkout -b my-feature develop | ||
``` | ||
4. **Настройте среду разработки**: Убедитесь, что у вас установлена необходимая среда разработки и зависимости. Инструкции по установке написаны здесь [INSTALLATION.md](https://github.com/Security-Experts-Community/ERMACK/blob/develop/INSTALLATION.md). | ||
|
||
5. **Внесите изменения и проверьте код**: Внесите необходимые изменения в код, данные или документацию в вашей локальной копии репозитория. Убедитесь, что код соответствует стандартам кодирования и форматирования проекта. Запустите модульные тесты и убедитесь, что они выполняются корректно. | ||
|
||
6. **Зафиксируйте и отправьте изменения**: Сделайте коммиты с вашими изменениями и отправьте их в вашу ветку с помощью следующих команд: | ||
- `git add <...>` - добавьте измененные файлы для коммита, заменив `<...>` на необходимые файлы. | ||
- `git commit -m "Описание вашего коммита"` - создайте коммит с описанием ваших изменений. | ||
- `git push origin my-feature` - отправьте коммиты на удаленный репозиторий в вашу ветку. | ||
|
||
7. **Создайте Pull Request на GitHub**: Предоставьте четкое описание для вашего Pull Request, включая весь контекст и актуальную информацию, такую как: | ||
- Проблема, которую вы исправляете, её идентификатор. | ||
- Почему вы создали этот Pull Request? Какую функциональность вы собираетесь улучшить? Какая была проблема и как вы ее исправили? Как это повлияет на других пользователей и как им следует использовать эти изменения? | ||
- Любая другая полезную информация: ссылки на другие связанные проблемы и обсуждения на GitHub, графики, сравнения, статьи и т. д. | ||
|
||
8. **Обсуждение и улучшения**: Ваш Pull Request будет доступен для просмотра и изучения другими участниками проекта. Возможно, потребуется внести дополнительные изменения или ответить на возникшие вопросы. Следуйте инструкциям и сотрудничайте с командой разработчиков. | ||
|
||
9. **Принятие изменений**: После успешного рассмотрения и тестирования вашего Pull Request, он будет включен в основной репозиторий проекта. Ваши изменения станут частью проекта ERM&CK. | ||
|
||
--- | ||
|
||
Спасибо за Вашу заинтересованность в проекте ERM&CK и Ваш вклад в создание надежной и полезной базы знаний по реагированию на компьютерные инциденты! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,101 @@ | ||
# Сборка базы знаний и запуск представления в формате MKDocs | ||
|
||
## Запуск локальной копии базы знаний в Docker | ||
|
||
1. Убедитесь, что у вас установлен и запущен Docker на вашей ОС, а также git. Процесс установки подробно описан для различных ОС на официальных сайтах: | ||
- [Docker](https://www.docker.com) - *во избежание ошибок желательно установить последнюю версию;* | ||
- [Git](https://git-scm.com/downloads) - *для корректной работы требуется версия не ниже **2.41.0**;* | ||
|
||
2. Скачайте репозиторий проекта, для этого откройте терминал или командную строку и выполните команду: | ||
|
||
```shell | ||
git clone https://github.com/Security-Experts-Community/ERMACK.git | ||
``` | ||
|
||
3. Убедитесь, что вы находитесь в корневой папке проекта: | ||
|
||
```shell | ||
cd ERMACK | ||
``` | ||
|
||
4. Отредактируйте или создайте файл с профилем инфраструктуры (этот шаг можно пропустить) | ||
|
||
5. Запустите контейнер, выполнив команду: | ||
|
||
```shell | ||
docker-compose up | ||
``` | ||
|
||
_(Docker должен начать скачивать образ ERMACK и его зависимости)_ | ||
|
||
6. После успешного запуска контейнера, откройте браузер и введите следующий адрес: | ||
|
||
``` | ||
http://localhost:8000 | ||
``` | ||
|
||
|
||
## Запуск локальной копии базы знаний в виртуальном окружении Python | ||
Для запуска локальной версии базы занний или применения скриптов аналитики необходимо скачать [репозиторий с GitHub][2]. | ||
|
||
**Алгоритм:** | ||
1. Скачиваем репозиторий | ||
2. Вносим изменения в файл конфигурации (если необходимо) | ||
3. Создаём файл с профилем инфраструктуры (нужно для инстанцирования действий внутри сценариев реагирования) | ||
4. Переходим в корень проекта | ||
5. Создаём виртуальное окружение `python -m venv .pyenv` | ||
6. Активируем окружение | ||
7. Устанавливаем зависимости `pip install -r requirements.txt` | ||
8. Запускаем сборку проекта `python main.py mkdocs -ai` | ||
9. Переходим в папку с резуьлтатами и запускаем сервер | ||
``` | ||
cd build | ||
python -m mkdocs serve -a 0.0.0.0:8000 | ||
``` | ||
10. Переходим по ссылке http://localhost:8000 | ||
|
||
1. Убедитесь, что на вашей ОС установлены git, Python и Pip. Процесс установки подробно описан для различных ОС на официальных сайтах: | ||
- [Python](https://www.python.org/downloads/) - *для корректной работы требуется версия не ниже **3.11**;* | ||
- [Git](https://git-scm.com/downloads) - *для корректной работы требуется версия не ниже **2.41.0**;* | ||
|
||
## Запуск локальной копии базы знаний в Docker | ||
2. Скачайте репозиторий проекта, для этого откройте терминал или командную строку и выполните команду: | ||
|
||
```shell | ||
git clone https://github.com/Security-Experts-Community/ERMACK.git | ||
``` | ||
|
||
3. Убедитесь, что вы находитесь в корневой папке проекта: | ||
|
||
```shell | ||
cd ERMACK | ||
``` | ||
|
||
4. Для инстанцирования действий внутри сценариев реагирования требуется создать файл с профилем инфраструктуры (этот шаг можно пропустить) | ||
|
||
5. Установите виртуальное окружение: | ||
|
||
```shell | ||
python -m venv .venv | ||
``` | ||
|
||
6. Активируйте виртуальное окружение: | ||
|
||
- Для Windows: | ||
|
||
```shell | ||
.venv\Scripts\activate.bat | ||
``` | ||
|
||
- Для Linux: | ||
|
||
```shell | ||
source .venv/bin/activate | ||
``` | ||
|
||
7. Для установки всех зависимостей введите: | ||
|
||
```shell | ||
pip install -r requirements.txt | ||
``` | ||
|
||
Для запуска локальной версии базы занний или применения скриптов аналитики необходимо скачать [репозиторий с GitHub][2]. | ||
8. Запустите сборку проекта: | ||
|
||
**Алгоритм**: | ||
1. Скачиваем репозиторий | ||
```shell | ||
python main.py mkdocs -i -a | ||
``` | ||
|
||
1. Редактируем или создаём [файл с профилем инфраструктуры][3] | ||
9. Перейдите в папку с результатами и запустите сервер: | ||
|
||
1. Переходим в корень проекта | ||
```shell | ||
cd build | ||
python -m mkdocs serve -a 0.0.0.0:8000 | ||
``` | ||
|
||
1. Запускаем контейнер | ||
`docker compose up` | ||
10. После успешного запуска сервера, откройте браузер и введите следующий адрес: | ||
|
||
1. Переходим по ссылке http://localhost:8000 | ||
``` | ||
http://localhost:8000 | ||
``` |
Oops, something went wrong.