J'ai eu des problèmes avec les pare-feu ces derniers temps sur plusieurs serveurs différents. Et je veux créer un script qui s'exécutera une fois toutes les heures environ, et vérifiera un fichier sur un serveur externe et exécutera le jeu de règles de pare-feu correspondant. Comme à l'heure actuelle si QUELQUE CHOSE arrive au pare-feu, et que je me retrouve avec mon ssh/etc bloqué, je dois programmer une visite sur site qui est ridiculement chère. Ce sera donc effectivement un système à sécurité intégrée. Si quelque chose ne va pas, je peux utiliser un autre serveur pour initier un changement sur le serveur "cassé" et le remettre en état d'être géré à distance. Je sais que c'est un peu exagéré, mais avec mon niveau actuel d'administrateur Linux, cela devrait bien fonctionner.
Je n'ai jamais vraiment fait de script bash/sh avant, mais je suis habitué à bat. J'ai donc besoin de l'aide de la communauté pour transformer ce code psudo en quelque chose qui pourrait fonctionner :
$PATH = "/usr/firewall-scripts/temp/";
cd $PATH;
wget https://example.com/firewall/config/failsafe;
$FAILSAFE = readfile("$PATH/failtsafe");#This <--- im sure doesn't exist.
if($FAILSAFE == "1") {
/usr/firewall-scripts/failsafe.fw
}
else if ($FAILSAFE == "2") {
/usr/firewall-scripts/failsafe2.fw
}
else if ($FAILSAFE == "0") {
/usr/firewall-scripts/normal.fw
}
else if ($FAILSAFE == "-1") {
/usr/firewall-scripts/extra-secure.fw
}
Le fichier distant aurait juste les numéros listés 1,2,0 ou -1 (ou quelque chose de similaire à ces lignes.
Il s'agit simplement d'un arbre/interrupteur conditionnel pour exécuter différents fichiers.
Merci d'avance !
Note : Utilisation d'un mélange de Mandrivia 2010.R2 / Ubuntu 10.04 / ClearOS, tous ont des sh et bash complets, au cas où cela aurait de l'importance. Ce qui ne devrait pas être le cas.
EDIT : Il s'agit d'une approche bricolée et il y a probablement de bien meilleures façons (sécurisées) de le faire, mais c'est très léger et simple.
0 votes
Remarque à l'intention de tous les autres : cette façon de gérer un pare-feu et d'atteindre l'objectif "ne me bloquez pas hors de mon serveur" est la plus mauvaise que je puisse imaginer. Ne faites pas cela, s'il vous plaît.
1 votes
@womble : Pourquoi ne pas rendre l'internet meilleur et fournir une réponse démontrant la bonne façon de faire plutôt que de s'en prendre aux autres ?
0 votes
Parce que les gens s'énervent quand je donne des réponses qui ne répondent pas directement à la question. Il a été recommandé que les commentaires soient plus appropriés. J'essaie de le faire. Mais je pense qu'il serait extrêmement dangereux de laisser traîner ce genre d'idée sans avertir les autres.
0 votes
@womble : Pour ma part, j'aimerais voir votre solution.
0 votes
@Iain : Le bouton "poser une question" est juste là en haut à droite. <grin>
0 votes
@womble : N'hésitez pas à le poster en tant que réponse, quelqu'un d'autre pourrait tomber dessus, et votre solution pourrait être bien supérieure à cette méthode approximative à laquelle j'ai pensé.
0 votes
Si vous devez absolument récupérer un fichier via HTTP et l'utiliser dans un script, en particulier pour quelque chose d'aussi sensible que des règles de pare-feu, vous devriez envisager d'utiliser HTTPS afin d'obtenir une certaine protection contre les attaques MITM.
0 votes
HTTPS sera utilisé, évidemment je ne suis pas le propriétaire de exemple.com...... Mais merci pour votre contribution :)