IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Communiquer à distance (Internet) avec une carte Arduino ?


Sujet :

Arduino

  1. #1
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut Communiquer à distance (Internet) avec une carte Arduino ?
    Salut,

    J'aimerais comprendre les différents moyens de communiquer à distance (Internet) avec une carte Arduino... (j'ai ouvert des fils dans la section "réseau" du forum mais j'ai toujours du mal à comprendre concrètement...).

    Bon je vois qu'il y a différentes situations :

    1- Si la carte Arduino est connectée à une box alors j'ai cru comprendre que dans ce cas-là on pouvait faire une redirection de port... Je ne sais pas si il y a d'autres moyens que cela.

    2- J'ai bien vu ici et là des explications expliquant comment faire une redirection de port avec une box mais qu'en est-il si la carte Arduino n'est pas connectée à une box ? Exemple si elle est connectée dans une entreprise, une école, une université ou à un réseau wifi ?

    Merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 403
    Points
    5 403
    Par défaut
    pour vous connecter au réseau il faut:

    - soit un arduino qui a une prise ethernet (peu fréquents)
    - soit un arduino avec un "shield" ethernet
    - soit un arduino capable de faire du Wi-Fi
    - soit un arduino capable de faire de la 3G/4G

    En oubliant le dernier cas un peu particulier (généralement pas de connexion entrante possible chez les opérateurs), pour les cas Ethernet ou Wi-Fi ça se passe comme si vous deviez brancher un nouvel équipement sur votre réseau.
    Le code Arduino doit s'authentifier sur le réseau (si WiFi par exemple) pour le rejoindre. On peut être en IP fixe ou en DHCP (éventuellement avec une IP fixe attribuée par le serveur DHCP). il y a des bibliothèques Arduino pour cela.

    qu'en est-il si la carte Arduino n'est pas connectée à une box ? Exemple si elle est connectée dans une entreprise, une école, une université ou à un réseau wifi ?
    Ensuite c'est comme un équipement réseau standard:
    - pour faire simple, il est "visible" en IP depuis les autres appareils qui sont sur le même sous-réseau.
    - Si vous voulez pouvoir le joindre directement depuis internet, il faut que le routeur accepte les connexions entrantes et sache rediriger une requête vers votre Arduino. Ce sont des techniques classiques de redirection, rien de spécial pour Arduino (et ça se gère au niveau du réseau, pas de l'Arduino).

  3. #3
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Merci.

    Citation Envoyé par Jay M Voir le message
    pour vous connecter au réseau il faut:

    - soit un arduino qui a une prise ethernet (peu fréquents)
    - soit un arduino avec un "shield" ethernet
    - soit un arduino capable de faire du Wi-Fi
    - soit un arduino capable de faire de la 3G/4G

    En oubliant le dernier cas un peu particulier (généralement pas de connexion entrante possible chez les opérateurs), pour les cas Ethernet ou Wi-Fi ça se passe comme si vous deviez brancher un nouvel équipement sur votre réseau.
    Le code Arduino doit s'authentifier sur le réseau (si WiFi par exemple) pour le rejoindre. On peut être en IP fixe ou en DHCP (éventuellement avec une IP fixe attribuée par le serveur DHCP). il y a des bibliothèques Arduino pour cela.
    Ici on parle bien d'un réseau local ? Et l'interface réseau (Ethernet ou wifi) de la carte Arduino aura une adresse IP privée/interne, c'est bien ça ?


    Citation Envoyé par Jay M Voir le message
    Ensuite c'est comme un équipement réseau standard:
    - pour faire simple, il est "visible" en IP depuis les autres appareils qui sont sur le même sous-réseau.
    Est-ce que cela signifie qu'il peut communiquer avec les autres appareils appartenant au même réseau local ? Si oui je ne sais pas comment on peut faire ça, j'ai vu quelques explications pour le cas où le réseau local est connecté à une box mais est-ce possible dans une salle info d'une fac par exemple ?

    Genre on a une salle de 10 PC + une carte Arduino connectés à un réseau local , est-ce que les PC peuvent communiquer avec la carte Arduino ?


    Citation Envoyé par Jay M Voir le message
    - Si vous voulez pouvoir le joindre directement depuis internet, il faut que le routeur accepte les connexions entrantes et sache rediriger une requête vers votre Arduino. Ce sont des techniques classiques de redirection, rien de spécial pour Arduino (et ça se gère au niveau du réseau, pas de l'Arduino).
    Ok c'est l’équivalent de la redirection de port avec les box ? Mais là je ne sais pas comment on peut faire cela ? Faut-il avoir accès à la configuration du routeur ? Si on n'a pas accès je suppose que cela nous oblige à passer par le service info qui gère cela ?

  4. #4
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Citation Envoyé par Jay M Voir le message
    - Si vous voulez pouvoir le joindre directement depuis internet, il faut que le routeur accepte les connexions entrantes et sache rediriger une requête vers votre Arduino. Ce sont des techniques classiques de redirection, rien de spécial pour Arduino (et ça se gère au niveau du réseau, pas de l'Arduino).
    Ok c'est l’équivalent de la redirection de port avec les box ? Mais là je ne sais pas comment on peut faire cela ? Faut-il avoir accès à la configuration du routeur ? Si on n'a pas accès je suppose que cela nous oblige à passer par le service info qui gère cela ?
    Je ne sais pas si il y a une solution à ce problème de configuration du routeur mais si il n'y en a pas je me disais qu'on pourrait passer par un serveur intermédiaire, est-ce que ce dernier pourrait être un site perso ?

  5. #5
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 403
    Points
    5 403
    Par défaut
    A moins que les admins aient tout verrouillé, les PCs de la même salle devraient voir la carte.

    il se peut que l’admin bloque l’ajout de nouveaux équipements sur le réseau cependant (source d’attaques possible). Dans ce cas votre arduino ne pourra pas se joindre au réseau

    Il faut poser la question au service informatique et ça m’étonnerait très fortement qu’ils autorisent une connexion entrante en dehors de la DMZ...

    Généralement si vous pouvez avoir un serveur dans la DMZ (ou un hébergement internet quelque part) l'arduino émet ses données vers ce serveur (donc pas de connexion entrante) le serveur les conserve dans une base de données et on écrit un service web ou autre de présentation de ces données sur le serveur (qui lui est visible du monde extérieur)

  6. #6
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Merci.

    Ok je vais continuer à étudier ces questions-là...

  7. #7
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Ah oui je me souviens qu'un prof m'avait dit avoir utilisé un VPN pour communiquer à distance avec un Raspberry Pi... Ce n'était pas un Arduino mais peut-être que le principe reste le même...

  8. #8
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Points : 2 790
    Points
    2 790
    Par défaut
    Bonjour Beginner .

    Il y a peut-être confusion. Le VPN ne permet pas à proprement parler la communication entre deux PC. Son but est, en quelque sorte, de permettre à un PC de prendre le contrôle d'un autre PC en lui "prêtant" son écran et son clavier. Techniquement, on ne peut donc pas vraiment parler de communication (échange de données) entre les deux PC, bien que celle-ci soit toujours possible, indépendamment du VPN, puisqu'ils sont connectés au même réseau.

    Le VPN est un peu comme un switch qui connecte un ensemble "écran-clavier-souris" unique à différents PC en fonction de sa position, cet ensemble n'étant connecté qu'à un seul PC à la fois, la différence étant que le VPN utilise le réseau et l'un des PC pour émuler ce switch.


    Amicalement,
    naute

  9. #9
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 403
    Points
    5 403
    Par défaut
    @Naute
    Euh, non le VPN ce n’est pas ça du tout ...confusion avec VNC?

    C’est un tunnel crypté qui permet de joindre deux réseaux ou une machine et un intranet, généralement en passant par internet entre les deux. En gros le pc distant se comporte ensuite comme s’il était sur l’intranet.

    Pour les particuliers ou les hackers C’est souvent utilisé pour protéger leur trafic internet et de masquer leur identité en ligne, le traffic sortant n’apparaissant pas provenir de leur ordinateur mais du serveur distant.

    On peut bien sûr ensuite faire du VNC sur le VPN pour contrôler l’ordinateur distant

  10. #10
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Points : 2 790
    Points
    2 790
    Par défaut
    Bonjour Jay M .

    Citation Envoyé par Jay M Voir le message
    @Naute
    Euh, non le VPN ce n’est pas ça du tout ...confusion avec VNC?
    Oui oui ! . Tu as tout à fait raison. Je ne sais pas pourquoi, j'ai lu VNC au lien de VPN ce qui, j'en conviens, n'est pas du tout la même chose. Je deviens confus, moi. Ça sent le sapin .

    Donc, j'enlève tout ce que je viens de dire et qui, bien que restant valable si on remplace VPN par VNC, est hors sujet.

    Merci de m'avoir remis sur les rails .

    Amicalement,
    naute

  11. #11
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 403
    Points
    5 403
    Par défaut
    Ça m’arrive aussi

  12. #12
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Merci à vous deux.

    Ok du coup le VNC est-cela que certains utilisent pour dépanner un PC à distance ? On m'a déjà parlé de ce genre de logiciel qui permettent de contrôler un PC à distance et il ne m'a pas semblé qu'il fallait faire une redirection de port pour cela...

  13. #13
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 403
    Points
    5 403
    Par défaut
    Tout dépend de qui initie la connexion. Si vous voulez qu’un logiciel tournant sur votre ordinateur soit visible à travers internet, il faut que l’on puisse établir une route entre l’ordinateur d’origine (appelant) et celui destination (appelé). La destination étant derrière une box, souvent avec un pare-feu, dans un réseau local - la seule chose visible de l’extérieur c’est la box. L’appelant émet donc sa requête vers la box en précisant un numéro de port de communication et la box doit avoir été configurée pour laisser passer cette communication entrante et l’envoyer vers le bon destinataire du réseau local grâce au numéro de port. Par exemple vous pouvez dire à la box "une connexion entrante sur le port 8080 doit être routée vers le serveur avec telle IP locale (allouée souvent en dur a un ordinateur particulier grâce à son adresse MAC, pas par le DHCP, pour qu’elle soit fixe)" et pour VNC on utilise par défaut le port 5900 pour les connexions classiques du client VNC Viewer et le port 5800 pour le client VNC HTTP Java.

    C’est pour cela qu’on parle de redirection de ports.

  14. #14
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Bonjour,

    Alors les box permettent de faire des redirections de port - c'est ce que j'ai fait avec ma Freebox.
    Dans mon exemple, je voulais vérifier que mon serveur HTTP Arduino renvoyait bien une réponse conforme W3C

    Dans les paramètres de ma Freebox j'ai redirigé le port 80 vers l'adresse IP que possède mon serveur Arduino sur mon réseau local

    Ensuite, dans W3C validateur, j'ai indiqué l'adresse IP "publique" de ma freebox

    Les deux adresses IP sont différentes et n'on rien à voir. C'est normal.

    Comment ça marche ?
    - Le W3C validateur s'est simplement connecté sur ma Freebox comme si elle était un serveur web.
    - La Freebox a ensuite utilisé ma redirection de port pour "refiler le bébé" au serveur Arduino.
    - La Freebox ne fait rien d'autre que de servir d’intermédiaire, c'est elle qui relie le serveur Arduino à Internet.
    - Le serveur Arduino a reçu la requête du W3C validateur comme si elle venait de la Freebox.
    - le serveur Arduino a ensuite envoyé la réponse, la aussi la Freebox a servit d’intermédiaire dans l'autre sens et à renvoyé la réponse au W3C validateur.

    MAIS ATTENTION il y a un gros problème de SECURITE.

    Le serveur Arduino n'est pas capable de faire du HTTPS.
    Ici, n'importe qui peut se connecter sur mon serveur Arduino et lui envoyer n'importe quoi.
    Si vous avez envie de faire un serveur web pourquoi pas, mais ce n'est pas une bonne idée que le serveur Arduino serve à contrôler le chauffage dans la maison

    Faire une identification avec mot de passe ne peut pas se faire en HTTP (les mots de passe seraient transmis en clair !)

    Autre soucis, si beaucoup de visiteurs ou des "robots" se connectent en même temps sur le serveur Arduino il risque de ne pas pouvoir suivre...

    Dans mon exemple, j'ai juste fait une petite redirection temporaire pour utiliser le service du W3C validateur, en étant à côté de la carte, qui ne pouvait rien faire de mal chez moi. Je l'ai désactivé ensuite.

    Avoir un objet connecté chez soi qui utilise Internet nécessite que tout soit bien sécurisé... Il faut :
    - du matériel capable de le faire
    - être capable de mettre en oeuvre un logiciel capable de le faire et en corrigeant régulièrement les failles de sécurité


    C'est difficile.
    D'ailleurs une bonne partie des objets connectés du commerce sont mauvais à ce niveau là.
    Si les ordinateurs et les smartphone peuvent être correctement sécurisés si l'utilisateur fait attention, pour les objets connectés c'est une catastrophe.

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  15. #15
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Bonjour,

    Si tu as absolument besoin de passer via Internet, il est possible de le faire avec, comme intermédiaire, un serveur informatique

    Le serveur informatique sera sécurisé (HTTPS), et il devra jouer le rôle d'intermédiaire entre Internet et l'Arduino.

    Il faut d'abord être capable de paramétrer et gérer le serveur HTTPS.

    Si c'est dans une école ou une université, vous avez très certainement déjà un serveur qui vous permet d'avoir vos pages web personnelles d'hébergées dessus, ces pages pouvant êtres faites en HTML et/ou en PHP.
    Il va falloir négocier avec le service informatique la création et l'installation d'un logiciel dédié sur le serveur qui sera capable de faire le lien entre le code PHP du site web et l'Arduino.

    Pour que la sécurité soit assurée, il faudra que :
    - le fameux module soit bien fait
    - le code PHP du site web soit bien fait lui aussi

    L'Arduino sera connecté au réseau local, il ne sera pas directement "visible" depuis Internet, mais le serveur pourra échanger avec lui.

    C'est un projet informatique pas simple mais très intéressant.

    Il existe aussi des plateformes servant d'intermédiaire (exemple https://www.synox.io/solutions-iot/p...rme-som2m-iot/) mais :
    - c'est payant
    - vous devez faire confiance à la plateforme

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  16. #16
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut et merci à vous deux (Jay M et electroremy).

    Citation Envoyé par electroremy Voir le message
    Alors les box permettent de faire des redirections de port - c'est ce que j'ai fait avec ma Freebox.
    Dans mon exemple, je voulais vérifier que mon serveur HTTP Arduino renvoyait bien une réponse conforme W3C
    Merci pour cet exemple, c'est toujours utile d'avoir un cas concret...


    Citation Envoyé par electroremy Voir le message
    MAIS ATTENTION il y a un gros problème de SECURITE.
    Oui effectivement, ce n'est pas la première fois que je lis cela...

    Citation Envoyé par electroremy Voir le message
    Le serveur Arduino n'est pas capable de faire du HTTPS.
    Ici, n'importe qui peut se connecter sur mon serveur Arduino et lui envoyer n'importe quoi.
    Si vous avez envie de faire un serveur web pourquoi pas, mais ce n'est pas une bonne idée que le serveur Arduino serve à contrôler le chauffage dans la maison...

    ...
    Ok mais je me demandais comment un "pirate" pourrait contrôler le chauffage car même si je fais une redirection de port il lui faudra plusieurs données :

    1- Il lui faudra l’adresse IP publique du routeur (box ou autre).
    2- Ensuite il lui faudra connaitre les commandes à envoyer...
    3- Et d'ailleurs je pourrais mettre en place un protocole plus ou moins complexe à respecter pour que les commandes ne soient pas ignorées... Dans ce cas il lui faudra aussi connaitre ce protocole...

    De plus n'est-il pas possible de mettre un "filtre", c'est-à-dire ne peut-on pas à l'aide d'un code filtrer les requêtes selon l’adresse IP ? Ou/et qu'est-qui empêcherait d'imposer une identification par mot de passe qui serait à ennoyer avant toute commande ?

    Citation Envoyé par electroremy Voir le message
    Si tu as absolument besoin de passer via Internet, il est possible de le faire avec, comme intermédiaire, un serveur informatique
    Oui c'est une idée qu'on avait évoquée, cela me semble intéressant...


    Citation Envoyé par electroremy Voir le message
    Pour que la sécurité soit assurée, il faudra que :
    - le fameux module soit bien fait
    - le code PHP du site web soit bien fait lui aussi

    L'Arduino sera connecté au réseau local, il ne sera pas directement "visible" depuis Internet, mais le serveur pourra échanger avec lu
    Ok si j'ai bien compris dans ce cas on ne fait pas de redirection de port mais dans cas il me semble que le serveur extérieur ne pourra pas initier une communication avec la carte Arduino mais il pourra répondre à une requête faite par la carte Arduino, c'est bien ça ?

    Dans ce cas n'est-ce pas déjà sécurisé étant donné que seuls les serveurs extérieurs qui auront reçu une requête de la carte Arduino pourront communiquer (en répondant à la requête) avec cette dernière ???

    Merci.

  17. #17
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 715
    Points : 5 403
    Points
    5 403
    Par défaut
    Salut
    Citation Envoyé par Beginner. Voir le message
    si j'ai bien compris dans ce cas on ne fait pas de redirection de port mais dans cas il me semble que le serveur extérieur ne pourra pas initier une communication avec la carte Arduino mais il pourra répondre à une requête faite par la carte Arduino, c'est bien ça ?
    Tout à fait, c'est l'arduino qui exporte ses données et éventuellement reçoit une réponse. Il n'y a pas de communication entrante à établir. Le plus souvent d'ailleurs les données sont stockées dans ce serveur qui est hébergé quelque part où c'est fait pour (OVH and co) et les consultations de vos données se font sur ce serveur (qui aura plus de puissance que votre petit Arduino pour répondre à toutes les requêtes).

    Dans ce cas n'est-ce pas déjà sécurisé étant donné que seuls les serveurs extérieurs qui auront reçu une requête de la carte Arduino pourront communiquer (en répondant à la requête) avec cette dernière ?
    sauf si le serveur extérieur contacté n'est pas celui que vous croyez (attaque man in the middle)... Pour cela on utilise un certificat de serveur, mais on retombe dans la communication cryptée non supportée.

  18. #18
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Bonjour,

    Effectivement un piratage demande que le pirate se donne un peu de mal...
    Mais des "robots" automatisent beaucoup de choses !
    Et même si un pirate aura du mal à pirater toutes les fonctions de ton système, il peut, en revanche, très facilement "planter" ton système en lui envoyant un certain nombre de requêtes à un rythme régulier.
    On appelle ça une attaque par déni de service ou DOS: https://fr.wikipedia.org/wiki/Attaqu...9ni_de_service

    Le shield Ethernet Arduino n'ayant pas plus de 8 sockets, une attaque DOS est très facile à faire

    Les pirates sont à la recherche de serveurs vulnérables pour les attaquer.
    Donc mettre un serveur non sécurisé (HTTP au lieu de HTTPS) c'est attirer les pirates.
    D'ailleurs les pirates sont très friands d'objets connectés mal sécurisés, par exemple des réfrigérateurs connectés ont été piratés pour envoyer des tonnes de spam... Le tout à l'insu de leur propriétaire, car le frigo continue à fonctionner normalement.
    Il suffit que l'adresse IP "publique" de ta box se retrouve dans la liste des adresses "cible" d'un robot et c'est le cauchemard assuré...

    Une solution est d'avoir un serveur chez soi.

    Un Raspberry Pi peut servir comme serveur, il est assez puissant pour faire un serveur sécurisé, car un Raspberry Pi est un vrai ordinateur, tout en ayant un encombrement et une consommation électrique réduite.

    Il existe des distributions LINUX toutes faites pour faire un serveur sur Raspberry Pi, mais il faut quand même s'y connaitre pour configurer le serveur, et bien sûr faire régulièrement les mises à jour pour ne pas laisser trainer des failles de sécurité.

    Il est sage de ne pas installer, de désactiver, voire de désinstaller, toutes les fonctions du serveur qui ne sont pas utiles pour le fonctionnement de ton projet. Par exemple, si ton serveur n'a pas les logiciels pour envoyer des mails, même si un code malicieux d'envoi de mail est injecté dans le serveur par un pirate, les mails ne seront pas envoyés. De même, étant donné que tu auras accès physiquement au serveur, tu n'as pas besoin de SSH qui permet l'administration à distance (c'est le jackpot pour un pirate de réussir à y avoir accès)

    C'est un bon moyen de se former à l'administration d'un serveur.

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  19. #19
    Membre éprouvé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    934
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 934
    Points : 1 274
    Points
    1 274
    Par défaut
    Bonjour,

    Chose que j'ai oublié de dire :

    Avec un serveur Raspberry Pi sécurisé maison, tu rediriges le port 80 dans ta box vers le Raspberry PI

    C'est ensuite le Raspberry PI qui va communiquer avec l'Arduino.

    La communication entre le Raspberry Pi et l'Arduino sera uniquement sur le réseau local, elle sera "invisible" depuis Internet.

    D'ailleurs le Raspberry Pi et l'Arduino peuvent communiquer autrement que via le réseau local : bus SPI, I²C, UART, voire une solution maison avec des GPIO

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  20. #20
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut et encore merci à vous deux,

    Ok donc je note qu'il y a les attaques man in the middle et DOS: https://fr.wikipedia.org/wiki/Attaqu...9ni_de_service... Il faut que je regarde ça...

    Je note aussi la solution d'avoir un serveur chez soi avec un Raspberry Pi... C'est peut-être cela que le prof dont je parlais a fait (il avait mis en place un VPN...).


    Merci.
    A suivre...

Discussions similaires

  1. Sous-réseau avec une carte Arduino UNO
    Par Lancelot60 dans le forum Arduino
    Réponses: 1
    Dernier message: 13/11/2020, 14h40
  2. composer un intervalle flou avec une carte de distance
    Par semsem26 dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 22/04/2013, 10h24
  3. Communiquer avec une Carte entrées sorties
    Par Immortal-PC dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 03/08/2009, 07h35
  4. partager sa connection internet avec une virtual machine
    Par Death83 dans le forum Administration
    Réponses: 1
    Dernier message: 10/10/2005, 10h45
  5. Problème avec une carte Sound Blaster Live
    Par zogstrip dans le forum Matériel
    Réponses: 4
    Dernier message: 25/09/2004, 20h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo