
akto vdata-ingestion-1.5.0
Проактивная, открытая безопасность API → обнаружение API, состояние безопасности API, тестирование в CI/CD, библиотека тестов с 1000+ тестов, добавление пользовательских тестов, раскрытие конфиденциальных данных
Akto.io Безопасность API
Участники
Что такое Akto?
Как это работает • Начало работы • Инвентаризация API • Тестирование API • Добавить тест • Присоединиться к Discord-сообществу •
Akto — это мгновенная платформа безопасности API с открытым исходным кодом, для запуска которой требуется всего 60 секунд. Команды безопасности используют Akto для ведения непрерывной инвентаризации API, тестирования API на уязвимости и поиска проблем во время выполнения. Akto обеспечивает покрытие всех категорий OWASP Top 10 и HackerOne Top 10, включая BOLA, аутентификацию, SSRF, XSS, конфигурации безопасности и др. Мощный движок тестирования Akto выполняет разнообразные тесты бизнес-логики, читая данные трафика, чтобы понять паттерны API-трафика, что снижает количество ложных срабатываний. Akto интегрируется с различными источниками трафика — burpsuite, AWS, postman, GCP, шлюзами и др. Вот наш публичный план развития на этот квартал.
Akto позволяет командам безопасности и разработки защищать свои API, делая три вещи:
Как это работает?
Шаг 1: Создание инвентаризации
Шаг 2: Запуск тестов
Как начать работу?
Использование docker-compose (работает на любой машине с установленным Docker)
Выполните следующие команды, чтобы установить Akto. Вам понадобится установленный curl и Docker для запуска контейнера..
- Склонируйте репозиторий Akto с помощью этой команды
git clone https://github.com/akto-api-security/akto.git - Перейдите в склонированную директорию
cd akto - Выполните
docker-compose up -d
Если вы настраиваете это в собственном облаке (AWS/GCP/Heroku), прочитайте этот раздел
Пожалуйста, соблюдайте следующие правила для обеспечения безопасности:
-
Откройте только входящее правило безопасности для порта 9090. И ограничьте исходный CIDR диапазоном CIDR вашей VPC или только вашим IP-адресом.
-
Используйте EC2 в частной подсети —
a. Таким образом, никто не сможет отправлять входящие запросы к вашей машине.
b. Убедитесь, что эта частная подсеть имеет доступ к Интернету, чтобы исходящие вызовы могли выполняться!
c. Возможно, вам придётся настроить туннелирование для доступа к инстансу через VPN с помощью
ssh -i pemfile ec2-user@vpn-public-instance -L 9090:private-instance:9090d. В браузере откройте
http://private-instance:9090 -
Используйте EC2 в публичной подсети — пожалуйста, не делайте этого! Если вы всё же хотите это сделать, можете пропустить пункты 2.b и 2.c. Просто получите доступ к инстансу через
http://ip:9090
Akto очень эффективен при облачном развёртывании, если вы можете предоставить зеркальный трафик вашего приложения (0 влияния на производительность). Вы также сможете планировать тесты в CI/CD и приглашать больше участников команды в дашборд. Для этого вам следует установить Enterprise-версию Akto, доступную здесь. Узнайте больше здесь.
Обучающие материалы по тестированию безопасности API
| Название | Ссылка |
|---|---|
| Введение | https://www.youtube.com/watch?v=oFt4OVmfE2s |
| Учебное пособие 1: Сканирование портов SSRF (OWASP API7:2023) | https://www.youtube.com/watch?v=WjNNh6asAD0 |
Разработка и вклад
Быстрая настройка с помощью VSCode Devcontainers
Предварительные требования:
- Установите VSCode
- Установите расширение Dev Containers для VSCode
- Windows: Docker Desktop 2.0+ на Windows 10 Pro/Enterprise. Windows 10 Home (2004+) требует Docker Desktop 2.3+ и бэкенд WSL 2.
- macOS: Docker Desktop 2.0+.
- Linux: Docker CE/EE 18.06+ и Docker Compose 1.21+.
Примечание: при использовании Docker Desktop рассмотрите возможность увеличения объёма выделяемой памяти до 8 ГБ для повышения производительности
Шаги:
Клонирование репозитория и открытие в VSCode
- Откройте терминал
mkdir ~/akto_codecd ~/akto_codegit clone https://github.com/akto-api-security/akto- Откройте в VSCode:
code akto
Запустите Dev Container
- Перейдите в View > Command Palette и введите: Dev Containers: Reopen in Container

