Exploitation API

This forum is the place to discuss any installation problem or question you might have related to DynFi Firewall.

Moderator: gregober

Post Reply
Zinko
Posts: 9
Joined: 09 Sep 2023, 12:39

Exploitation API

Post by Zinko » 10 Nov 2023, 23:42

Bonjour,

Il est indiqué que Dynfi Firewall intégre une API et j'ai pu lire sur la page de développement que vous étiez entrain de travailler sur l'API pour la gestion des règles de flux. En ce sens, je souhaiterais notamment savoir comment l'exploiter afin d'automatiser un certain nombre de tâches. J'ai parcouru la documentation mais je n'ai malheuresement rien trouver sur l'exploitation de l'API.

Pourriez-vous me donner les éléments nécessaires afin de m'interfacer à l'API ?

Merci à vous :)
User avatar
gregober
Posts: 266
Joined: 26 Mar 2019, 15:06

Re: Exploitation API

Post by gregober » 16 Nov 2023, 14:55

Les appels à l'API DynFi sont structurés sous la forme suivante :

Code: Select all

https://dynfi.local/api/<module>/<contrôleur>/<commande>/[<param1>/[<param2>/...]]
Deux type de requêtes HTTP sont utilisés dans l'API DynFi Firewall :

GET Récupère les données de DynFi Firewall

POST Crée de nouvelles données, met à jour des données existantes ou exécute une action.

Le corps de la requête et de la réponse HTTP POST est un objet "application/json".

Les paramètres

Code: Select all

$key
et

Code: Select all

$secret 
sont utilisés pour transmettre les informations d'identification de l'API à l'aide de curl. Vous devez définir ces paramètres avec vos propres identifiants API avant de les utiliser dans les exemples :

Code: Select all

key=w86XNZob/8Oq8aC5r0kbNarNtdpoQU781fyoeaOBQsBwkXUt
secret=XeD26XVrJ5ilAc/EmglCRC+0j2e57tRsjHwFepOseySWLM53pJASeTA3
Remarque

Lorsque vous utilisez Postman pour tester un appel API, utilisez le type d'autorisation "basic auth". Les paramètres $key et $secret vont respectivement dans Nom d'utilisateur/Mot de passe.


Assurez-vous toujours que le propriétaire de la clé est autorisé à accéder à la ressource en question. Les "privilèges effectifs" définis pour l'utilisateur indiquent les ressources accessibles. (L'édition révèle les points de terminaison assignés à chaque ressource).

Les ACL sont expliqués dans development/components/acl.

Il existe des API pour les modules suivants :


Core API

Captiveportal
Core
Cron
Dhcp
Dhcpv4
Dhcpv6
Diagnostics
Firewall
Firmware
Ids
Interfaces
Ipsec
Menu
Monit
Openvpn
Proxy
Routes
Syslog
Trafficshaper
Unbound

Plugins API

Cicap
Clamav
Diagnostics
Firewall
Freeradius
Helloworld
Ntopng
Qemuguestagent
Quagga
Redis
Relayd
Rspamd
Stunnel
Wireguard
Zerotier
mma
Posts: 1
Joined: 03 Apr 2024, 06:12

Re: Exploitation API

Post by mma » 03 Apr 2024, 06:18

Bonjour,

Je découvre ce projet sur lequel j'accroche bien je dois dire :)

Existe-t-il une doc sur cette API ? Son utilisation m'est indispensable pour envisager d'automatiser un peu quelques tâches.
A défaut, quelques examples réels de requête curl serait un bon point de départ.

Comme :
- un ajout/suppression de règle de filtrage sur une interface
- un ajout/suppression de règle de NAT
- un ajout/suppression d'un utilisateur

Merci d'avance pour votre réponse.

Cordialement,
Post Reply