get_fail2ban_status
Check Fail2Ban service status to monitor intrusion prevention across all jails or specific ones like sshd. Retrieve ban counts and active status for security oversight.
Instructions
Récupère les informations du service Fail2Ban, pour toutes les jails ou une jail spécifique.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | Alias du serveur cible. | |
| jail | No | Nom d'une jail spécifique à inspecter (ex: sshd). Laissez vide pour un statut général. |
Implementation Reference
- server.js:351-377 (handler)Handler function executes 'sudo fail2ban-client status' command on the specified server via SSH queue, returns raw output or error.async (params) => { try { const cmd = `sudo fail2ban-client status ${params.jail || ''}`.trim(); const job = queue.addJob({ type: 'ssh', alias: params.alias, cmd: cmd }); ssh.executeCommand(job.id); const result = await waitForJobCompletion(job.id, config.syncTimeout); if (!result || result.status !== 'completed') { throw new Error(result ? result.error : `Timeout de la commande de monitoring pour ${params.alias}`); } // Pour cette version, nous retournons la sortie brute. return { content: [{ type: "text", text: result.output }] }; } catch (e) { const errorPayload = { toolName: "get_fail2ban_status", errorCode: "MONITORING_ERROR", errorMessage: e.message }; return { content: [{ type: "text", text: JSON.stringify(errorPayload, null, 2) }], isError: true }; } } );
- server.js:343-350 (schema)Input schema using Zod: requires server alias, optional jail name.{ title: "Obtenir le statut de Fail2Ban", description: "Récupère les informations du service Fail2Ban, pour toutes les jails ou une jail spécifique.", inputSchema: z.object({ alias: z.string().describe("Alias du serveur cible."), jail: z.string().optional().describe("Nom d'une jail spécifique à inspecter (ex: sshd). Laissez vide pour un statut général.") }) },
- server.js:341-341 (registration)Registration of the tool via server.registerTool, including name, schema, and handler.server.registerTool(