Skip to main content

Pipeline Plugin for Akamai Data

Project description

Overview

This repo contains the scripts necessary to parse Akamai property and redirect configs and ingest them into Neo4j. It is a starting point to help visualize your external attack surface within Akamai.

LinkedIn Blog post

Setup Neo4j

  1. Download and install Neo4j: https://neo4j.com/docs/desktop-manual/current/installation/download-installation/
  2. Create and start database (version 5.7.0: https://neo4j.com/docs/desktop-manual/current/operations/create-dbms/
  3. Install APOC: https://neo4j.com/docs/apoc/5/installation/

Download Akamai credentials

  1. Create and download akamai credentials: https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials

NOTE: These values will be used in your .env

Install and run the app

  1. Install python3: https://www.python.org/downloads/
  2. Install poetry: https://python-poetry.org/docs/#installation
  3. Install nodestream: https://nodestream-proj.github.io/nodestream/0.5/docs/tutorial/
  4. Generate a new nodestream project
  5. Add nodestream-akamai to your project dependencies in your nodestream projects pyproject.toml file.
  6. Install necessary dependencies: poetry install
  7. In nodestream.yaml add the following:
plugin_config:
  akamai:
    base_url: !env AKAMAI_BASE_URL
    client_token: !env AKAMAI_CLIENT_TOKEN
    client_secret: !env AKAMAI_CLIENT_SECRET
    access_token: !env AKAMAI_ACCESS_TOKEN
    # If you are using an akamai account key add the following line:
    account_key: !env AKAMAI_ACCOUNT_KEY
targets:
  my-db:
    database: neo4j 
    uri: bolt://localhost:7687
    username: neo4j
    password: neo4j123
  1. Set environment variables in your terminal session for: AKAMAI_BASE_URL, AKAMAI_CLIENT_TOKEN, AKAMAI_CLIENT_SECRET, AKAMAI_ACCESS_TOKEN and if using an akamai account key AKAMAI_ACCOUNT_KEY.
  2. Verify nodestream has loaded the pipelines: poetry run nodestream show
  3. Use nodestream to run the pipelines: poetry run nodestream run <pipeline-name> --target my-db

Using make

  1. Install make (ie. brew install make)
  2. Run make run

Install Bloom visualization

  1. For detailed instructions on how to import a perspective: https://neo4j.com/docs/bloom-user-guide/current/bloom-perspectives/perspective-creation/
  2. Download the perspective to a file https://github.com/ccloes/neo4j-akamai/blob/main/Bloom_Perspective.json

Using the saved cypher queries

  1. Type show endpoint <some.fqdn.com> (this will show that endpoint and the relationships to it)
  • show endpoint <fqdn>
  1. Type show akamai graph (this will show the current akamai data loaded in the graph)
  • show akamai graph
  1. Type show schema (this will show the graph schema and how the nodes relate and their relationships)
  • show schema

Schema visualization

Arrows.app link

Authors

  • Zach Probst
  • Chad Cloes
  • Bryan Norman
  • Gabe Gallagher
  • Stuart Macleod
  • Grant Hoffman

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nodestream_plugin_akamai-0.13.0b1.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file nodestream_plugin_akamai-0.13.0b1.tar.gz.

File metadata

File hashes

Hashes for nodestream_plugin_akamai-0.13.0b1.tar.gz
Algorithm Hash digest
SHA256 23180faa365ecf7f89b1e2259c2edf7e857662725f06bf9958fb79bfac9d966d
MD5 f70ff96179ab8c53cf251d7019653c5e
BLAKE2b-256 646a950cc31c7a6d3b025345ed77d6444df114f6b9052ecacc83af5aa705c060

See more details on using hashes here.

File details

Details for the file nodestream_plugin_akamai-0.13.0b1-py3-none-any.whl.

File metadata

File hashes

Hashes for nodestream_plugin_akamai-0.13.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 a557f3751c81c0983d47a3dcdefb9a44bd62b722cca2bef008ea1e313d90924c
MD5 5e95b370cb21cb4db420fe84448d85e2
BLAKE2b-256 ab476116c673fe1f13dacadb34461582ac457870c5891d5ab4f7402041fd3de4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page