nefila

Nefila is an elegant and simple Fortinet Security Fabric library for Python.


Keywords
fortinet, fortigate, security, fabric, python
License
GPL-3.0
Install
pip install nefila==0.0.4.dev0

Documentation

nefila

Nefila is an elegant and simple Fortinet Security Fabric library for Python.


Python 3.7.4 (default, Sep  7 2019, 18:27:02)
>>> import nefila
>>> device = nefila.FortiGate('192.0.2.1')
>>> device.open()
>>> device.status
{'version': 'v6.2.2', 'serial': 'FG81EP4Q17002000', 'forticare': 'registered', 'hostname': 'FW01', 'model': 'FortiGate-81E-POE', 'uptime': 22625}

Features

  • Environment variables based authentication
  • Standard methods across all supported devices

Supported Devices

  • FortiOS v6.2
  • FortiAnalyzer v6.2
  • FortiManager v6.2
  • FortiTester v4.0
  • FortiSwitch v6.0

Requirements and Installation

Nefila requires Python 3.7. You can install nefila using pip:

pip install nefila

Credentials

You can pass device credentials during requests or you can load them automatically using the following methods:

  1. Setup your device credentials at ~/.nefila/credentials in the following format:
    [DEFAULT]
    username = <your username>
    password = <your password>
  • You can also have device specific credentials:
    [192.0.2.1]
    username = <your username>
    password = <your password>
  1. Alternatively you can also use an access token:
    [DEFAULT]
    token = <your access token>
  1. Environment Variables
    export NEFILA_HOSTNAME=10.10.10.10
    export NEFILA_USERNAME=admin
    export NEFILA_PASSWORD=password

License

This library is distributed under the GNU General Public License v3.0.