Maison / Travailler sur Internet / Informations générales sur la spécification de l'interface IPMI. Implémentation de la technologie Intel vPro dans les cartes mères GIGABYTE UNITED

Informations générales sur la spécification de l'interface IPMI. Implémentation de la technologie Intel vPro dans les cartes mères GIGABYTE UNITED

Administration à distance à l'aide de Technologies Intel®AMT

L'administration à distance est une bonne chose, principalement parce qu'elle permet de gagner du temps : un employé du service informatique n'a pas besoin de courir sur le lieu de travail de quelqu'un d'autre (qui peut être à une distance décente), ce qui lui fait perdre son temps et celui de quelqu'un d'autre : vous pouvez vous connecter immédiatement à un PC distant à partir d'un poste de technicien de service en activité. La gestion à distance (CU) vous permet de décider un grand nombre de problèmes avec les paramètres du logiciel et du système. Cependant, le CU traditionnel n'est opérationnel que lorsque le système d'exploitation (OS) est fonctionnel, le pilote Adaptateur de réseau fonctionne et est connecté à réseau local. Une défaillance dans le fonctionnement d'au moins un de ces liens suffit, et rien ne peut être fait à distance. Les problèmes extérieurs au système d'exploitation, par exemple dans le BIOS, ne peuvent pas non plus être éliminés. Ainsi que les raisons qui empêchent le chargement du système. Ah, au fait : n'oublions pas que pour une UC traditionnelle, l'ordinateur doit être allumé.

Intel® AMT est un cran au-dessus de cela, implémenté dans le matériel afin que vous puissiez gérer votre ordinateur même lorsque le système d'exploitation ne fonctionne pas. Vous pouvez démarrer le système à distance, configurer Paramètres du BIOS, démarrer à partir d'un lecteur externe pour installer et déployer le système d'exploitation et les logiciels, réinstaller les pilotes réseau, etc. En fait, en utilisant AMT, vous pouvez résoudre n'importe problèmes de logiciel: si le matériel fonctionne bien, alors tout le reste est faisable.

Un peu sur l'implémentation technique d'Intel AMT

Intel® AMT est présent dans les solutions Intel depuis près d'une décennie (il est apparu pour la première fois en 2006) et a été activement développé pendant tout ce temps. À partir de la 6e version, la technologie fournit un KVM (clavier-vidéo-souris) à part entière, c'est-à-dire que l'opérateur distant reçoit une image du moniteur et peut contrôler le PC distant à l'aide du clavier et de la souris, comme d'habitude. Soit dit en passant, les dernières versions prennent en charge la transmission d'images avec une résolution FullHD et supérieure. AMT est capable de transférer le contrôle depuis un système distant chaque fois que l'ordinateur est allumé : qu'il s'agisse de démarrer le système d'exploitation, de sélectionner un chargeur de démarrage, de démarrer au niveau du BIOS ou de gérer les paramètres du BIOS.

Certes, la mise en œuvre matérielle a un inconvénient : vous devez choisir le même équipement qui prend en charge AMT. Et vous devriez y penser lors de l'achat d'équipement, et non en cas d'urgence. AMT fait partie de la suite vPro, qui nécessite une version spécifique du processeur, de la plate-forme et de l'adaptateur réseau pour la prendre en charge. Il est pris en charge par certains chipsets de la série professionnelle Intel avec des index se terminant par "7" et certains modèles de processeurs Intel.®Core™ i5 et i7. Cependant, il est plus facile de se concentrer sur la présence du logo vPro.

D'un point de vue technique, AMT fonctionne comme suit : il crée un canal d'échange de données séparé, complètement indépendant et isolé du principal, crypté sur le réseau local. La technologie complète ne fonctionne qu'avec une connexion filaire au réseau local. Appareils mobiles peut travailler à travers réseau sans fil, mais avec de sérieuses limitations : les pilotes du système d'exploitation et de la carte réseau doivent être installés et la connexion réseau doit être active. Tous les logiciels nécessaires au fonctionnement de l'AMT se trouvent dans une zone spéciale protégée à l'intérieur du BIOS.

Enfin, Intel® AMT utilise le protocole de contrôle VNC commun, pour lequel il existe de nombreux produits. Les produits suivants peuvent être utilisés comme logiciel de bureau à distance :

1) Visionneuse TightVNC (Windows);

2) Visionneuse VNC réelle (Windows);

3) VNC Viewer Plus (Windows);

4) UltraVNC (Windows);

5) SSVNC (Linux);

6) Remmina (Linux);

7) KRDC (Linux);

8) Véritable visionneuse VNC pour Android (Android);

9) Visionneuse AndroidVNC (Android);

10) akRDC Free VNC Viewer (Android);

11) Ondulation à distance-VNC (Android);

12), etc...


Comme vous pouvez le constater, la liste des clients VNC est longue et il est important que le travail soit pris en charge sur Windows, Linux et Android. Cela vous permet d'effectuer une CU à partir de n'importe quel appareil. C'est la technologie Intel® AMT bénéficie d'un large support et n'est pas lié à des systèmes d'exploitation spécifiques.

De plus, il est possible de contrôler à distance un ordinateur grâce au portail meshcentral.com. Cependant, ceci est décrit en détail dans la vidéo dédiée à AMT, nous ne nous répéterons donc pas.

Principaux avantages

Voyons donc rapidement les principaux avantages de la technologie par rapport aux outils CU courants :

Contrairement aux outils logiciels, AMT fonctionne également avec un système d'exploitation non fonctionnel, vous permet de configurer le BIOS, etc.

Possède une sécurité intégrée et des algorithmes de cryptage puissants ;

est gratuit, alors que beaucoup logiciel administration à distance - payante. Même s'il convient de noter ici que son coût est inclus dans le coût des composants avec le logo vPro;

Permet d'allumer et d'éteindre l'ordinateur ;

Vous permet de démarrer à partir d'un support distant, y compris pour installer ou déployer un système d'exploitation et des logiciels.

En général, en termes de la totalité des capacités, AMT surpasse de loin les solutions logicielles.

Cas d'utilisation

Le scénario le plus courant est la solution à distance des problèmes qui surviennent sur l'ordinateur de l'utilisateur. AMTdonne un énorme gain de temps. Ceci est particulièrement avantageux dans les situations où le service informatique et les utilisateurs sont situés dans des bâtiments différents. De plus, AMT vous permet de résoudre un éventail de problèmes beaucoup plus large ; c'est-à-dire presque tous les problèmes sauf la défaillance des composants matériels.

Il devient possible d'effectuer à distance une maintenance planifiée, par exemple l'installation de mises à jour. Le spécialiste n'a pas besoin d'un accès physique à l'ordinateur, il peut effectuer n'importe quelle action, y compris le redémarrage du système, à distance. Il peut également basculer instantanément d'un système à l'autre, ce qui accélère le travail. Ceci est d'autant plus important que l'installation de mises à jour du système d'exploitation et des logiciels pendant les heures ouvrables n'est pas souhaitable et que ces actions sont généralement effectuées après la fin de la journée de travail ou le week-end.

Un autre cas d'utilisation avantageux pour AMT est la possibilité de fournir une assistance 24h/24 et 7j/7. Parce que pour résoudre la majorité problèmes techniques il n'est plus nécessaire d'accéder physiquement à l'ordinateur de l'utilisateur, le personnel informatique d'autres régions avec des fuseaux horaires différents peut être utilisé. Soit dit en passant, cela permet à l'entreprise d'économiser de l'argent en localisant des services informatiques distants dans des régions où les salaires du personnel informatique sont moins élevés.