- Подождите, пока Dev Container завершит настройку.
- Откройте localhost:9090 в вашем веб-браузере, чтобы увидеть дашборд Akto
Инструкции по ручной настройке
Предварительные требования
OpenJDK 8, node(v18.7.0+ link), npm(v8.15.0+), maven (v3.6.3 link), MongoDB (v5.0.3+ link)
Клонирование репозитория
mkdir ~/akto_codecd akto_codegit clone https://github.com/akto-api-security/akto
Настройка базы данных
Open a new terminal tabcd ~mkdir ~/akto_mongo_data<path_to_mongo_folder>/bin/mongod --dbpath ~/akto_mongo_data
Настройка фронтенда
Open a new terminal tabcd ~/akto_code/aktocd apps/dashboard/web/polaris_webnpm installnpm run hot
Настройка дашборда
Open a new terminal tabcd ~/akto_code/aktoexport AKTO_MONGO_CONN="mongodb://localhost:27017"export DASHBOARD_MODE="local_deploy"mvn clean installmvn --projects :dashboard --also-make jetty:run -Djetty.port=9090
Настройка тестирования
Open a new terminal tabcd ~/akto_code/aktocd apps/testingexport AKTO_MONGO_CONN="mongodb://localhost:27017"mvn compile; mvn exec:java -Dexec.mainClass="com.akto.testing.Main"
Использование CLI-инструмента тестирования
Выполните следующую команду, чтобы запустить CLI-инструмент тестирования
docker run -v ./:/out \ # needed to generate test report on host machine
-e TEST_IDS='JWT_NONE_ALGO REMOVE_TOKENS' \ # space separated test ids
-e AKTO_DASHBOARD_URL='<AKTO_DASHBOARD_URL>' \
-e AKTO_API_KEY='<AKTO_API_KEY>' \
-e API_COLLECTION_ID='123' \ # api collection id on which you want to run tests
-e TEST_APIS='https://demo.com/api/books https://demo.com/api/cars' \ # space separated apis from the api collection on which you want to run tests. If not present, all apis in the collection will be tested. [optional]
-e OVERRIDE_APP_URL='https://dummy.com' \ # If you want to test on a separate host. [optional]
aktosecurity/akto-api-testing-cli
Поэкспериментируйте
- Откройте
localhost:9090в вашем любимом браузере - При первом входе вам нужно будет зарегистрироваться, в дальнейшем вы сможете просто входить в систему.
Отладка
1. Для отладки фронтенда установите расширение Vue.js для Chrome [здесь](https://devtools.vuejs.org/guide/installation.html).
2. Для отладки бэкенда выполните следующее перед запуском веб-сервера -
a. Установите переменную MAVEN_OPTS, чтобы включить отладку на вашем Java-процессе
export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8081, -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9010 -Dcom.sun.management.jmxremote.rmi.port=9010 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
b. В Visual Studio Code нажмите на любой номер строки, чтобы установить точку останова.
c. Подключите отладчик Java из режима Run and Debug. Если вы делаете это впервые, нажмите «Create launch.json file», затем «Add configuration». Выберите «Java: Attach process by ID» и сохраните файл.

d. Появится список запущенных Java-процессов. Выберите процесс веб-сервера, чтобы подключить отладчик
Внесение вклада
Мы приветствуем вклад в этот проект. Пожалуйста, прочитайте наш файл CONTRIBUTING.md, чтобы узнать больше о том, как принять участие.
Лицензия
Этот проект распространяется под лицензией MIT License.