|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() |
Bonjour à tous
J'ai une machine qui tourne tout le temps, sur cette machine, linux, il y a un programme écrit en c++ qui écoute le réseau et écrit sur le port parallèlle pour commander des lumières. J'ai un client en java qui permet sur une autre machine de commander les lumières, ce client envoit des infos par le réseau. J'ai aussi un client, compilé pour linux, qui permet par le réseau d'envoyer des infos au serveur. Je voulais savoir si il était possible via une page web de commander ces lumières de n'importe quelle machine sans avoir un programme d'installer, en gros lancer une commande sur le serveur depuis une page web. Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
Bien sûr que oui!
Un serveur Web n'est ni plus ni moins qu'un programme qui lit des requêtes sur réseau et renvoie des réponses, le fonctionnement de base étant de retourner le contenu statique d'un fichier. Mais tout ce qui est dynamique permet de lancer un programme localement sur le serveur (fonction exec() en PHP). Ce n'est pas si compliqué de se faire son propre serveur HTTP à partir de rien car des exemples sur Internet se trouvent facilement. J'ai fait le mien en C# (http://www.agencexml.com/txs/fr/) pour Windows... Pour le coup, on a un tout petit programme hyper simple à déployer ce qui vous suffirait, je pense, plutôt que d'avoir à installer ceci + cela et encore ceci-cela... A propos d'une machine Linux qui tourne tout le temps, je rêve d'avoir un "Linutop" (http://www.linutop.com)... Est-ce que vous connaissez ? |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Inscription : juillet 2003 Messages : 338 ![]() |
Si j'ai compris: En fait il s'agit d'établir une connexion entre ton serveur où il y'a ton pgm c++ et des clients web. Il te faut établir une connexion sécurisée avec ton serveur pour permettre l'exécution d'un programme sur ton serveur. Côté technique classique je verrais bien établir un tunnel (pour passe le firewall de ton serveur) et SSH port 22, avec un port 8082 pour ton client web (navigateur)en //localhost:8082.
Good idea? |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() |
Merci de vos réponses
je vais étudier de près exec() de PHP |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : juillet 2003 Messages : 338 ![]() |
attention avec exec() tu vas permettre l'exécution depuis le web de binaire sur ton serveur, donc donner la possibilités à un tiers d'avoir des droits root: surveille bien ta politique de sécurité du serveur (liaison ssh, environnement chrooté etc...)
Va voir le lien sécurité php fonction ciblée |
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() |
Je vois le problème. Je ne savais pas qu'exec donnait des droits root.
Donc tatareau tu me conseillerais un tunel ssh depuis une interfaces web sur un autre port que le 80 ? |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
C'est certainement parce que je ne suis pas pirate dans l'âme que je ne vois pas le problème de sécurité : dans le cas présent, il ne s'agit pas de permettre à un internaute de lancer n'importe quel programme depuis son navigateur mais, au travers d'un formulaire spécifique, de provoquer sur le serveur le lancement de tel ou tel programme dont le nom est en dur dans le code PHP ?? Ai-je mal compris ???
De toute façon, s'il s'agit de piloter son éclairage depuis Internet... je suis d'accord sur l'idée de protéger ça pour que ce ne soit pas n'importe qui qui s'amuse à allumer et à éteindre à toute heure du jour et de la nuit... |
|
|
00
|
|
|
#8 | |
|
Membre émérite
![]() Inscription : mars 2003 Messages : 795 ![]() |
Citation:
Si Apache est démarré avec des droits "root" alors exec() pourra executé des programmes en tant que "root". Mais c'est un jeu dangereux |
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Inscription : avril 2007 Messages : 889 ![]() |
Pardonnez-moi d'insister... Ok pour le fait qu'exec() s'appuie sur le même utilisateur qu'Apache, mais, encore, où est la faille ???
Il faudrait que le pirate modifie le script PHP pour y mettre le nom du programme qui l'intéresse et, s'il sait faire ça, il pourrait tout aussi bien rajouter un appel à exec() dans un script qui n'en contenait pas ??? Je débloque ou quoi ??? |
|
|
00
|
|
|
#10 | |
|
Membre éclairé
![]() Inscription : juillet 2003 Messages : 338 ![]() |
alain.couthures
Citation:
La configuration d'un serveur n'est pas une chose triviale, il est estimé par exemple que 50% des serveurs dans le monde ont un DNS mal configuré. Je ne connais pas le(s) script(s) de nico33410, mais au moins qu'il recherche de l'infos sur la sécurité serveur, et puis c'est excellent pour la culture générale nico33410 J'utilise ce type de configuration pour me connecter à distance à un serveur via internet, toutefois je n'ai rien paramètré, je dirais que je n'en suis pas capable de façon 'secure'. Pour le paramètrage précis et concis du serveur apache, poses les questions sur le forum Linux, où il y' a surement des kadors du domaine |
|
|
|
00
|
|
|
#11 | ||
|
Membre émérite
![]() Inscription : mars 2003 Messages : 795 ![]() |
Dans la plupart des configurations sécurisées les fonctions PHP sensibles sont désactivées dans le fichier php.ini :
Citation:
S'il part du principe que c'est seulement pour piloter un jeu de lumieres avec une machine non relié aux réseaux sensibles, pourquoi pas!! Citation:
Surtout si l'aspect sécurité a été négligé dans la programmation
|
||
|
|
00
|
|
|
#12 |
|
Membre éclairé
![]() Inscription : juillet 2003 Messages : 338 ![]() |
Et beaucoup (trop?) d'infos dans le php_info fournit par les providers...
et pour finir de vous convaincre un simple google pirate+¨php ici Mais chez notre ami, ce n'est pas la NSA mais c'est toujours pénible et peut être même davantage de se faire 'bouziller ' ses données perso par un petit c.. Mais l'idée des lumières (et de la domotique en générale) est vachement sympa! A plus |
|
|
00
|
|
|
#13 |
|
Membre à l'essai
![]() |
merci à tous je vais aller poser la question sur le forum de fedora france
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com