NetBox plugin for BGP RPKI support.
Project description
NetBox RPKI Plugin
Netbox plugin for adding BGP RPKI elements.
- Free software: Apache-2.0
- Documentation
- Repository
- Python Package
Features
Implements data models and forms for modeling Resource Public Key Infrastructure (RPKI) items. On organization the publishes ROAs (either self-hosted, or through a RIR's hosted-RPKI service) can use this plugin to create a self-hosted record of the critical RPKI elements such as resource certificates and ROAs
Models / DB tables
Organization
- Represents a customer/consumer of Regional Internet Registrar (RIR) RPKI services
- Fields
- org-id, name, ext_url, parent_rir (foreign key to IPAM ASN)
Resource Certificate
- Represents the "Resource Certificate" element of the RPKI architecture
- An X.509 certificate with RFC3779-style extensions for IPs/ASNs
- Signed by an RIR's RPKI trust-anchor certificate
- Attests to authority for at least one ASN and at least one IP netblock
- Used to sign the RPKI End Entity (EE) certificates which are used to sign individual ROAs
- May be either self-hosted/managed/published (managed by customer) or managed by the RIR (as part of a "managed" RPKI service)
- Fields
- name, issuer, subject, serial, valid_from, valid_to, auto_renews, public_key, private_key, publication_url, ca_repository, self_hosted, rpki_org (foreign key to rpki organization)
Route Origination Authorization (ROA)
- Represents the RPKI Route Origination Authorization (ROA) object
- An artifact attesting that a specific ASN is authorized to originate a specific set of IP prefixes into BGP on the Internet
- Is signed by an ephemeral "EE" certificate, which was signed by a more durable resource certificate.
- When a non-zero ASN value is specified, the ROA is interpreted as authorizing origination
- When an ASN of zero is specified, the ROA is interpreted as indicating that there is NO ASN that is authorized to originate routes for the specified prefix
- Netbox does not permit an ASN value of zero, though -- I suggest earmarking AS 99999999 and commenting it as a place-holder for ASN 0
- Fields
- name, origin_as (foreign key to IPAM ASN model), valid_from, valid_to, auto_renews, signed_by (foreign key to rpki customer certificate)
ROA prefix
- Represents the attestion relationship between an ROA and a prefix.
- This model/table is not explicitly accessible via the UI menu
ROA ASN
- Represents the attestion relationship between an ROA and an ASN.
- This model/table is not explicitly accessible via the UI menu
Certificate prefix
- Represents the attestion relationship between an ROA and a prefix.
- This model/table is not explicitly accessible via the UI menu
Certificate ASN
- Represents the attestion relationship between an ROA's EE certificate and an ASN.
- This model/table is not explicitly accessible via the UI menu
Screencaps
RPKI Organizations/Certificates/Resources
RPKI ROAs
Compatibility
Installing
For adding to a NetBox Docker setup see the general instructions for using netbox-docker with plugins.
Install using pip:
pip install netbox_rpki
or by adding to your local_requirements.txt or plugin_requirements.txt (netbox-docker):
netbox_rpki
Enable the plugin in /opt/netbox/netbox/netbox/configuration.py,
or if you use netbox-docker, your /configuration/plugins.py file :
PLUGINS = [
'netbox_rpki'
]
PLUGINS_CONFIG = {
"netbox_rpki": {'top_level_menu': False},
}
Run python -m manage.py migrate from the .../netbox/netbox/ directory in your netbox installation. (or include the manage.py migrate command in Dockerfile-Plugins if using netbox-docker.)
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_rpki-0.1.4.tar.gz.
File metadata
- Download URL: netbox_rpki-0.1.4.tar.gz
- Upload date:
- Size: 4.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bf8c65392d5fa90b89f0e52874e664193354ac34d329c59c0dda7a9822c91f1
|
|
| MD5 |
018324e8fae27606c115d224899a9a8f
|
|
| BLAKE2b-256 |
84ed82852d83b58eba88439f80d6047b912c9c79b36abb8f41722d7bbfed6677
|
Provenance
The following attestation bundles were made for netbox_rpki-0.1.4.tar.gz:
Publisher:
publish-pypi.yaml on menckend/netbox_rpki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_rpki-0.1.4.tar.gz -
Subject digest:
5bf8c65392d5fa90b89f0e52874e664193354ac34d329c59c0dda7a9822c91f1 - Sigstore transparency entry: 163341642
- Sigstore integration time:
-
Permalink:
menckend/netbox_rpki@377d0ca832fca38e8ae56ed814927f3c8817ffd1 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/menckend
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yaml@377d0ca832fca38e8ae56ed814927f3c8817ffd1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_rpki-0.1.4-py3-none-any.whl.
File metadata
- Download URL: netbox_rpki-0.1.4-py3-none-any.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a28220befadf8ea3e71d21c6399e667bfa555780deb16369683dea28e0e313b
|
|
| MD5 |
32dc4f3870ff1389d9a5e6d8acae39c6
|
|
| BLAKE2b-256 |
6eb9381cef6c7e40e93601df2873d417d86d7b59e98c7f34f936adc672a9f569
|
Provenance
The following attestation bundles were made for netbox_rpki-0.1.4-py3-none-any.whl:
Publisher:
publish-pypi.yaml on menckend/netbox_rpki
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_rpki-0.1.4-py3-none-any.whl -
Subject digest:
9a28220befadf8ea3e71d21c6399e667bfa555780deb16369683dea28e0e313b - Sigstore transparency entry: 163341643
- Sigstore integration time:
-
Permalink:
menckend/netbox_rpki@377d0ca832fca38e8ae56ed814927f3c8817ffd1 -
Branch / Tag:
refs/tags/v0.1.4 - Owner: https://github.com/menckend
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yaml@377d0ca832fca38e8ae56ed814927f3c8817ffd1 -
Trigger Event:
push
-
Statement type: