Aller au contenu

[Résolu]plus de configuration de firewall possible


Overkilled

Messages recommandés

Bonjour à tous.

En voulant bloquer tout un bloc réseau qui tentait par force brute de hacker mon serveur mail (un message d'auto-blocage toutes les minutes), en ouvrant l'interface graphique du firewall, je constate que je ne peux plus modifier le profil courant (messages d'erreur) et que, par ailleurs, la liste des profils disponibles est totalement vide. J'ai donc contacté le support de Synology après avoir en vain cherché une solution dans la base de connaissances de Synology.

La réponse su support est décevante (j'avais eu un bien meilleur retour lors de mon précédent et tout premier ticket) : réinitialiser (mode 2) mon DSM, au motif qu'ils ne font pas de support SSH et que j'aurais des paquets tiers, ce qui n'est pas faux, mais il s'agit uniquement de ceux proposés par Synology (Git, Apache, Python, Perl, etc.).

Pour moi (ex-ingénieur système en retraite), c'est comme vouloir écraser une mouche avec un marteau-pilon. Je leur ai donc demandé s'il était possible d'avoir accès à la documentation décrivant le stockage des données du firewall gérables via l'IHM graphique de DSM.

En utilisant la ligne de commande vis SSH, je n'ai pas réussi à trouver où DSM 7 stockait les profils de firewall de l'utilisateur et encore moins le fichier ou l'arborescence qui en donne la liste complète.
Et comme c'est parti avec le support de Synology, je doute fort qu'ils me fournissent les informations qui me seraient utiles à restaurer le minimum nécessaire à la résolution du dysfonctionnement constaté.
Je leur ai d'ailleurs fait remarquer que je ne comprenais pas pourquoi DSM ne fournissait pas de fonction export-import de profils de firewall alors qu'ils en fournissent pour de nombreux paquets ou fonctionnalités.

Je me tourne donc vers ceux d'entre vous qui pourraient me fournir les informations utiles à réparer en ligne de commande la gestion DSM des profils de firewall.

Merci d'avance

 

Lien vers le commentaire
Partager sur d’autres sites

Les fichiers de configuration du pare-feu se trouvent dans /usr/syno/etc/firewall.d/

Chaque fichier {n}.json correspond à un profil du pare-feu. Tu peux les identifier par leur nom renseigné dans le champ "name" au début du JSON.

Lien vers le commentaire
Partager sur d’autres sites

Merci de ces premières informations.

Pourrais-je avoir un exemple minimaliste (mais fonctionnel) du contenu d'un de ces fichiers (n).json ?
C'est pour que je puisse identifier ce qui pourrait être corrompu de mon côté.

En attendant, je vais jeter un coup d'œil sur le seul (sur deux) qu'il me reste de non-vide.


Pour essayer de comprendre :

1) Pourquoi il ne me semble pas être pris en compte par DSM

2) En quoi DSM ne me permet ni de l'éditer, ni même de le cloner

3) Pourquoi (enfin) c'est bien mon profil principal ('"sécurisé") qui est listé, mais pourquoi je n'ai même pas la mention "(actif)" qui lui est associé (copie d'écran jointe).

(0) Etat actuel du pare-feu.PNG

Lien vers le commentaire
Partager sur d’autres sites

Voici un exemple réduit :

{
   "adapterPolicyMap" : {
      "global" : 2,
      "ovs_bond0" : 1,
      "ovs_eth0" : 1,
      "ovs_eth1" : 1,
      "pppoe" : 1,
      "vpn" : 0
   },
   "name" : "bond0_copy",
   "rules" : {
      "global" : [
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "45.79.0.0", "255.255.0.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 1,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 0,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "50.116.0.0", "255.255.192.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 1,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 1,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "50.128.0.0", "255.128.0.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 1,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 2,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "147.203.0.0", "255.255.0.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 1,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 3,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "173.245.192.0", "255.255.224.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 1,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 4,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "185.143.223.0", "255.255.255.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 1,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 5,
            "table" : "filter"
         }
      ],
      "ovs_bond0" : [
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : false,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "fd00::", "8" ],
            "ipType" : 1,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 0,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "fe80::", "10" ],
            "ipType" : 1,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 1,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 0,
            "ipList" : [ "192.168.253.254" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 1,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 2,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "192.168.253.0", "255.255.255.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 3,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 3,
            "ipList" : [ "FR", "GF", "GP", "MF", "MQ", "PF", "RE", "TF" ],
            "ipType" : 2,
            "labelList" : [],
            "name" : "",
            "policy" : 1,
            "portDirect" : 0,
            "portGroup" : 1,
            "portList" : [ "10150-10151" ],
            "protocol" : 3,
            "ruleIndex" : 4,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 5,
            "ipList" : [],
            "ipType" : 2,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 1,
            "portList" : [ "10150-10151" ],
            "protocol" : 3,
            "ruleIndex" : 5,
            "table" : "filter"
         }
      ],
      "ovs_eth0" : [
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "192.168.253.0", "255.255.255.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 0,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "fe80::", "10" ],
            "ipType" : 1,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 1,
            "table" : "filter"
         }
      ],
      "ovs_eth1" : [
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "fe80::", "10" ],
            "ipType" : 1,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 0,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "fc00::", "7" ],
            "ipType" : 1,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 1,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "10.0.0.0", "255.0.0.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 2,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "172.16.0.0", "255.240.0.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 3,
            "table" : "filter"
         },
         {
            "adapterDirect" : 1,
            "blLog" : false,
            "chainList" : [ "FORWARD_FIREWALL", "INPUT_FIREWALL" ],
            "enable" : true,
            "ipDirect" : 1,
            "ipGroup" : 1,
            "ipList" : [ "192.168.0.0", "255.255.0.0" ],
            "ipType" : 0,
            "labelList" : [],
            "name" : "",
            "policy" : 0,
            "portDirect" : 0,
            "portGroup" : 3,
            "portList" : [],
            "protocol" : 3,
            "ruleIndex" : 4,
            "table" : "filter"
         }
      ]
   }
}

 