Le déploiement du système d'exploitation et des logiciels cesse d'être un problème, car AMT prend en charge le démarrage d'un ordinateur à l'aide d'une image distante. Si l'ordinateur est physiquement connecté à un réseau câblé, un spécialiste peut l'allumer à distance, démarrer à l'aide de la technologie IDE-R et installer et configurer le système. Soit dit en passant, si cette fonction est nécessaire, vous devez lire attentivement les paramètres, car la vitesse de téléchargement à distance peut différer considérablement de celle habituelle.

La situation est grandement simplifiée en cas d'infection virale du système. Comme le canal de contrôle est indépendant du système d'exploitation, un virus ne peut pas perturber le contrôle à distance et un spécialiste peut effectuer n'importe quelle actions nécessaires, jusqu'à la réinstallation du système d'exploitation et le déploiement d'une image personnalisée.

Résultats

Comme nous pouvons le voir, la technologie Intel® AMT présente de nombreux avantages. Alors pourquoi n'est-il pas utilisé partout ? Peut-être faut-il un équipement spécifique et coûteux pour l'utiliser ?

En effet, Intel a des exigences particulièrement critiques® L'AMT ne l'est pas. Certes, au stade de l'achat d'équipement, vous devez faire attention à la présence du support vPro, puis tout configurer correctement, mais même ici, il n'y a pas de difficultés particulières. Une connexion filaire n'est pas un problème, car les réseaux locaux sont partout dans le bureau moderne. De plus, AMT (sous réserve de quelques conditions simples) fonctionne partout, y compris via Internet.

   IPMI(de l'anglais. Interface de gestion de plate-forme intelligente) - une interface de gestion de plate-forme intelligente conçue pour la surveillance et la gestion autonomes des fonctions intégrées directement dans le matériel et le micrologiciel des plates-formes de serveur. En d'autres termes, IPMI est un outil de gestion qui est mis en œuvre indépendamment du matériel principal du serveur et garantit qu'il est activé, désactivé, réinitialisé, connexion à distance moniteurs virtuels, claviers et souris, surveillance du fonctionnement des équipements et notification des événements importants liés à la santé du serveur. La spécification IPMI version 1.0 a été publiée en 1998. et était basé sur la connexion au module IPMI via interface série RS-232. La spécification IPMI actuelle a été publiée en 2004 et est basée sur l'utilisation d'une interface réseau standard.

Le cœur du système de gestion de la plate-forme de serveur est un dispositif spécialisé - Contrôleur de gestion de la carte mère (BMC), qui est pratiquement un ordinateur spécialisé intégré à une plate-forme serveur, disposant de son propre processeur, mémoire, périphériques et système d'exploitation. La spécification IPMI n'établit pas de normes rigides pour la mise en œuvre des appareils IPMI. Ils peuvent être fabriqués en tant qu'adaptateur séparé, ils peuvent être soudés directement sur la carte mère ou ils peuvent être fabriqués en tant que microcontrôleur séparé. À l'heure actuelle, les contrôleurs BMC basés sur la technologie System-on-Chip (SoC) intégrés aux cartes mères de serveur sont les plus courants, permettant de mettre en œuvre à la fois une interaction efficace avec la plate-forme gérée et un grand nombre de fonctions de surveillance à distance, la notification d'événements importants via e-mail ou SNMP, journalisation, etc.

Les BMC pour les cartes mères de serveur s'y connectent via une interface système appelée IPMB(Intelligent Platform Management Bus/Bridge) ou à d'autres BMC via l'interface IPMC(Châssis de gestion de plate-forme intelligente). Pour télécommandeéquipement via le contrôleur BMC, un protocole de couche d'application spécial peut être utilisé Protocole de contrôle de gestion à distance (RMCP), fournissant du travail via un réseau local classique. En règle générale, les contrôleurs BMC modernes permettent de contrôler plates-formes de serveur via une interface Web, ainsi que la connexion à distance d'appareils CD / DVD et clavier-vidéo-souris sur un réseau (IP KVM), ce qui permet d'effectuer facilement, par exemple, le changement Paramètres du BIOS ou installer système opérateur sans avoir un accès physique au matériel du serveur.

Possibilité de gérer la carte mère via IPMI.

Considérons les possibilités de gestion d'un serveur via l'interface IPMI en utilisant la carte mère Supermicro X8DTT-IBQF avec un contrôleur de gestion de carte de base Nuvoton WPCM450 intégré avec prise en charge IPMI 2.0 à titre d'exemple. Ce contrôleur prend en charge le cœur graphique PCI, les périphériques Virtual Media (CD/DVD virtuels) et la redirection clavier/vidéo/souris (Clavier/Vidéo/Souris, KVM). Pour se connecter au réseau local, un contrôleur Ethernet externe est utilisé, soudé sur la carte mère. Les bus de contrôle de plate-forme sont utilisés pour interagir avec les composants du système géré Interface de contrôle de l'environnement de la plate-forme (PECI). Il y a un cavalier sur la carte mère pour désactiver le contrôleur BMC si le besoin s'en fait sentir. En outre, il dispose d'une LED BMC (LED BMC Heartbeat) pour indiquer état sain contrôleur - indicateur vert clignotant, indique que le BMC fonctionne normalement.

La configuration initiale de l'interface IPMI est effectuée dans la section Configuration IPMI avancée BIOS principal.

Statut du BMCÉtat BMC

Afficher le journal des événements du système BMC- voir journal du systèmeévénements (SEL) gérés par le BMC.

Effacer le journal des événements du système BMC- effacer le journal des événements

Définir la configuration du réseau local- configurer la configuration réseau de l'adaptateur utilisé par le BMC. Peut être configuré pour recevoir automatiquement l'adresse IP, le masque et l'adresse de la passerelle via DHCP, ou les définir manuellement.

Définir la configuration du FEP- configuration du filtre des événements enregistrés par le contrôleur Platform Event Filter (PEF). Dans cet élément de menu, vous pouvez configurer la réaction du contrôleur à certains événements, tels que la mise hors tension lorsque la température augmente ou que la vitesse du ventilateur diminue. Par défaut, le filtrage des événements est désactivé.

Action de la minuterie du chien de garde BMC- vous pouvez configurer l'interrogation de l'état du système géré et sa réinitialisation, son redémarrage ou sa mise hors tension lorsqu'il se fige. Par défaut, désactivé.

Les principales fonctionnalités de gestion et de suivi de l'état de la plateforme sont disponibles via l'interface web. Tout navigateur compatible Java est utilisé pour se connecter au module BMC. barre d'adresse laquelle l'adresse IP du périphérique IPMI est entrée et, après la connexion, l'autorisation est effectuée à l'aide du nom d'utilisateur et du mot de passe spécifiés dans la documentation ou spécifiés par les paramètres de l'utilisateur. Le nom d'utilisateur et le mot de passe par défaut pour les appareils Supermicro IPMI sont ADMINISTRATEUR / ADMINISTRATEUR. Une fois l'autorisation réussie, la fenêtre principale de gestion de la plate-forme s'ouvrira avec l'onglet « Informations système » activé :

L'onglet « Santé du serveur » vous permet de contrôler l'état du matériel du serveur :

Lecture du capteur- afficher les données des capteurs surveillés

Lecture de capteur avec seuils- afficher les données des capteurs surveillés et les valeurs de seuil

journal des événements- afficher le journal des événements

Les informations affichées sur les capteurs incluent leurs noms, leur état et la valeur lue. Il y a des boutons en bas de l'écran. Rafraîchir- mettre à jour les données du capteur et Afficher les seuils- afficher les valeurs seuils. Utilisation du sous-menu Sélectionnez une catégorie de type de capteur vous pouvez sélectionner le type de capteurs (température, tension, etc.). Exemple d'informations affichées :

L'affichage du journal des événements vous permet de déterminer l'heure d'apparition d'un état fixe du capteur, de l'obtenir brève description et évaluer le niveau de danger pour le fonctionnement de l'équipement. Exemple d'informations affichées :

languette Configuration vous permet de configurer des notifications sur l'état de l'équipement, de modifier les paramètres réseau, de configurer la politique d'accès au périphérique IPMI.

Alertes- réglage des alertes. Vous pouvez créer jusqu'à 15 entrées avec différentes règles d'alerte. Il est possible de définir la catégorie d'événements pour lesquels la notification est effectuée - information, avertissement, événement critique, état irrécupérable. La notification est possible par e-mail ou par l'envoi d'un trap SNMP. Dans le premier cas, vous devez spécifier l'e-mail auquel la lettre sera envoyée lorsqu'un événement d'une catégorie donnée se produit, dans le second cas, l'adresse IP du serveur qui collecte les notifications SNMP. Lors de l'utilisation de la notification via e-mail, vous devez spécifier l'adresse IP et le port du serveur SMTP ainsi que l'adresse de l'expéditeur dans le SMTP

Sections LDAP, Active Directory , RAYON,Utilisateurs Et Certificat SSL sont configurés en fonction des exigences de sécurité pour l'accès aux périphériques IPMI. Au chapitre réseau Peut changer paramètres réseau Adresse IP, masque, passerelle. Au chapitre Ports- numéros de port utilisés lors de l'émulation de périphériques de démarrage virtuels, d'un moniteur vidéo, d'un clavier et d'une souris. Vous pouvez également modifier le numéro de port pour l'accès Web au périphérique IPMI.

languette télécommande permet de se connecter à distance à la console du serveur à l'aide d'une applet java. Veuillez noter que lorsque vous vous connectez pour la première fois, la console peut ne pas fonctionner pendant longtemps, car l'applet doit être lancée pour s'exécuter. machine virtuelle Java. En plus de l'émulation de terminal habituelle, dans ce programme, il est possible d'enregistrer une session via le menu Écran de capture vidéo, à l'aide du clavier logiciel ( Clavier - Clavier logiciel) et connecter un média virtuel ( Média - Assistant de média virtuel)

languette télécommande utilisé pour allumer, éteindre et réinitialiser le serveur. entretien- pour mettre à jour le firmware et forcer la réinitialisation de l'appareil IPMI.     Pour gérer les plates-formes via l'interface IPMI, des logiciels développés par des fabricants de matériel ou des logiciels open source sont utilisés.

Sais-tu cela connectez-vous à distance à votre ordinateur possible sans utiliser non seulement pilotes réseau système d'exploitation, mais aucun système d'exploitation? Vous pouvez même entrer dans le BIOS à distance et généralement faire n'importe quoi avec l'ordinateur - y compris télécharger le contenu des disques durs, les effacer et éteindre l'ordinateur pour toujours, le transformant en un morceau de fer inutile.

Cette technologie est tout à fait officielle, elle s'appelle Intel vPro et implémenté dans le matériel Processeurs Intel Pont de sable et pont de lierre. En fait, en plus du processeur, un chipset approprié est également requis - mais ce n'est pas un problème, car Intel lui-même fournit des chipsets depuis longtemps, ha ha. Idéalement, une carte réseau gigabit et un adaptateur vidéo devraient être intégrés à la carte mère, qui sont capables d'un fonctionnement de bas niveau (et encore plus idéalement, du même WiFi). Et encore une fois, ne vous inquiétez pas - Intel a implémenté tout cela et en a fait la norme de facto. Les gars les plus clairvoyants se demandent depuis longtemps pourquoi une interface WiFi est intégrée à la carte mère de bureau, ce qui n'est pas nécessaire dans 99% des ordinateurs de bureau - et donc elle est intégrée pour les entreprises, afin que vous puissiez accéder à un ordinateur sans même vous connecter à un réseau local, et même à un ordinateur qui se trouve dans une pièce séparée non connectée à un réseau.

Bien sûr, le fait que vous ayez désactivé ce Wi-Fi dans le BIOS n'interférera en aucun cas avec l'accès. Pour Intel vPro, toutes les interfaces fonctionnent toujours. De plus, l'ordinateur "éteint" pour Intel vPro fonctionne également (bien qu'il ne brille pas avec des lumières à ce sujet). La seule façon de couper l'ordinateur de l'Intel vPro est de l'éteindre en retirant le cordon d'alimentation de la prise (mais pour des raisons évidentes, ce numéro ne fonctionnera pas avec les ordinateurs portables - les batteries de la plupart des appareils modernes ne sont pas amovibles, et ce n'est pas fini).

La session de communication est cryptée et l'accès à l'ordinateur peut être obtenu via la console (série sur LAN), l'interface Web ou VNC. L'interface Web a une conception de travail discrète (qui s'affiche parfaitement sur les tablettes) et vous permet d'obtenir des statistiques sur le matériel, son état et de redémarrer l'ordinateur, de configurer interface réseau et les politiques d'accès AMT, consultez l'historique des événements - par exemple, découvrez pourquoi la secrétaire ne démarre pas le système sans se rendre sur son ordinateur :

Lorsqu'il est connecté via la console et VNC, vous pouvez absolument tout faire : vPro fournit un KVM complet d'une machine locale à une machine distante avec prise en charge des résolutions d'écran jusqu'à 1920 x 1200 et la possibilité de voir comment le système démarre de l'initialisation du BIOS à démarrage direct du système d'exploitation. Dans ce cas, même lorsque le système est redémarré, il n'y a pas d'arrêt ! La seule chose est que pour accéder au BIOS, cela ne fonctionnera pas simplement en maintenant la touche Supprimer enfoncée au démarrage du système et vous devrez sélectionner l'élément spécial «boot to BIOS». Après cela, le BIOS charge réellement :

Vous pouvez vous connecter à une machine distante via VNC même si les pilotes de la carte réseau y ont planté (après tout, vPro fonctionne à un niveau inférieur à celui du système d'exploitation) et installer tous les pilotes directement via VNC.

Une autre fonctionnalité intéressante appelée IDE-R vous permet de démarrer à partir de source externe- comme si c'était interne Disque dur. Autrement dit, vous pouvez vous connecter via VNC, spécifier une image à démarrer et démarrer dans votre propre système d'exploitation - de sorte que le propriétaire de l'ordinateur ne sache pas qu'il a été allumé.

Avec l'aide de vPro, la technologie Intel Anti-Theft fonctionne. Si votre ordinateur ou votre ordinateur portable est volé, vous pouvez contacter Intel et ils le bloqueront. L'ordinateur cessera simplement de démarrer, affichant un écran noir avec une inscription - disent-ils, Intel Anti-Theft est bloqué, rendez l'ordinateur au propriétaire.

Très bientôt, lorsque la génération des ordinateurs sera à nouveau remplacée par les utilisateurs, même les moins exigeants, et les entreprises progressistes encore plus tôt, un nouveau monde courageux de transparence absolue pour les agences de renseignement apparaîtra partout.

PS. Puis un ami a demandé - ils disent qu'il s'avère que les ordinateurs éteints peuvent recevoir un ping?

Je m'explique : dans le cadre d'Intel vPro, la carte réseau écoute toujours la ligne, même si l'ordinateur est "éteint". Mais ils ne répondent pas toujours. Autrement dit, à la question «est-il possible de faire un ping» - la réponse est oui, c'est possible, si cela est autorisé dans les paramètres du BIOS. Si vous ne l'autorisez pas, alors l'ordinateur éteint ne répondra pas au ping, mais il écoutera son port (dans le cas général, c'est 16992) et fonctionnera avec Intel vPro.

Il a été vérifié sur le chipset Q45 - cela fonctionne.

P.P.S. Les anciens chipsets Intel et leurs processeurs non GPU ne prennent en charge que la partie série sur LAN de la technologie Intel vPro (c'est-à-dire que la console de gestion basée sur le texte fonctionne, les fichiers peuvent être téléchargés et lecteur à distance et ainsi de suite, mais le suivi de l'écran de l'utilisateur et la console graphique ne fonctionnent pas).

Pour les curieux - IDE-R/SOL sur le port TCP = 16994, IDE-R/SOL sur le port TLS = 16995. Vous pouvez renifler le trafic sur la ligne et voir.

Eh bien, rappelez-vous que le fireware AMT intercepte le trafic de la carte réseau dans le matériel et ne transfère pas au système d'exploitation ce qui concerne le fonctionnement de vPro (ports 16992, 16993, 16994, 16995). Autrement dit, sur un ordinateur doté de cette technologie, vous ne recevrez ni ne détecterez aucun paquet vers les ports 16992, 16993, etc. du système d'exploitation. Pour les trouver de manière fiable, vous avez besoin d'un vieil ordinateur avec d'anciennes cartes réseau qui implémente un répéteur transparent Stay-In-Middle et renifle le trafic.

Et oui, bien sûr :

(a) Intel conserve la possibilité d'accéder à n'importe quelle machine
(b) Peut savoir où elle se trouve et peut la contacter à tout moment
(c) Peut le bloquer complètement (alors qu'il continuera à envoyer des signaux avec des coordonnées)

Eh bien, pour qu'il n'y ait pas d'illusions inutiles - je ne parle d'Intel que parce que cette technologie est complètement ouverte et officiellement décrite. Intel s'est comporté de manière très compétente - la porte dérobée pour les forces spéciales n'est ni cachée ni niée, mais est présentée comme service additionnel pour l'utilisateur et l'administrateur. AMD et tous les autres acteurs majeurs du marché des microprocesseurs ont des solutions similaires - ils ne sont tout simplement pas aussi honnêtes qu'Intel et préfèrent jouer par défaut.

Il était une fois, quand je n'étais pas encore programmeur, mais que j'étais déjà ami avec les ordinateurs, des technologies comme RAdmin étaient comme un miracle pour moi. Vous pouvez vous connecter à un ordinateur distant, comme dans le film le plus cool sur les pirates, ouvrir un bloc-notes et y écrire une inscription menaçante. Certes, je n'avais nulle part où l'utiliser.

Puis ssh est entré dans ma vie : la prise de conscience que vous gérez un serveur à travers l'océan a d'abord ravi, mais maintenant c'est devenu banal. Jusqu'à ce que vous tapiez halte au hasard, ouais. Et puis vous commencez à ouvrir le panneau d'administration de l'hébergeur et essayez d'entrer dans la console de gestion du serveur pour le démarrer. Et pour une raison quelconque, elle est muette aujourd'hui. Ensuite, vous écrivez pour soutenir et devenez nerveux. Je n'aime pas beaucoup. Mais ce sont mes craintes personnelles en matière de programmation.

Une fois, dans un ancien emploi, après un changement d'administrateur, le nouveau venu a décidé de nettoyer le parc informatique et pour cela, il s'est approché de l'ordinateur, a expulsé l'employé, a téléchargé Everest, a effectué des diagnostics et a enregistré le résultat dans un fichier. Ainsi, après avoir contourné seulement environ 60 lieux de travail sur trois étages, il a découvert le type de matériel dont il disposait. Inconfortable.

C'est là qu'Intel vPro entre en jeu.

Intel vPro est une telle chose qui vous permet de ne pas avoir peur des choses décrites ci-dessus et même de faire beaucoup plus. vPro se compose de deux composants : matériel et logiciel, et j'en parlerai sous la coupe.

Matériel

Au niveau matériel, vous avez besoin d'un processeur et d'une carte mère (le chipset commence généralement par Q, mais vous devez regarder les spécifications) qui prend en charge vPro. La carte mère dispose d'une carte réseau gigabit intégrée et d'un adaptateur vidéo capables de fonctionner à bas niveau. En pratique, cela signifie que vous pouvez vous connecter à un ordinateur à l'aide de vPro sans utiliser, non seulement les pilotes réseau du système d'exploitation, mais également sans le système d'exploitation lui-même ! Et oui, vous pouvez entrer dans le BIOS à distance.

À la fois filaire et connexion sans fil. Dans le cas du WiFi, il n'y a pas beaucoup de fantaisie - le système d'exploitation doit être chargé et connecté à un point d'accès, mais lorsque vous utilisez un fil, vous pouvez même vous connecter à un ordinateur éteint. Eh bien, c'est ce que disent les spécialistes du marketing : en fait, un ordinateur éteint peut être allumé et - plus loin, comme d'habitude.

Partie logicielle

La partie logicielle est incluse dans l'abréviation AMT - c'est Intel Active Management Technology, qui gère les connexions et possède de grandes capacités.

L'ordinateur doit d'abord être configuré pour fonctionner avec vPro, ce qui nécessitera un accès physique. Après, s'il s'agit d'un serveur, il peut être perdu ou emmuré dans une pièce, comme dans les blagues sur les administrateurs. Si l'administrateur est dans le même réseau local que le patient, il n'y a pas de problème, si ordinateur souhaité caché derrière NAT - vous devez mettre le serveur à l'intérieur pour y accéder. La vérité ne peut être autrement - exigences de base sécurité Internet.

La session de communication est cryptée et le serveur est accessible via la console (série sur LAN), l'interface Web ou VNC. L'interface Web a une conception de travail discrète (qui s'affiche parfaitement sur les tablettes) et vous permet d'obtenir des statistiques sur le matériel, son état et de redémarrer l'ordinateur, de configurer l'interface réseau et les politiques d'accès AMT, d'afficher l'historique des événements - découvrez pourquoi la secrétaire ne démarre pas le système sans aller sur son ordinateur.

Lorsqu'il est connecté via la console et VNC, vous pouvez absolument tout faire : vPro fournit un KVM complet d'une machine locale à une machine distante avec prise en charge des résolutions d'écran jusqu'à 1920 x 1200 et la possibilité de voir comment le système démarre de l'initialisation du BIOS à démarrage direct du système d'exploitation. Dans ce cas, même lorsque le système est redémarré, il n'y a pas d'arrêt ! La seule chose est que pour accéder au BIOS, cela ne fonctionnera pas simplement en maintenant la touche Supprimer enfoncée au démarrage du système et vous devrez sélectionner l'élément spécial «Redémarrer vers le BIOS».

Après cela, le BIOS se charge réellement.

Il est particulièrement agréable de pouvoir se connecter à une machine distante via VNC même si les pilotes de la carte réseau y sont tombés en panne (après tout, vPro fonctionne à un niveau inférieur à celui du système d'exploitation) et d'installer tous les pilotes directement via VNC. Et si cela peut encore être résolu au bureau, il n'est peut-être pas pratique d'aller au centre de données.

Il existe une autre fonctionnalité intéressante appelée IDE-R qui vous permet de démarrer à partir d'une source externe comme s'il s'agissait d'un disque dur interne. Autrement dit, vous pouvez vous connecter via VNC, spécifier une image à télécharger et démarrer sur un système de travail connu. Il se peut très bien fonction utile tant pour le diagnostic que pour l'administration. Par exemple, vous pouvez démarrer une machine cliente avec un système dans lequel l'antivirus de référence est configuré, vérifier le disque dur et partir tranquillement.

À propos de la sécurité

Avec l'aide de vPro, la technologie Intel Anti-Theft fonctionne. Si votre ordinateur portable est volé, vous pouvez contacter Intel et ils le bloqueront. Le blog Intel a déjà cette technologie. Après le blocage, le nouveau propriétaire de l'ordinateur verra une telle image.

Conclusion et liens

Très bientôt, lorsque la génération d'ordinateurs changera à nouveau même pour les utilisateurs les moins exigeants, et pour les entreprises progressistes encore plus tôt, les administrateurs auront la même quantité de travail, mais ce sera beaucoup plus agréable à faire.

Abonnez-vous aux commentaires au poste - ils promettent d'être beaucoup de choses intéressantes. Ou vérifiez le sujet dans quelques jours - je mettrai tous les commentaires les plus intéressants dans une liste séparée au bas du message.

CHRIS KASPERSKY

Télécommande Configuration du BIOS

Chacun de vous au moins une fois dans sa vie a été confronté à la nécessité d'entrer dans la configuration du BIOS et de le «tordre» légèrement ou de réparer un Windows NT, Linux / FreeBSD «effondré». Traditionnellement, cette tâche est résolue à l'aide de la souris et du clavier, mais que se passe-t-il si le serveur n'est pas physiquement disponible ?

Ordinateurs de la famille IBM PC pendant longtempsétaient considérés comme des postes de travail bon marché et les serveurs basés sur eux n'ont commencé à être construits que récemment. Les développeurs ont augmenté le nombre de processeurs, ajouté la prise en charge de la correction de la mémoire, des baies de disques tolérantes aux pannes et d'autres équipements, mais la transformation complète en serveur n'a pas eu lieu. En particulier, le problème de l'administration à distance demeure. SE Familles de fenêtres NT ne prend en charge le contrôle à distance que formellement. Même des programmes tels que Remote Admin effectuent une gamme limitée d'opérations simples et ne sont pas capables d'effectuer une maintenance complète du serveur sur le réseau. Les choses vont un peu mieux dans le monde UNIX, mais il y a encore des problèmes.

Par exemple, le BIOS refuse de démarrer, vous invitant à cliquer pour accéder à la configuration du BIOS ou à démarrer avec les paramètres par défaut (voir Fig. 1). Mais le serveur est situé à l'autre bout de la ville, et même dans une salle dont l'administrateur n'a pas les clés. Une situation familière, n'est-ce pas ? Autre option: après l'installation du prochain service pack, le système d'exploitation "est mort", a été victime d'une attaque de pirate informatique ou s'est simplement bloqué. Dans tous ces cas signifie standard la télécommande ne fonctionne plus et il faut se rapprocher du serveur, ce qui est assez difficile. Même si le serveur est situé à l'étage supérieur, il est bien plus préférable de le gérer sans quitter son fauteuil préféré que de courir avec des disquettes (disques laser) dans les deux sens.

Et c'est vraiment possible ! Il y a au moins trois façons dont je veux parler.

Contrôle du BIOS à distance

Commande démarrage du BIOS en général ça ressemble à ça. Le premier à recevoir le contrôle est le BOOT-block (boot block ou primary loader, à ne pas confondre avec le boot sector !). Il effectue l'initialisation du matériel principal ( RAM, contrôleur d'interruption, minuterie système, etc.) analyse le bus ISA et active le BIOS de tous les périphériques détectés (par exemple, contrôleurs SCSI, vidéo, cartes réseau, etc.). Avant de terminer son travail, BOOT-block décompresse le code BIOS principal (les soi-disant extensions BIOS, ou chargeur de démarrage secondaire) et lui transfère le contrôle. Le chargeur de démarrage secondaire analyse le bus PCI et effectue l'initialisation finale du matériel - reconnaît les lecteurs IDE, affiche l'éditeur de configuration du BIOS interactif si nécessaire, distribue les ressources système entre les périphériques PnP et lit enfin le secteur de démarrage à partir d'une disquette ou d'un disque dur.

Ainsi, le BIOS installé sur les cartes d'extension reçoit le contrôle au tout début de l'initialisation, bien avant que le calcul de la somme de contrôle CMOS ou le déballage du chargeur de démarrage secondaire ne commence. Soit dit en passant, la plupart des utilitaires de "gravure" du BIOS ne touchent pas le bloc BOOT, et même si la gravure a échoué, les connecteurs d'extension ISA sont toujours initialisés. Avec les slots PCI, les choses sont beaucoup plus compliquées et, dans le cas général, elles ne sont disponibles que depuis le chargeur de démarrage secondaire (et il meurt si la gravure échoue). Certains fabricants, tels qu'ASUS, incluent un pilote spécial pour travailler avec le bus PCI dans le bloc BOOT afin que la carte mère puisse initialiser la carte vidéo et afficher au moins quelque chose à l'écran, même si le code BIOS principal est désactivé. Mais je ne connais aucun BIOS dont le bloc BOOT pourrait fonctionner avec le bus AGP ou PCI-express.

Par conséquent, tout ce dont nous avons besoin est de créer une carte ISA ou PCI "factice", d'y installer "notre" BIOS et de la programmer pour le contrôle à distance. Une fois que j'ai "fini" l'ancien cartes réseau(qui ont simplement été jetés), les transformant en une "télécommande" qui vous permet de modifier les paramètres du BIOS sur un réseau local. C'est assez facile à faire ! Il suffit de savoir programmer en Assembleur et d'avoir une petite compréhension de l'architecture matérielle (voir Fig. 2).

Cependant, il n'est pas nécessaire de se pencher sur le débogueur, tout peut être acheté prêt à l'emploi. De telles cartes (appelées Remote Boards) sont produites par de nombreuses entreprises. Il s'agit généralement d'une carte VGA standard avec un port COM intégré auquel elle est connectée. modem externe. Certains modèles ont un port Ethernet. Il peut être branché sur un modem DSL ou connecté à un Switch. Grâce à ces ports, une copie de l'écran est transmise à un moniteur distant et des commandes sont reçues du clavier, à la suite de quoi l'IBM PC se transforme en un véritable "cadre principal" et l'accès physique à celui-ci n'est plus nécessaire (voir Fig. 3) !

Le modèle Remote Insight de Hewlett-Packard, inséré dans un slot PCI et contrôlé via un port Ethernet 10/100 Mbit, est très populaire. Il prend en charge les modes texte et graphique (jusqu'à 1280x1024/256 couleurs), est alimenté par une source externe, ce qui lui permet d'"appuyer" sur les boutons "Power" et "Reset". En plus d'une souris et d'un clavier déportés, il est possible de connecter un lecteur déporté et Lecteur CD ROM, sans laquelle aucune réinstallation du système ne peut faire. C'est juste fantastique ! Vous pouvez toujours démarrer à partir d'un Live CD et voir ce qui est arrivé au serveur et enregistrer les données restantes sur n'importe quel support à portée de main. Cela renforce la sécurité du système, car un serveur équipé de "Remote Insight" peut ne pas avoir de support amovible du tout !

Au fait, à propos de la sécurité. Remote Insight prend en charge SSL et le cryptage 128 bits, ce qui lui permet de fonctionner même sur des canaux non sécurisés (et l'administrateur moyen n'a souvent tout simplement pas d'autres canaux à sa disposition).

Tout le contrôle s'effectue soit via telnet, soit via un navigateur Web. Comme ce sera plus pratique pour l'administrateur. Presque tous les systèmes d'exploitation peuvent être installés sur le serveur : Windows 2000/2003 (Advanced Server, Data Center, Terminal Server, Standard ou Enterprise Edition), Novell NetWare 5.1, 6.0, Red Hat Advanced Server2.1, Red Hat Linux 7.3/8.0 , SuSE Linux Enterprise Server V7/V8 et quelques autres (voir Fig. 4).

La carte peut être achetée dans un magasin ou commandée en ligne directement auprès de Hewlett-Packard lui-même. Cela coûtera 399 $, ce qui en vaut clairement la peine! En principe, vous pouvez trouver un fabricant moins cher, mais en termes de prix/fonctionnalité cette carte n'a pas d'égal, néanmoins elle est loin d'être idéale. Personne ne nous donnera les textes sources du firmware, et il ne sera pas possible de le modifier avec un "fichier" pour nos besoins spécifiques (théoriquement, c'est possible, mais très difficile). De plus, la qualité de la mise en œuvre des protocoles de chiffrement est une grande question. Peut-être y a-t-il des trappes de débogage ou des tampons débordants dans la carte qui permettront à l'attaquant de saisir la molette de commande entre ses mains (voir Fig. 5) !

Le PC Weasel 2000 de la société du même nom est dépourvu de ces défauts. Avec la carte elle-même, l'acheteur reçoit le code source complet du micrologiciel et une licence pour le droit de le modifier. C'est toujours la même carte VGA, mais au lieu d'un port Ethernet, elle a un contrôleur UART (alias un port COM standard comme 16550). Malheureusement, sa fonctionnalité est beaucoup plus pauvre. Seuls les modes vidéo texte sont pris en charge et il n'y a pas de lecteurs distants, cependant, il reste possible de "presser" le serveur sur "Reset" ou de visualiser les codes POST afin d'évaluer immédiatement l'étendue du problème (voir Fig. 6).

La version ISA vous coûtera 250 $, tandis que l'option PCI vous coûtera 350 $. Le prix d'une licence ouverte n'est-il pas trop élevé avec des fonctionnalités réduites ? Ne vous précipitez pas sur les conclusions. Les textes sources sont une bonne chose! Vous pouvez acheter une carte et l'installer sur un nombre illimité de machines. Cloner Matériel nous n'en aurons pas besoin. Si vous modifiez légèrement le firmware, vous pouvez vous passer composants standards, Mais plus là-dessus plus tard. Tout d'abord, familiarisons-nous avec la classe diamétralement opposée d'appareils de télécommande, parmi lesquels, peut-être, l'appareil de vos rêves se cache (voir Fig. 7).

KVM, ou contrôle à distance continue

Le principal inconvénient des cartes VGA modifiées par le BIOS est qu'elles nécessitent l'ouverture du boîtier du serveur, ce qui n'est pas toujours souhaitable. De plus, la technique d'interception d'images et d'émulation de saisie au clavier est loin d'être idéale et extrêmement conflictuelle. Les commutateurs KVM adoptent une approche complètement différente. Ils tirent leur nom des trois premières lettres : clavier, moniteur vidéo et souris. Le commutateur est un appareil autonome connecté à un ordinateur via des connecteurs standard PS/2 et DB15 VGA. Leur signal est converti en un flux numérique et transmis à un terminal KVM à proximité connecté à un ordinateur distant. En gros, nous connectons en quelque sorte le clavier, la souris et le moniteur avec de très longs câbles (voir Fig. 8).

Vous pouvez modifier la configuration du BIOS ou considérer Windows qui est tombé dans écran bleu, mais nous n'avons pas de lecteurs distants, ni même la possibilité de cliquer sur Réinitialiser, c'est-à-dire que l'illusion d'un accès physique complet n'est pas si complète. Mais presque tous les modes vidéo sont pris en charge et aucune modification n'est apportée au code BIOS, ce qui est très important dans les infrastructures critiques. Nous ne serons tout simplement pas autorisés à introduire un émulateur tiers dans un ordinateur bancaire, car cette technologie n'est pas certifiée, mais les commutateurs KVM, en règle générale, disposent de tous les certificats nécessaires (voir Fig. 9).

La grande majorité des modèles sont conçus pour gérer plusieurs serveurs à partir d'un seul terminal, tandis que le signal est envoyé sur un câble blindé à paire torsadée d'une longueur maximale de plusieurs centaines de mètres. Ce n'est pas du tout Ethernet et vous ne pouvez pas l'insérer dans un concentrateur réseau ! Pour un véritable contrôle à distance via Internet ou un modem, nous devons installer ordinateur supplémentaire réception d'un signal KVM et utilisation d'un logiciel le relayant sous une forme de réseau "digestible". Et ce n'est pas bon ! Heureusement, certains modèles prennent en charge le fonctionnement par modem ou LAN. Ce type de commutateurs KVM est appelé "sur IP", bien qu'il existe ici des variantes. Jetez simplement un coup d'œil à la spécification : s'il existe quelque chose de similaire à LAN ou Dial-Up, c'est ce dont nous avons besoin (Fig. 10) !

Minicom a fait ses preuves, dans l'assortiment duquel vous pouvez trouver au moins deux modèles appropriés - l'accès à distance par numérotation fantôme et le commutateur d'extension IP intelligent sur IP. Le premier coûte environ 800 $, le second... - 3500 $. Pour les banques et autres institutions financières, un tel montant peut convenir, mais pour un petit bureau, il est peu probable. Bien sûr, en fouillant dans les magasins, vous pouvez trouver un commutateur KVM moins cher, mais il est préférable d'assembler vous-même un système de télécommande.

Comment ça marche, ou Télécommande à faire soi-même !

Pour créer notre propre système de contrôle à distance, nous avons besoin de n'importe quelle carte PCI et d'une carte mère prenant en charge le travail avec le bus PCI via le bloc BOOT (par exemple, ASUS). A bord de la carte doit être présente "crib" avec le BIOS. Au pire, le BIOS peut être situé dans un microcircuit séparé, facile à retirer de la carte et à brancher sur le programmeur. Malheureusement, les cartes réseau avec un BIOS "externe" tombent en désuétude et deviennent de plus en plus difficiles à trouver. Les contrôleurs Ethernet modernes intègrent le BIOS dans la puce chispet, et on ne peut plus rien faire avec (mais ne confondez pas le BIOS avec le panneau pour Boot-ROM, ce n'est pas du tout la même chose !).

Vous devez donc passer aux contrôleurs SCSI, dont les prix sont tombés à 10 $ - 14 $. Bien sûr nous parlons sur les modèles les plus simples, mais nous n'avons besoin de rien d'autre que du BIOS ! Par conséquent, même un modèle bon marché ne fonctionnera pas plus mal qu'un modèle coûteux. Il n'est pas nécessaire de s'occuper du maintien de la fonctionnalité du contrôleur. Il est beaucoup plus facile de réécrire le BIOS à partir de zéro que d'ajouter vos propres modules à un existant (cependant, vous pouvez le faire si vous le souhaitez) (voir Figure 11).


Vous n'avez pas besoin d'acheter un contrôleur UART supplémentaire. Il est préférable d'utiliser ce qui est intégré à la carte mère, et si vous le souhaitez, vous pouvez également utiliser l'Ethernet intégré ou tout autre moyen de communication.

Le développement du firmware est généralement effectué dans Assembler, mais si vous le souhaitez, des langages de haut niveau tels que C / C ++ peuvent également être utilisés. N'utilisez en aucun cas les bibliothèques d'E/S standard et dites à l'éditeur de liens de désactiver le démarrage. Pour ce faire, renommez simplement la fonction principale en quelque chose comme MyMain. Étant donné que C ne prend pas en charge la base, le code compilé doit être entièrement relocalisable (c'est-à-dire qu'il doit être exécuté quelle que soit l'adresse de chargement de la mémoire de base). Cela peut être réalisé en dépréciant les variables globales et en désactivant toutes les options du compilateur qui peuvent générer du code non réadressable dont nous ne sommes même pas conscients (par exemple, le contrôle de la pile "pile"). Si vous n'êtes pas sûr de bien connaître le compilateur, ne l'utilisez pas ! Programme en assembleur. Il ne vous laissera pas tomber !

Le code du firmware est exécuté dans un segment de 16 bits mode réel, cependant, personne ne nous interdit de passer en mode protégé et de sortir de là, cependant, on ne sait pas tout à fait pourquoi cela est nécessaire. L'utilisation des fonctions utilitaires du BIOS n'est pas autorisée, car une partie du matériel n'a pas encore été initialisée et le BIOS lui-même n'a pas encore été décompressé. Travaillez uniquement via les ports d'E / S, cependant, avant de le faire, rappelez-vous que le matériel doit être initialisé manuellement. En particulier, le port COM intégré n'a pas encore d'adresse de base ni d'IRQ, car le gestionnaire PnP qui alloue les ressources système n'a pas encore reçu le contrôle ! Vous devez ouvrir la documentation du pont sud du chipset et programmer tout le matériel à partir de zéro. C'est le plus niveau faible"communication" avec l'équipement ! Extrêmement complexe, mais en même temps passionnant ! Heureusement, le pont du serveur est déjà partiellement initialisé, il n'est donc pas nécessaire de configurer le contrôleur de mémoire.

Parlons maintenant des techniques d'émulation et d'interception. Pour afficher des informations à l'écran, le BIOS utilise son propre département des services INT 10h. Il est également utilisé au stade du chargement initial des systèmes d'exploitation des familles Windows et UNIX. En interceptant cette interruption, nous pouvons voler toute la sortie à l'écran et la transférer vers ordinateur distant(« rob » est un terme tout à fait légal, emprunté aux ingénieurs anglophones qui disent « grab » dans ce cas, ça sonne grossier, mais honorable).

Bien sûr, cela ne va pas sans difficultés. Étant donné que les vecteurs d'interruption peuvent être réinitialisés plusieurs fois lors de l'initialisation du BIOS, la seule modification de la table d'interruption (c'est-à-dire la méthode classique d'interception) ne suffira pas. Oui, nous pouvons changer le pointeur lointain à : 0000h:10h*sizeof(DWORD) == 0000h:0040h en le redirigeant vers notre propre gestionnaire, mais... après un certain temps, le contrôle sur INT 10h sera perdu. Pour éviter cela, vous devez définir un point d'arrêt matériel pour écrire cet emplacement mémoire. Les registres de débogage de la famille DRx nous y aideront. Les registres Dr0-Dr3 stockent l'adresse physique linéaire du point d'arrêt, et Dr7 détermine les conditions dans lesquelles il est déclenché, forçant le processeur à générer une interruption INT 01h, sur laquelle notre gestionnaire doit se trouver, effectuant l'"expropriation" répétée de INT 10h du système.

Un exemple de travail avec des registres de débogage est présenté ci-dessous.

Listing 1. Interceptor passe le contrôle à notre code lorsque le secteur Boot est chargé

; intercepter INT 01h

Hache MOV, CS

XOR bx,bx

MOV DS, bx

; décalage de notre gestionnaire

MOV , décalage our_vx_code

; par rapport au segment 0000h

MOV, bx

MOV DS, hache

; définir un point d'arrêt d'exécution

MOV eax, 302h

; adresse physique linéaire du point d'arrêt

MOV ebx,7С00h

; Mettre des valeurs dans les registres de débogage

MOV dr7,eax

mov dr0, ebx

L'interruption INT 10h prend en charge plus d'une centaine diverses fonctions, dont le numéro est transmis dans le registre AH. En particulier, 02h contrôle le curseur et 09h imprime un caractère. Naturellement, pour voler la sortie de l'écran, vous devez être en mesure de distinguer une fonction d'une autre et de savoir exactement ce que chacune d'elles fait. Les descriptions des fonctions peuvent être trouvées soit dans la documentation technique d'une carte vidéo spécifique (et si la carte est intégrée à la carte mère, alors dans la documentation du pont serveur du chipset), soit dans la célèbre liste d'interruptions de Ralph Brown, bien qu'elle n'ait pas été mis à jour depuis longtemps et est très obsolète. dernière version daté de l'été 2000. Depuis, de nombreuses nouvelles cartes sont sorties ! Cependant, les fonctions vidéo de base n'ont pas changé, et si vous supprimez les modes vidéo non standard, tout fonctionnera avec un bang.

Les modes texte sont très bien volés, mais les modes graphiques dans débit les modems analogiques ne conviennent plus et les informations transmises doivent être compressées d'une manière ou d'une autre. Le moyen le plus simple consiste à ne transférer que les modifications, après les avoir préalablement compressées à l'aide de l'algorithme gzip, pour lequel il existe de nombreuses bibliothèques prêtes à l'emploi.

Certes, avec la transition du système d'exploitation en mode protégé, toutes nos interceptions seront "supprimées" et l'ordinateur distant affichera un écran gelé et terne. En principe, cela peut être concilié. L'essentiel est que nous contrôlons la configuration du BIOS et la phase initiale de chargement de l'axe, et là, vous pouvez utiliser le telnet standard, si, bien sûr, au milieu démarrage de Windows ne lancera pas d'écran bleu.

Dans mes premiers modèles de systèmes de contrôle à distance, j'ai fait ceci : j'ai suivi une tentative de passage en mode protégé (et vous pouvez le suivre en utilisant tous les mêmes registres de débogage), passé moi-même en mode protégé, défini mes propres gestionnaires d'interruptions et donné le contrôle au système d'exploitation, ne lui permettant rien de changer. Ça a marché! Bien qu'il ait également échoué. Il n'était pas possible de créer un intercepteur universel et nous avons dû prendre en compte les fonctionnalités d'implémentation de tous les systèmes d'exploitation. Finalement, j'ai abandonné et j'ai écrit un pilote de filtre ordinaire qui fonctionne comme un miniport VGA et envoie la sortie d'écran à "notre" carte d'extension (Fig. 12).

Certains systèmes de contrôle à distance (par exemple, le complexe PC Weasel 2000 déjà mentionné) au lieu d'intercepter INT 10h volent simplement le tampon vidéo, ce qui à première vue simplifie grandement la mise en œuvre. Inutile de tripoter les registres de débogage, de farfouiller dans la liste des interruptions, etc. En effet, même en mode texte, les pages écrans sont nombreuses, et on passe généralement sous silence la page graphique ! De plus, on ne sait absolument pas comment synchroniser la sortie de l'écran avec son interception. Il est tout à fait possible de scanner la mémoire vidéo avec une fréquence de 50-60 Hz, mais il n'est guère possible de pousser les données volées dans le canal du modem. Et comment cette chose va-t-elle ralentir ! Pas étonnant que PC Weasel 2000 ne fonctionne qu'avec les modes texte !

Passons maintenant à l'émulation de la saisie au clavier. Nous ne considérerons pas la souris, car les administrateurs normaux peuvent facilement s'en passer. L'ensemble du service clavier est concentré dans l'interruption INT 16h, que nous devons intercepter. Lorsqu'un programme (et le Setup du BIOS en particulier) attend qu'une touche soit pressée, il réinitialise le registre AH et appelle INT 16h. Bien sûr, il existe d'autres options, mais c'est la plus populaire. Dans ce cas, notre gestionnaire d'interruption doit placer le code ASCII du caractère pressé sur le clavier distant dans le registre AL et revenir. Naturellement, tout cela ne fonctionnera que jusqu'à ce que le système d'exploitation passe en mode protégé, et après cela, vous devrez charger votre propre pilote, qui "s'assied" au-dessus du pilote de clavier standard et émule l'entrée.

Les disques distants sont implémentés de manière assez triviale. L'interruption INT 13h en est responsable. La fonction 02h assure la lecture du secteur, 03h - son écriture. Le numéro de secteur est transmis dans les registres CX et DX au format CHS. Le CD-ROM distant est un peu plus compliqué. Si vous n'êtes pas fort en programmation système, il vaut mieux dans un premier temps se limiter aux disquettes virtuelles. Soit dit en passant, il n'est pas du tout nécessaire d'utiliser des disquettes physiques - une machine distante peut travailler avec son image stockée sur le disque dur sous forme de fichier. Pour télécommande réinstallation de Windows NT cette technique est tout à fait appropriée. Et il n'est pas difficile d'automatiser le changement de disques virtuels.

En conséquence, nous obtiendrons un complexe de télécommande assez puissant et, surtout, très bon marché. Bien sûr, notre temps vaut aussi quelque chose (et cela prendra beaucoup de temps pour le développement et la mise en service), mais si de tels complexes sont fabriqués sur commande, ils seront rapidement rentabilisés, d'autant plus qu'il y a une demande constante pour eux, parce que la plupart des homologues occidentaux ne sont tout simplement pas abordables.

Pour compléter le tableau, il ne reste qu'une bagatelle - une réinitialisation à distance, sans laquelle notre création sera inférieure. Eh bien, tout est simple. Il suffit de connecter un relais au port LPT, menant au bouton "chéri", et le problème sera résolu. Depuis le firmware du contrôleur SCSI, on peut contrôler le port LPT, bien sûr, sans oublier qu'il doit être initialisé avant cela.

Une dernière petite astuce. Si vous n'avez pas besoin d'un système de contrôle à distance à part entière et que vous avez juste besoin d'interdire au BIOS d'exiger une pression sur une touche au démarrage, il est facile de le faire sans équipement supplémentaire. Il suffit de charger le firmware du BIOS principal dans le désassembleur et de trouver tous les messages "abusifs". Des références croisées nous conduiront au code machine qui produit ces lignes. Il y aura également un code en attente d'une pression sur une touche, que nous devons supprimer. L'appel direct à INT 16h est rarement utilisé. Très probablement, nous verrons quelque chose comme CALL xxx, où xxx est l'adresse de la fonction wrapper. Pour atteindre nos objectifs, nous devons remplacer CALL xxx par "MOV AX,scan-code", indiquant le code de numérisation de la clé requise. Par exemple, la clé dans la plupart des BIOS signifie "démarrer avec les paramètres par défaut", mais dans certains cas, vous devrez peut-être appuyer sur ou.

Le problème est que l'image principale du BIOS est empaquetée et protégée par des sommes de contrôle. Presque tous les développeurs de BIOS distribuent des utilitaires pour déballer/emballer et recalculer sommes de contrôle, cependant, nous n'avons aucune garantie que le BIOS modifié fonctionnera correctement. Les erreurs peuvent apparaître dans les endroits les plus inattendus. Le fonctionnement du système devient instable, la carte mère sans aucun raisons visibles commence à geler, etc. Bien sûr, c'est inacceptable pour les serveurs, vous devez donc aller dans l'autre sens.

Au lieu de modifier l'image empaquetée du code BIOS principal, nous prendrons un bloc BOOT décompressé et y ajouterons un patcher automatique, corrigeant les octets nécessaires directement en mémoire lorsque le déballage est déjà terminé. Étant donné que le code BIOS principal est décompressé dans la RAM, il n'y a aucun problème à le réparer. L'essentiel est de déterminer les bonnes adresses. Le fait que le BIOS lui-même n'écrase pas son image nous y aidera, et au moment où le secteur de démarrage est chargé, il est présent en mémoire. Il suffit d'écrire un petit programme assembleur qui lit les 640 premiers Ko de mémoire faible et les écrit sur une disquette, puis l'injecte dans le secteur de démarrage. Après avoir redémarré le système, nous deviendrons les propriétaires du BIOS décompressé, qui se trouve à ses adresses "natives".

Il ne reste plus qu'à graver le bloc BOOT mis à jour et vous pourrez profiter du bon fonctionnement du serveur !

Conclusion

Le contrôle à distance complet du système est une réalité ! Gamme solutions possibles inhabituellement large : des périphériques KVM prêts à l'emploi (et très chers !) aux cartes d'extension moins chères, mais en même temps plus fonctionnelles (!) que la plupart des programmeurs peuvent facilement fabriquer eux-mêmes. L'accès physique au serveur ne sera requis que lors de sa réparation (vous ne pouvez pas vous en passer, car les pinces avec un tournevis ne peuvent pas être transmises par modem), mais les pannes fatales ne se produisent pas si souvent.

  1. Cartes Remote Insight "Lights Out" - un aperçu des systèmes de contrôle à distance (en anglais): http://www.paul.sladen.org/lights-out/riloe.html .
  2. Remote Insight Lights-Out Edition II - Description de la carte de gestion à distance en ligne Hewlett-Packard : http://h18004.www1.hp.com/products/servers/management/riloe2/server-slot-matrix.html .
  3. PC Weasel 2000 - description d'une carte de télécommande alternative, microcode, distribuée sous licence ouverte (en anglais) : http://www.realweasel.com/intro.html .
  4. Caractéristiques un grand nombre de systèmes de contrôle à distance (principalement des commutateurs KVM, en anglais): http://www.kvms.com.
  5. Raritan IP-Reach TR364 - description du commutateur KVM TR364 (en anglais) : http://www.42u.com/telereach_bk.htm .
  6. Architecture d'E / S des ordinateurs personnels IBM PC - version électronique un livre dédié au périphérique IBM PC, qu'il est fortement recommandé de lire avant de développer votre propre système de contrôle à distance (en russe) : http://redlib.narod.ru/asmdocs/asm_doc_07.zip .
  7. Ralf Brown Interrupt List - un guide électronique de toutes les interruptions, ports d'E / S, adresses mémoire "magiques", y compris les extensions non standard et les fonctionnalités non documentées (en anglais):