Il peut y avoir plusieurs soucis :
- passthru n'a pas de variable PATH d'affectée, toute les commandes doivent etre données avec leur path complet
- tu as des quotes ou autre dans ta commande qui rende ton appel invalide.
Ensuite, mais ca c'est plutot moi qui suit comme ca, j'aime pas demander au shell d'en faire trop d'un coup sur un serveur WEB. Je prefere lui demander une action à chaque fois et controler que tout est OK. En plus ca permet des debugs plus simple.
Je ferais donc un $result = exec($cmd); print '$result'; write($myfile, $result);. (pas sur des parametres j'ai pas touchés au php deuis un bail ;)).
Alors ensuite, ta régle de création de commande me parait très peu sécurisée. Filtre le contenu des variables POST pour etre sur qu'il s'agit d'un 'serveur' et d'une IP.
Et sinon, regarde aussi du coté de escapeshellcmd et escapeshellargs
C'est vrai que ca m'a l'air d'être un joli bazard ton truc ;)
Alors ce que je verrais pour ma part :
- Faire des sous réseaux distinct pour chaque site pour eviter le broadcast par la BLR
- brancher la BLR sur les routeurs et non sur les switch pour eviter au maximum les aller / retour gratuit
- mettre un DHCP de chaque coté de la BLR. Si la BLR tombe, que la moitié d'un etablissement puisse ne plus fonctionner et selon moi une abération
- mettre un ti firewall devant le serveur de nom ca peut toujours etre utile.
Ensuite, le reste, segmentation en sous réseau pour les serveur, vlan, ca dépend du temps que tu as à y consacrer, du temps que tu à rédiger le plan d'adressage et autre document, et le sérieux avec lequel tu comptes t'y investir (et tes successeurs). Plus un réseau est segmenté, plus il y est facile d'administrer les flux (QoS etc..) mais plus il demande de temps pour sa mise en place et le suivit de son évolution
Une petite chose interressante à savoir à propos du flag NEW d'iptables : Toute tentative de connexion non précédement enregistré dans la table est considéré comme nouvelle.
Ainsi tu peux te retrouver avec un paquet ayant le flag ACK mais pas de flag SYN accepté comme nouvelle connexion. Et moi, j'aime pas ca, c'est pas propre car une connexion TCP se fait en 3 états et vouloir les sauter n'est jamais une bonne idées ;)
Ensuite, pourquoi considère tu les connexion ESTABLISHED, RELATED, mais jamais NEW ?
Donc je verrais au final un script ressemblant plus à ca :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED ! --syn -j ACCEPT
# regles pour serveur web
iptables -A INPUT -i eth0 -p tcp --dport 21 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW --syn -j ACCEPT
# regles ssh (modification du port par defaut)
iptables -I INPUT -p tcp --dport 2602 -i eth0 -m state --state NEW --syn -m recent --set
iptables -I INPUT -p tcp --dport 2602 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 2 -j DROP
# regles icmp (permet le ping de l'hebergeur vers mon serveur web)
iptables -A INPUT -i eth0 -p icmp --source IP de l'hebergeur -j ACCEPT
iptables -A INPUT -i eth0 -j REJECT
Ensuite, comme dit au dessus, bloquer l'icmp, ca fait jolie, mais ca ne fait que retarder de quelques minutes les infos. Alors que pour les utilisateurs, ca peut etre utile (négociation du mtu et autres). Surtout que tu ne t'autorise meme pas le ping sur ta propre machine la ;)
Total Anihilation était (et est) un jeu extraordinaire, mais difficile à prendre en main. C'est d'ailleurs ce qui l'a empecher de décoller face à des jeux comme StarCraft. Et désolé de te décevoir, dire que TA est bourrin, c'est comme dire que StarCraft est un jeu de rusher. C'est vrai pour les débutants ;)
Les points forts de TA à l'époque :
- une vrai 3D, avec vision dépendant de l'altitude. Ainsi il était plus interressant de poster des unités vigiles en haut des collines que dans un ravin.
- possibilité de faire de vrai groupes d'unités (+ de 9 unités ;)), d'automatiser leur création dans les usines graces aux files d'attentes...
- gestion de l'énergie/metal en temps réel (pas besoin d'avoir tous les fonds necessaire pour fabriquer une unité, ils seront dépensé au fur et à mesure)
- un équilibrage des unité relativement sympa, changeant du pierre feuille ciseau
- des unités aériennes qui servent, de même pour le maritime.
Pourrais tu poster (ou mettre un lien si c'est trop gros) vers ton source complet ? car il s'agit d'un problème de chargment de classe, ca nous permettra de tester de notre coté et voir ce qui ne vas pas.
Hum .. J'ai l'impression qu'il y a plusieurs erreurs :
- je ne vois pas de méthode main : public static void main (String args) : prototype obligatoire de la fonction main
- la commande java prend en argument le nom de la classe principale contenant la méthode main. Dans ton cas, tu devrais dire java Main (sans l'extension .class)
Posté par Toto .
En réponse au message DHCP.
Évalué à 2.
Y a pas vraiment de convention pour l'art ASCII en réseau, mais en général j'aime bien représenter les liens <--->, les interfaces entre {} {eth1} et les noms sans rien.
Ici, ca donnerait :
- Internet relié à la freebox
- réseau wifi relié à la freebox (mais ca n'a pas pris en compte mes espaces..
- Freebox reliée sur une interface (eth0) de ton routeur
- Réseau ethernet reliée sur une autre interface (eth1) de ton routeur
La taille de /boot me parait un peu exagérer, je pense pas que tu ais a stocker une 30aine de noyaux sur ton serveurs ;) Mais cette partition est surtout utile si tu utilise des systèmes de fichier 'exotique' (autre que ext2/3)
Ensuite, le /tmp me parait une bonne idée, ca permet de lui mettre le noexec
swap, j'aime faire 1,5x la RAM, mais 2x n'est pas mal non plus
Ensuite, ne pas mettre une partition /var/www est étrange... Moi j'aime bien en mettre une, ca me permet de l'avoir aussi en noexec, voire en read only si tu as un site dont les fichiers sont peu mis à jour. Et puis ca permet d'avoir un systeme de fichier optimisé pour les petit fichier en lecture.
Ensuite, j'aime bien me faire une petite partition /etc que je place en read only, ca m'évite de faire trop de betises ;)
Donc moi je partirais plus sur un partitionnement come proposé dans le premier commentaire
C'est vrai que 1Go me parait peu, mais si c'est juste pour conserver les docs/sources/boulot .. Mais néanmoins, c'est largement suffisant je pense si on fait un peu de ménage.
Chez moi j'ai a peu près ca en répartition de donnée :
datas : 400-500Mo
mail : 800-900Mo
musique : 40-50Go (vive le lossless)
jeux : 70-80Go
photo : 10Go
Donc oui, 1Go pour les données, ca me parait suffisant. Après on doit quand meme vite se retrouver à l'étroit....
Enfin ca donne des idées interressante ce journal, faudra que je regarde à mettre certaines de mes partitions sur CF.
Essaye de voir avec un navigateur en mode texte dans ce cas la, si tu en as un d'installé. Cela te permetra de configurer Webmin via ses modules de configuration, s'ils s'agit bien d'un problème de configuration de Webmin. Je vois pas trop ce que ca peut etre comme erreur par contre :s
Contrairement à la Freebox (la livebox je sais pas mais je suppose que cela doit etre pareil), ils vendent un ensemble, matériel et soft. Tu es donc propriétaire de l'objet. Donc ils doivent fournir les sources du code GPL.
Pour Free, ils sont dans leur bon droit (meme si on peut trouver ca ethiquement moyen) car la freebox ne t'appartient à aucun moment. Free à donc pour obligation de fournir les sources aux propriétaire, donc à lui même.
D'ailleurs à ce sujet, je recommande de toujours faire son script de firewall dans un fichier bidon, et une fois que celui ci est complétement valider, de le mettre la ou il faut pour qu'il démarre.
Ca m'a sauver plus d'une fois la vie quand je me suis retrouvée à couper mon SSH. En général, chez les hebergeurs le reboot coute moins cher que la demande de desactiver le firewall :)
boucle infinie
Tu lances une commande date et tu récupères l'heure,
tu fais un joli sleep jusqu'a 7h30
la tu lance un processus fils qui capture le trafic sur eth1 et récupére son PID, de meme jusqu'a eth4
tu refais un sleep d' 1h30
tu tues les processus
tu refais un sleep de 22h30
Par contre, c'est vraiment pas beau, cron est la pour ca, tu as des raisons de ne pas vouloir l'utiliser ?
ebtables est l'iptables de niveau 2 pour l'Ethernet. Il permet de filter suivant les vlans, les adresses MAC etc..
J'aurais besoin d'une interface relativement intuitive pour créer un pont filtrant, les utilisateurs de la solutions connaissent les concepts mais n'ont pas envie de se prendre la tête à apprendre des commandes. Il leur faudrait donc une jolie GUI pour faire ca..
Je regarderais du coté du développemetn de modules pour firewall builder si je ne trouve rien, ca peut toujours être utile..
Posté par Toto .
En réponse au message DHCP.
Évalué à 1.
tout dépend de ton infrastructure réseau. Si tu désactive le dhcp de la freebox, alors celle-ci pert son status de routeur et devient un simple modem ethernet. Il est donc necessaire de la brancher sur une carte réseau et non plus sur le switch.
Posté par Toto .
En réponse au message DHCP.
Évalué à 3.
Alors tu peux avoir plusieurs problèmes suivant ta configuration :
- Si tu as ton point d'acces sur le serveur dhcp, tu as lancé ton serveur dhcp pour qu'il n'écoute que sur une interface. Vérifie ton fichier de configuration et les options de démarrage de ton serveur.
- Si ton accès wifi se fait par la freebox, tu as oublié de desactiver la fonctionnalité dhcp de celle ci. Et la tu te retrouve à avoir la Fbx qui répons plus vite que ton serveur dhcp, et donc lui attribue une adresse IP, qui doit se trouver dans la même plage d'adresse que celle fournit par ton serveur. Deux solution : désactiver ton dhcp sur ta fbx, Changer la plage d'adresse du wifi ou de l'ethernet.
Essaie de voir déjà si en local ca marche. Ensuite, je ne connais pas trop webmin, mais par hasard il n'y aurait pas une directive qui rends le deny prioritaire sur le allow et un bon gros deny=all ?
Si tu fais juste ca, suivant les hébergeurs, il se peux que tu ais quelques soucis. Certains hébergeurs ping la machine pour vérifier qu'elle fonctionne toujours et lui font un hard reboot en cas de non réponse.
Bref, je conseille aussi de lire la doc de l'hébergeur concernant les firewall, en générals ils donnent des exemples et disent les différents port à ouvrir pour leurs outils de surveillance
[^] # Re: rectification
Posté par Toto . En réponse au message Problème php, passthru et perte de caractère. Évalué à 2.
- passthru n'a pas de variable PATH d'affectée, toute les commandes doivent etre données avec leur path complet
- tu as des quotes ou autre dans ta commande qui rende ton appel invalide.
Ensuite, mais ca c'est plutot moi qui suit comme ca, j'aime pas demander au shell d'en faire trop d'un coup sur un serveur WEB. Je prefere lui demander une action à chaque fois et controler que tout est OK. En plus ca permet des debugs plus simple.
Je ferais donc un $result = exec($cmd); print '$result'; write($myfile, $result);. (pas sur des parametres j'ai pas touchés au php deuis un bail ;)).
Alors ensuite, ta régle de création de commande me parait très peu sécurisée. Filtre le contenu des variables POST pour etre sur qu'il s'agit d'un 'serveur' et d'une IP.
Et sinon, regarde aussi du coté de escapeshellcmd et escapeshellargs
# .
Posté par Toto . En réponse au message Architecture réseau - votre avis ?. Évalué à 3.
Alors ce que je verrais pour ma part :
- Faire des sous réseaux distinct pour chaque site pour eviter le broadcast par la BLR
- brancher la BLR sur les routeurs et non sur les switch pour eviter au maximum les aller / retour gratuit
- mettre un DHCP de chaque coté de la BLR. Si la BLR tombe, que la moitié d'un etablissement puisse ne plus fonctionner et selon moi une abération
- mettre un ti firewall devant le serveur de nom ca peut toujours etre utile.
Ensuite, le reste, segmentation en sous réseau pour les serveur, vlan, ca dépend du temps que tu as à y consacrer, du temps que tu à rédiger le plan d'adressage et autre document, et le sérieux avec lequel tu comptes t'y investir (et tes successeurs). Plus un réseau est segmenté, plus il y est facile d'administrer les flux (QoS etc..) mais plus il demande de temps pour sa mise en place et le suivit de son évolution
# .
Posté par Toto . En réponse au message Iptables sur serveur web. Évalué à 3.
Ainsi tu peux te retrouver avec un paquet ayant le flag ACK mais pas de flag SYN accepté comme nouvelle connexion. Et moi, j'aime pas ca, c'est pas propre car une connexion TCP se fait en 3 états et vouloir les sauter n'est jamais une bonne idées ;)
Ensuite, pourquoi considère tu les connexion ESTABLISHED, RELATED, mais jamais NEW ?
Donc je verrais au final un script ressemblant plus à ca :
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED ! --syn -j ACCEPT
# regles pour serveur web
iptables -A INPUT -i eth0 -p tcp --dport 21 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 53 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW --syn -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW --syn -j ACCEPT
# regles ssh (modification du port par defaut)
iptables -I INPUT -p tcp --dport 2602 -i eth0 -m state --state NEW --syn -m recent --set
iptables -I INPUT -p tcp --dport 2602 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 2 -j DROP
# regles icmp (permet le ping de l'hebergeur vers mon serveur web)
iptables -A INPUT -i eth0 -p icmp --source IP de l'hebergeur -j ACCEPT
iptables -A INPUT -i eth0 -j REJECT
Ensuite, comme dit au dessus, bloquer l'icmp, ca fait jolie, mais ca ne fait que retarder de quelques minutes les infos. Alors que pour les utilisateurs, ca peut etre utile (négociation du mtu et autres). Surtout que tu ne t'autorise meme pas le ping sur ta propre machine la ;)
[^] # Re: Précisions
Posté par Toto . En réponse au journal Starcraft 2 bientôt dans les box?. Évalué à 5.
Les points forts de TA à l'époque :
- une vrai 3D, avec vision dépendant de l'altitude. Ainsi il était plus interressant de poster des unités vigiles en haut des collines que dans un ravin.
- possibilité de faire de vrai groupes d'unités (+ de 9 unités ;)), d'automatiser leur création dans les usines graces aux files d'attentes...
- gestion de l'énergie/metal en temps réel (pas besoin d'avoir tous les fonds necessaire pour fabriquer une unité, ils seront dépensé au fur et à mesure)
- un équilibrage des unité relativement sympa, changeant du pierre feuille ciseau
- des unités aériennes qui servent, de même pour le maritime.
[^] # Re: .
Posté par Toto . En réponse au message Petit soucis à la c**, mais qui fait ch***. Évalué à 3.
# .
Posté par Toto . En réponse au message Petit soucis à la c**, mais qui fait ch***. Évalué à 3.
- je ne vois pas de méthode main : public static void main (String args) : prototype obligatoire de la fonction main
- la commande java prend en argument le nom de la classe principale contenant la méthode main. Dans ton cas, tu devrais dire java Main (sans l'extension .class)
[^] # Re: re
Posté par Toto . En réponse au message DHCP. Évalué à 2.
Ici, ca donnerait :
- Internet relié à la freebox
- réseau wifi relié à la freebox (mais ca n'a pas pris en compte mes espaces..
- Freebox reliée sur une interface (eth0) de ton routeur
- Réseau ethernet reliée sur une autre interface (eth1) de ton routeur
[^] # Re: A toi de voir
Posté par Toto . En réponse au message Partitionnement d'un serveur dédié. Évalué à 2.
Ensuite, le /tmp me parait une bonne idée, ca permet de lui mettre le noexec
swap, j'aime faire 1,5x la RAM, mais 2x n'est pas mal non plus
Ensuite, ne pas mettre une partition /var/www est étrange... Moi j'aime bien en mettre une, ca me permet de l'avoir aussi en noexec, voire en read only si tu as un site dont les fichiers sont peu mis à jour. Et puis ca permet d'avoir un systeme de fichier optimisé pour les petit fichier en lecture.
Ensuite, j'aime bien me faire une petite partition /etc que je place en read only, ca m'évite de faire trop de betises ;)
Donc moi je partirais plus sur un partitionnement come proposé dans le premier commentaire
[^] # Re: Absolument fantastique
Posté par Toto . En réponse au journal remplacer un disque dur par une compact flash. Évalué à 2.
Chez moi j'ai a peu près ca en répartition de donnée :
datas : 400-500Mo
mail : 800-900Mo
musique : 40-50Go (vive le lossless)
jeux : 70-80Go
photo : 10Go
Donc oui, 1Go pour les données, ca me parait suffisant. Après on doit quand meme vite se retrouver à l'étroit....
Enfin ca donne des idées interressante ce journal, faudra que je regarde à mettre certaines de mes partitions sur CF.
[^] # Re: .
Posté par Toto . En réponse au message Accès interdit webmin. Évalué à 2.
[^] # Re: avec un hash de hash! ;-)
Posté par Toto . En réponse au message structure de donnée. Évalué à 2.
[^] # Re: le problème est dans blender
Posté par Toto . En réponse au message Forcer le flush d'un application. Évalué à 4.
Exemple
$ cmd >/dev/null 2>&1
Etat Initial :
1 : STDIN
2 : STDERR
1ere redirection
1 : /dev/null
2 : STDERR
2eme redirection
1 : /dev/null
2 : /dev/null
----------------------------------
2>&1 >/dev/null
Etat Initial :
1 : STDIN
2 : STDERR
1ere redirection
1 : STDIN
2 : STDIN
2eme redirection
1 : /dev/null
2 : STDIN
[^] # Re: .
Posté par Toto . En réponse au message Forcer le flush d'un application. Évalué à 2.
En bash, ca donnerais ca d'après la doc
$ blender >out.txt 2>&1
L'ordre des redirections est important
# .
Posté par Toto . En réponse au message Forcer le flush d'un application. Évalué à 2.
$ blender 2>&out.txt
# Yam
Posté par Toto . En réponse au message RHEL5 : créer un dépot rpm local. Évalué à 2.
[^] # Re: mise en sommeil complete d'un serveur
Posté par Toto . En réponse à la dépêche PowerTOP : Un outil pour réduire la consommation d'énergie sous GNU/Linux. Évalué à 5.
[^] # Re: un lien ? des infos ?
Posté par Toto . En réponse au message Ordissimo, le pc des nuls par des nuls !. Évalué à 5.
Pour Free, ils sont dans leur bon droit (meme si on peut trouver ca ethiquement moyen) car la freebox ne t'appartient à aucun moment. Free à donc pour obligation de fournir les sources aux propriétaire, donc à lui même.
[^] # Re: iptables
Posté par Toto . En réponse au message recherche firewall (efficace et simple à configurer). Évalué à 2.
Ca m'a sauver plus d'une fois la vie quand je me suis retrouvée à couper mon SSH. En général, chez les hebergeurs le reboot coute moins cher que la demande de desactiver le firewall :)
# .
Posté par Toto . En réponse au message Script simple. Évalué à 2.
boucle infinie
Tu lances une commande date et tu récupères l'heure,
tu fais un joli sleep jusqu'a 7h30
la tu lance un processus fils qui capture le trafic sur eth1 et récupére son PID, de meme jusqu'a eth4
tu refais un sleep d' 1h30
tu tues les processus
tu refais un sleep de 22h30
Par contre, c'est vraiment pas beau, cron est la pour ca, tu as des raisons de ne pas vouloir l'utiliser ?
[^] # Re: Firewall builder
Posté par Toto . En réponse au message recherche firewall (efficace et simple à configurer). Évalué à 3.
J'aurais besoin d'une interface relativement intuitive pour créer un pont filtrant, les utilisateurs de la solutions connaissent les concepts mais n'ont pas envie de se prendre la tête à apprendre des commandes. Il leur faudrait donc une jolie GUI pour faire ca..
Je regarderais du coté du développemetn de modules pour firewall builder si je ne trouve rien, ca peut toujours être utile..
[^] # Re: re
Posté par Toto . En réponse au message DHCP. Évalué à 1.
[^] # Re: re
Posté par Toto . En réponse au message DHCP. Évalué à 1.
il te faudra une configuration de ce type la :
D'ailleurs je me demande comment la fbx gere le wifi sans le dhcp et sans le routeur..
# .
Posté par Toto . En réponse au message DHCP. Évalué à 3.
- Si tu as ton point d'acces sur le serveur dhcp, tu as lancé ton serveur dhcp pour qu'il n'écoute que sur une interface. Vérifie ton fichier de configuration et les options de démarrage de ton serveur.
- Si ton accès wifi se fait par la freebox, tu as oublié de desactiver la fonctionnalité dhcp de celle ci. Et la tu te retrouve à avoir la Fbx qui répons plus vite que ton serveur dhcp, et donc lui attribue une adresse IP, qui doit se trouver dans la même plage d'adresse que celle fournit par ton serveur. Deux solution : désactiver ton dhcp sur ta fbx, Changer la plage d'adresse du wifi ou de l'ethernet.
# .
Posté par Toto . En réponse au message Accès interdit webmin. Évalué à 2.
[^] # Re: iptables
Posté par Toto . En réponse au message recherche firewall (efficace et simple à configurer). Évalué à 2.
Bref, je conseille aussi de lire la doc de l'hébergeur concernant les firewall, en générals ils donnent des exemples et disent les différents port à ouvrir pour leurs outils de surveillance