Lien vers le commentaire
Partager sur d’autres sites

Merci grandement.

Je vais pouvoir plus assurément avoir une chance de détecter ce qui pourrait manquer ou avoir été corrompu et faire le nécessaire pour m'éviter la réinitialisation complète.

Ce qui m'inquiète un peu, c'est que ça ressemble fichtrement à celui que j'ai sous le coude (je suis également en "bond") alors que DSM ne le prend pas en compte.

Encore merci



 

Modifié par Overkilled
Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, PiwiLAbruti a dit :

Si ça ne fonctionne toujours pas, essaye de recréer le lien agrégé.

Bon, je suis un peu rouillé par l'âge et ma santé, mais je ne devrais pas avoir à recréer le lien agrégé, il est toujours fonctionnel.
C'est juste que j'ai perdu la possibilité de changer de profil, ni même d'en éditer un via DSM (interface graphique), d'où ma demande pour tenter de remettre les choses d'équerre en ligne de commande pour pouvoir le faire à nouveau via DSM.

Mon unique fichier .json non vide est clairement tronqué et c'est pourquoi j'ai trouvé inutile d'en fournir une copie.
Avec la copie expurgée que tu m'as fournie, j'en ai déjà un syntaxiquement correct.
Si sémantiquement, il ne colle pas à ma configuration (pas encore testé) je devrais finir par y parvenir par essais successifs.
Heureusement le firewall est toujours fonctionnel même si c'est une passoire, je peux au moins l'interroger, l'activer et le désactiver.
Je devrais donc bien finir par glaner toutes les informations nécessaires à intégrer dans un .json minimaliste adapté à ma machine.
Je ne devrais pas avoir besoin de modifier le fichier  "firewall_settings.json", il pointe déjà (ou plutôt encore)  sur le nom du profil qui m'était usuel, mais a disparu.
Et c'est bien ça qui me préoccupe en tâche de fond.
Je n'ai rien bidouillé depuis des mois, voire plus.
Je n'ai pas eu d'arrêt anormal (onduleur) ni de redémarrage autre que d'appliquer la dernière version de DSM dès qu'elle avait été publiée.
Je n'ai plus que l'hypothèse d'une intrusion qui aurait échappé à ma vigilance ou d'un bug de DSM plutôt rare (ce qui m'étonnerait déjà moins vu que j'ai toujours eu le chic de tomber sur ce genre de bugs).

Par simple politesse, je te tiendrai au courant de la suite (j'y vais molo à mon âge).

 

Et encore, chaleureusement merci, car si j'ai aimé dans ma vie professionnelle de pratiquement toujours partir de zéro ou presque, j'étais plus jeune et e, dehors de mon premier Windows 98, ce n'était pas chez moi.
 

@+
 

Lien vers le commentaire
Partager sur d’autres sites

La première tentative aura été la bonne.

J'ai juste un coup de vim sur le fichier <n>.json qui n'existait pas encore (mais dont le <n> est le successeur direct du <n> max d'avant sa création), copié/collé de tes données dans celui-ci, puis fermeture de vim (bien sûr) et ça aura suffi.

J'ai précisé, pour ceux qui, moins expérimentés, rencontreraient le même problème et tomberaient sur ce fil, puisse sans sortir sans avoir besoin de plus d'aide.
C'est pourquoi, je précise également que j'avais pris le soin de fermer complètement la fenêtre du "panneau de configuration" avant de modifier quoi que ce soit.

En conclusion, je n'ai plus qu'à conserver précieusement une copie du profil que tu m'as fourni (ou une version encore plus expurgée) avant de reconfigurer un profil qui correspond à mes besoins.

Et quand tout ça sera fait, en attendant que nouvelle version de DSM intègre des fonctions d'import/export de profils de firewall, je mettrai en place une tâche périodique de recopie (rsync ou shell script) du répertoire "/usr/syno/etc/firewall.d" vers un des répertoires que j'inclus dans mes sauvegardes usuelles.

Encore un grand merci et je me tiens à la disposition de qui tomberait sur le même problème, mais aurait besoin d'un coup de pouce supplémentaire à la seule lecture de ce fil.
Il va de soi (pour moi en tout cas) que si je peux te rendre service (même si j'imagine difficilement que cela pourrait devenir le cas), c'est avec plaisir que je le ferai.

P.S. : Je suis novice du forum en tant que "rédacteur". Il serait certainement utile à tous de changer le titre du fil pour ajouter un joli [Résolu]. Si je n'arrive pas à le faire, ce serait bienvenu qu'un administrateur s'en charge.

Modifié par Overkilled
Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.