
akto v2.15.7
Proaktive, Open-Source-API-Sicherheit → API-Erkennung, API-Sicherheitslage, Tests in CI/CD, Testbibliothek mit über 1000 Tests, Hinzufügen benutzerdefinierter Tests, Offenlegung sensibler Daten
Akto.io API Security
Mitwirkende
Was ist Akto?
So funktioniert's • Erste Schritte • API-Inventar • API-Tests • Test hinzufügen • Discord-Community beitreten •
Akto ist eine sofort einsetzbare Open-Source-API-Sicherheitsplattform, mit der du in nur 60 Sekunden loslegen kannst. Akto wird von Sicherheitsteams genutzt, um ein kontinuierliches Inventar von APIs zu pflegen, APIs auf Schwachstellen zu testen und Laufzeitprobleme zu finden. Akto bietet Abdeckung für alle OWASP-Top-10- und HackerOne-Top-10-Kategorien, einschließlich BOLA, Authentifizierung, SSRF, XSS, Sicherheitskonfigurationen usw. Die leistungsstarke Test-Engine von Akto führt eine Vielzahl von Geschäftslogiktests durch, indem sie Verkehrsdaten liest, um API-Verkehrsmuster zu verstehen, was zu weniger Fehlalarmen führt. Akto kann in mehrere Verkehrsquellen integriert werden – burpsuite, AWS, postman, GCP, Gateways usw. Hier ist unsere öffentliche Roadmap für dieses Quartal.
Akto ermöglicht Sicherheits- und Entwicklungsteams, ihre APIs auf drei Arten abzusichern:
Wie funktioniert es?
Schritt 1: Inventar erstellen
Schritt 2: Tests ausführen
Wie fange ich an?
Mit docker-compose (funktioniert auf jedem Rechner mit installiertem Docker)
Führe die folgenden Befehle aus, um Akto zu installieren. Du benötigst curl und Docker, um den Container auszuführen.
- Klone das Akto-Repo mit diesem Befehl:
git clone https://github.com/akto-api-security/akto.git - Wechsle in das geklonte Verzeichnis:
cd akto - Führe
docker-compose up -daus
Wenn du dies in deiner eigenen Cloud (AWS/GCP/Heroku) einrichtest, lies diesen Abschnitt
Bitte stelle Folgendes sicher, um gute Sicherheitspraktiken anzuwenden:
-
Öffne die eingehende Sicherheitsregel nur für Port 9090. Und beschränke das Quell-CIDR auf das VPC-CIDR oder nur deine IP.
-
Verwende eine EC2-Instanz aus einem privaten Subnetz –
a. Auf diese Weise kann niemand eine eingehende Anfrage an deine Maschine senden.
b. Stelle sicher, dass dieses private Subnetz Zugriff auf das Internet hat, damit ausgehende Aufrufe erfolgreich sind!
c. Möglicherweise musst du Tunneling einrichten, um die Instanz über VPN zu erreichen, indem du
ssh -i pemfile ec2-user@vpn-public-instance -L 9090:private-instance:9090verwendestd. Besuche in deinem Browser
http://private-instance:9090 -
Verwende eine EC2-Instanz aus einem öffentlichen Subnetz – bitte tu das nicht! Wenn du es trotzdem tun möchtest, kannst du 2.b und 2.c überspringen. Greife einfach über
http://ip:9090auf deine Instanz zu
Akto ist bei Cloud-Bereitstellungen wirklich leistungsfähig, wenn du den gespiegelten Datenverkehr deiner Anwendung bereitstellen kannst (ohne Leistungseinbußen). Du kannst dann auch Tests in CI/CD planen und weitere Teammitglieder zum Dashboard einladen. Dafür solltest du die Akto Enterprise Edition installieren, die hier verfügbar ist. Mehr dazu hier
Tutorials für API-Sicherheitstests
| Titel | Link |
|---|---|
| Einführung | https://www.youtube.com/watch?v=oFt4OVmfE2s |
| Tutorial 1: SSRF-Portscan (OWASP API7:2023) | https://www.youtube.com/watch?v=WjNNh6asAD0 |
Entwickeln und mitwirken
Schnelleinrichtung mit VSCode Devcontainers
Voraussetzungen:
- VSCode installieren
- VSCode-Dev-Containers-Erweiterung installieren
- Windows: Docker Desktop 2.0+ auf Windows 10 Pro/Enterprise. Windows 10 Home (2004+) erfordert Docker Desktop 2.3+ und das WSL-2-Backend.
- macOS: Docker Desktop 2.0+.
- Linux: Docker CE/EE 18.06+ und Docker Compose 1.21+.
Hinweis: Wenn du Docker Desktop verwendest, solltest du die Speicherzuweisung auf 8 GB erhöhen, um eine bessere Leistung zu erzielen.
Schritte:
Repo klonen und in VSCode öffnen
- Terminal öffnen
mkdir ~/akto_codecd ~/akto_codegit clone https://github.com/akto-api-security/akto- In VSCode öffnen:
code akto
Dev-Container starten
- Gehe zu Ansicht > Befehlspalette und tippe: Dev Containers: Reopen in Container

