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.
Setup Neo4j
- Download and install Neo4j: https://neo4j.com/docs/desktop-manual/current/installation/download-installation/
- Create and start database (version 5.7.0: https://neo4j.com/docs/desktop-manual/current/operations/create-dbms/
- Install APOC: https://neo4j.com/docs/apoc/5/installation/
Download Akamai credentials
- 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
- Install python3: https://www.python.org/downloads/
- Install poetry: https://python-poetry.org/docs/#installation
- Install nodestream: https://nodestream-proj.github.io/nodestream/0.5/docs/tutorial/
- Generate a new nodestream project
- Add
nodestream-akamai
to your project dependencies in your nodestream projects pyproject.toml file. - Install necessary dependencies:
poetry install
- 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
- 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 keyAKAMAI_ACCOUNT_KEY
. - Verify nodestream has loaded the pipelines:
poetry run nodestream show
- Use nodestream to run the pipelines:
poetry run nodestream run <pipeline-name> --target my-db
Using make
- Install make (ie.
brew install make
) - Run
make run
Install Bloom visualization
- For detailed instructions on how to import a perspective: https://neo4j.com/docs/bloom-user-guide/current/bloom-perspectives/perspective-creation/
- Download the perspective to a file https://github.com/ccloes/neo4j-akamai/blob/main/Bloom_Perspective.json
Using the saved cypher queries
- Type
show endpoint <some.fqdn.com>
(this will show that endpoint and the relationships to it)
- Type
show akamai graph
(this will show the current akamai data loaded in the graph)
- Type
show schema
(this will show the graph schema and how the nodes relate and their relationships)
Schema visualization
Authors
- Zach Probst
- Chad Cloes
- Bryan Norman
- Gabe Gallagher
- Stuart Macleod
- Grant Hoffman
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nodestream_plugin_akamai-0.13.0b1.tar.gz
.
File metadata
- Download URL: nodestream_plugin_akamai-0.13.0b1.tar.gz
- Upload date:
- Size: 30.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23180faa365ecf7f89b1e2259c2edf7e857662725f06bf9958fb79bfac9d966d |
|
MD5 | f70ff96179ab8c53cf251d7019653c5e |
|
BLAKE2b-256 | 646a950cc31c7a6d3b025345ed77d6444df114f6b9052ecacc83af5aa705c060 |
File details
Details for the file nodestream_plugin_akamai-0.13.0b1-py3-none-any.whl
.
File metadata
- Download URL: nodestream_plugin_akamai-0.13.0b1-py3-none-any.whl
- Upload date:
- Size: 49.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a557f3751c81c0983d47a3dcdefb9a44bd62b722cca2bef008ea1e313d90924c |
|
MD5 | 5e95b370cb21cb4db420fe84448d85e2 |
|
BLAKE2b-256 | ab476116c673fe1f13dacadb34461582ac457870c5891d5ab4f7402041fd3de4 |