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
Close
Hashes for nodestream_plugin_akamai-0.13.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0c6c945cb2bcd6cb2b9e93089f5edbe18363cd4e3bb24be6658a37c8967b6ba |
|
MD5 | abaeb6151e63253e58ad7ccec3682e18 |
|
BLAKE2b-256 | 0e096eca4272a87485264cd010964df368ae77e3fa26c68f255c5ce26c8fd14f |
Close
Hashes for nodestream_plugin_akamai-0.13.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26a11994f370a407085302ab76b3a7926aed69f7e9fca0a6765dbf092ac61454 |
|
MD5 | 89aeb4ef3434d3f03ef6540b57a96f13 |
|
BLAKE2b-256 | 2e8d6e582588165fb27661cb4dc27ac1fb5855b33430634c5b698106e2a4fc5f |