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
Exploitation API
Moderator: gregober
Re: Exploitation API
Les appels à l'API DynFi sont structurés sous la forme suivante :
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 et 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 :
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
Code: Select all
https://dynfi.local/api/<module>/<contrôleur>/<commande>/[<param1>/[<param2>/...]]
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
Code: Select all
$secret
Code: Select all
key=w86XNZob/8Oq8aC5r0kbNarNtdpoQU781fyoeaOBQsBwkXUt
secret=XeD26XVrJ5ilAc/EmglCRC+0j2e57tRsjHwFepOseySWLM53pJASeTA3
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
Re: Exploitation API
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,
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,