- Warte, bis der Dev-Container eingerichtet ist.
- Öffne localhost:9090 in deinem Webbrowser, um das Akto-Dashboard zu sehen.
Manuelle Einrichtungsanleitung
Voraussetzungen
OpenJDK 8, node (v18.7.0+ Link), npm (v8.15.0+), Maven (v3.6.3 Link), MongoDB (v5.0.3+ Link)
Repo klonen
mkdir ~/akto_codecd akto_codegit clone https://github.com/akto-api-security/akto
Datenbank einrichten
Öffne einen neuen Terminal-Tabcd ~mkdir ~/akto_mongo_data<path_to_mongo_folder>/bin/mongod --dbpath ~/akto_mongo_data
Frontend einrichten
Öffne einen neuen Terminal-Tabcd ~/akto_code/aktocd apps/dashboard/web/polaris_webnpm installnpm run hot
Dashboard einrichten
Öffne einen neuen 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
Testumgebung einrichten
Öffne einen neuen Terminal-Tabcd ~/akto_code/aktocd apps/testingexport AKTO_MONGO_CONN="mongodb://localhost:27017"mvn compile; mvn exec:java -Dexec.mainClass="com.akto.testing.Main"
Verwenden des Testing-CLI-Tools
Führe den folgenden Befehl aus, um das Testing-CLI-Tool zu starten
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
Ausprobieren
- Öffne
localhost:9090in deinem bevorzugten Browser - Du musst dich beim ersten Anmelden registrieren; ab dem nächsten Mal kannst du dich einfach anmelden
Debuggen
1. Um das Frontend zu debuggen, installiere die Vue.js-Chrome-Erweiterung von [hier](https://devtools.vuejs.org/guide/installation.html).
2. Um das Backend zu debuggen, führe vor dem Start des Webservers Folgendes aus –
a. Setze die Variable MAVEN_OPTS, um das Debugging in deinem Java-Prozess zu aktivieren
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. Klicke in Visual Studio Code auf eine beliebige Zeilennummer, um einen Haltepunkt zu setzen.
c. Verbinde den Java-Debugger über den Run-and-Debug-Modus. Wenn du dies zum ersten Mal tust, klicke auf „Create launch.json file“ und dann auf „Add configuration“. Wähle „Java: Attach process by ID“ und speichere die Datei.

d. Eine Liste der laufenden Java-Prozesse wird angezeigt. Wähle den Webserver-Prozess aus, um den Debugger anzuhängen.
Mitwirken
Wir freuen uns über Beiträge zu diesem Projekt. Bitte lies CONTRIBUTING.md für weitere Informationen, wie du dich beteiligen kannst.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.