Serveis d'accés i administració remota

La generalització de les comunicacions entre ordinadors, tant en xarxa local com mitjançant Internet, ha introduït canvis dràstics en la forma d’accedir als equips i en la seva administració, permetent que pugui fer-se de forma remota. Tant si aquest accés es basa en la línia d’ordres, en una aplicació gràfica o en l’ús del navegador com a interfície gràfica, l’accés i l’administració remota faciliten a l’administrador la tasca de configuració i gestió del sistema informàtic, tenint sempre en compte la capacitat i ample de banda de la comunicació, i la necessària atenció a la seguretat i a la privacitat.

Introducció a l'accés remot a equips

La capacitat d’accedir remotament a arxius i informació en ordinadors a través d’Internet és interessant tant des del punt de vista de l’administració de sistemes com de l’execució i explotació de qualsevol tipus d’aplicació remota. Pot ser una eina útil per recuperar un arxiu oblidat a l’ordinador o per permetre a un administrador de sistemes modificar la configuració d’un servidor. També és utilitzat per les companyies per accedir a la informació comercial i administrativa del seus sistemes, ja sigui des de les oficines del client o des del domicili dels seus treballadors.

Figura Accés remot des de diferents entorns

En un mateix sistema poden coexistir diferents tipus d'accés remot.

Aquest ús tan diversificat fa que hi hagi moltes tecnologies disponibles per permetre aquest tipus d’accés: des del sistema de fitxers compartit incorporat en la majoria de sistemes operatius fins a eines més específiques desenvolupades per empreses.

L’ús tan divers fa que també hi hagi una gran diversitat de maneres i mitjans d’accedir remotament a informació, tal com podeu veure a la figura. Per fer front a aquesta diversitat hi ha nombrosos protocols i eines que donen accés remot des d’un portàtil amb connexió Wi-Fi, un telèfon mòbil UMTS o una connexió fixa d’Internet.

Wi-Fi

És l’acrònim de wireless fidelity (fidelitat sense fils) i estableix un conjunt d’estàndards de compatibilitat per a comunicacions en xarxes locals sense fils.

UMTS

És l’acrònim d’universal mobile telecomunication system. L’UMTS forma part dels sistemes de comunicacions mòbils de tercera generació (3G), que permeten una gran qualitat de veu, funcions multimèdia i un major ample de banda per Internet.

Usos més freqüents de l'accés remot a ordinadors

El programari que permet l’administració remota és cada vegada més comú i s’utilitza sovint quan és difícil o molt difícil estar físicament a prop d’un sistema per usar-lo o per tal d’accedir al material d’Internet que no està disponible en la mateixa ubicació.

Els servidors i altres equips de xarxa, per diverses raons, a vegades es distribueixen en distàncies considerables. Fins i tot quan estan relativament a prop, dins del mateix edifici o la mateixa planta, poden estar instal·lats en espais amb accés dificultós o restringit. Per aquestes raons l’administració remota, és a dir l’administració d’un equip des d’un altre equip, és una necessitat quotidiana.

A continuació mostrem una llista dels usos més freqüents de l’accés remot a ordinadors:

  • Administració de sistemes: gestionar, administrar i configurar equips i servidors de forma remota en xarxa local o mitjançant Internet.
  • Suport i assistència tècnica de forma remota (helpdesk): solucionar problemes tècnics a domicili sense necessitat de desplaçaments físics (vegeu la figura).
  • Treball a distància: accés des del domicili als recursos de la xarxa de l’oficina (arxius, escriptori, correus, impressores, etc.), cosa que possibilita el teletreball.
  • Reunions i presentacions en línia: compartir escriptori amb assistents situats en diferents llocs de treball. Inclou prestacions addicionals com videoconferència i xats de text i de veu.
  • Aplicacions d’ensenyament: el professor pot monitoritzar les activitats escolars, compartir el seu escriptori i donar ajuda de forma remota.
  • Supervisió d’activitats: tasques de treballadors, supervisió parental, etc.

Figura Suport i assistència tècnica remota a usuaris

Tipus d'accés remot

Les tasques d’accés i administració remots es poden dur a terme amb mitjans diferents, però sempre estan condicionats per la xarxa que connecta l’equip que cal administrar amb l’estació on hi ha l’administrador.

La xarxa imposa condicions de:

  1. Capacitat: si la connexió no té una amplada de banda suficient no serà pràctic treballar amb una interfície gràfica remota. Com més augmenti el retard a la xarxa, més frustrant serà el treball interactiu.
  2. Seguretat: és obvi que la comunicació entre l’administrador i l’equip remot no ha de ser interceptada per altres usuaris de la xarxa.

Els diferents mitjans d’administració remota es poden agrupar en tres categories bàsiques:

  1. Sessió de treball a la consola
  2. Sessió de treball amb interfície gràfica
  3. Client o eina d’administració local

Cada categoria té els seus punts forts i febles. Una sessió de treball a la consola mitjançant SSH o l’obsolet i insegur Telnet no exigeix grans capacitats a la xarxa. És el mètode més lleuger i fins i tot es pot utilitzar amb comoditat per administrar màquines molt distants o amb xarxes de capacitat escassa. A més, és relativament senzill automatitzar tasques mitjançant guions de programació per repetir les mateixes operacions en un conjunt de màquines.

TELNET

És un protocol que emula un terminal remot per connectar-se a una màquina multiusuari. El seu principal problema és la seguretat.

SSH (secure shell) és el nom d’un protocol i del programa que l’implementa, i serveix per accedir a màquines remotes a través de la xarxa. Permet gestionar completament l’ordinador mitjançant l’intèrpret d’ordres.

LAN

Una LAN (de l’anglès local area network o xarxa d’àrea local) és un tipus de xarxa informàtica caracteritzada pel seu caràcter “local” o de distància curta, com ara una casa, una oficina, un hotel, etc., és a dir, la seva extensió està limitada a uns 200 metres i podria arribar a un quilòmetre si es fessin servir repetidors.

L’administració remota amb interfície gràfica permet obrir a l’estació local finestres d’aplicacions que s’executen en el servidor remot. Fins i tot permet veure l’escriptori complet de l’estació remota. Tot i que pot ser un mètode de treball còmode, requereix capacitats de la xarxa que normalment només es troben disponibles dins d’una LAN.

Emprar una eina d’administració local feta a mida, com un assistent per configurar una impressora remota, o genèrica, com un navegador web, intenta conjugar punts forts de les dues tècniques anteriors. En aquest cas, l’administrador dialoga amb una aplicació local o una pàgina web i no necessita recordar ordres. A més, com que la representació gràfica es produeix localment, no s’exigeix gran capacitat a la xarxa. El problema de les eines específiques és que es tracta d’un programari que cal instal·lar a cada estació que l’administrador vulgui accedir. Sovint aquesta eina només està disponible per a un sistema operatiu concret o fins i tot per a una de les seves versions.

Aquest problema s’obvia amb les interfícies web, ja que un navegador web és un programari comú present en tots els equips. A la taula podeu veure un resum dels principals avantatges i inconvenients dels tres tipus d’administració remota.

Taula Els tres principals mitjans d’administració remota
Mètode d’administració Avantatges Inconvenients
Treball a la línia d’ordresRequisits mínims per a la xarxa. És flexible i es pot automatitzar.Cal conèixer la sintaxi i recordar les ordres.
Interfície gràficaVisual i flexible. No cal recordar ordres.Imposa requisits de capacitat a la xarxa.
Client localVisual i flexible. No cal recordar ordres. No consumeix gaires recursos de la xarxa.Si no es tracta d’una interfície web (navegador), cal instal·lar programari.

Administració remota basada en la línia d'ordres

Les connexions remotes mitjançant la línia d’ordres són l’opció que menys capacitats exigeix a la xarxa i per tant es poden fer servir fins i tot en els casos en el qual el canal de comunicació no té una gran amplada de banda disponible o quan el retard és important. Exigeixen conèixer la sintaxi pròpia de l’intèrpret d’ordres emprat i de les seves eines, però són un mecanisme molt flexible que permet fer moltes automatitzacions.

Telnet

Les eines principals per iniciar una sessió de treball remota amb una línia d’ordres són Telnet i SSH. Totes dues permeten treballar com si s’estigués davant del teclat i de la pantalla de l’estació remota i estan basades en una arquitectura client-servidor, però les diferències entre elles són importants. Telnet encara s’utilitza per raons històriques: és possible que trobem commutadors o servidors d’impressió als quals podem accedir remotament per fer tasques d’administració. Però el fet que la informació es transmeti com a text clar suposa un problema greu de seguretat. Avui dia el seu ús està completament desaconsellat i s’exigeix prendre mesures addicionals.

Protocol telnet

Normalment, el servidor telnet acostuma a esperar les connexions dels clients al port TCP 23. És un protocol antic, desenvolupat el 1969, la seguretat del qual pot veure’s compromesa amb qualsevol programari captador de paquets (packet sniffer).

La falta de mesures de seguretat modernes impedeix emprar Telnet de manera generalitzada, però encara és una eina molt eficaç per connectar clients amb servidors que treballen amb text clar (com els servidors HTTP i SMTP) per diagnosticar problemes (figura).

HTTP

El protocol de transferència d’hipertext o HTTP (hypertext transfer protocol) estableix el protocol per a l’intercanvi de documents d’hipertext i multimèdia al web.

Figura Arquitectura client-servidor

El servei Telnet utilitza una arquitectura client-servidor. Els clients es connectaran remotament al servidor Telnet.

Instal·lació de Telnet

En la major part de distribucions GNU/Linux, el client Telnet està instal·lat al sistema de manera predeterminada, però en cas que no ho sigui es pot instal·lar amb la instrucció següent des de l’intèrpret d’ordres:

  1. root@ioc-Client:~# apt-get install telnet

Normalment, utilitzareu l’eina Telnet per connectar-vos a altres serveis de xarxa (com HTTP o SMTP), però també podeu instal·lar un servidor Telnet a la vostra màquina i utilitzar-lo per fer connexions remotes. Recordeu, però, que el protocol que utilitza Telnet no és segur i que per tant la vostra connexió estarà en perill de ser interceptada per tercers. Si, per exemple, escriviu alguna contrasenya en una connexió Telnet, podrà ser interceptada amb facilitat.

SMTP

SMTP és l’acrònim de simple mail transfer protocol, és a dir, protocol simple de transferència de correu, i és un protocol de xarxa basat en text utilitzat per a l’intercanvi de missatges de correu electrònic.

S’acostuma a anomenar els dimonis amb el nom del servei acabat amb la lletra d. Així, telnetd és el dimoni que gestiona el servei Telnet.

La instal·lació del servidor Telnet es pot fer executant la instrucció següent des de l’intèrpret d’ordres:

  1. root@ioc-Server:~# apt-get install telnetd

Accés remot mitjançant Telnet

Un cop instal·lat el servidor Telnet, ja hi podem accedir des de qualsevol màquina que tingui el client instal·lat. La sintaxi bàsica de Telnet és la següent:

  1. telnet <hostname><port>
  • <hostname> representa l’adreça IP o el nom del servidor al qual ens volem connectar.
  • <port> és el número de port del servei al qual ens volem connectar. De manera predeterminada és el port 23, que és el port utilitzat per Telnet.

A la taula podeu veure un llistat d’alguns dels ports TCP més utilitzats habitualment.

TCP

El protocol de control de les transmissions (transmission control protocol) és un protocol orientat a la connexió dintre del nivell de transport del model OSI que permet el lliurament de paquets, en el cas de TCP anomenats segments, de manera fiable.

Taula Ports TCP
Número de port Servei
21 FTP (file transfer protocol): sistema per transferir fitxers.
22 SSH: protocol i programa que l’implementa. Serveix per accedir a màquines remotes a través de la xarxa de manera segura.
23 Servidor Telnet.
25 SMTP: protocol de xarxa basat en text utilitzat per a l’intercanvi de missatges de correu electrònic.
53 DNS (domain name server): servei utilitzat per “traduir” les adreces IP a un nom de domini.
80 HTTP: protocol per a l’intercanvi de documents d’hipertext i multimèdia en el web. És el port utilitzat de manera predeterminada pels servidors de llocs web.

Per exemple, si us voleu connectar a un equip que té una IP 192.168.65.10:

  1. jmunoz@ioc-Client:~$ **telnet 192.168.56.10**
  2. Trying 192.168.56.10...
  3. Connected to 192.168.56.10.
  4. Escape character is '^]'.
  5. Debian GNU/Linux 6.0
  6.  
  7. ioc-Server login: **jmunoz**
  8. Password:
  9.  
  10. Last login: Wed Oct 26 11:28:51 CEST 2011 from ioc-Client.local on pts/1
  11. Linux ioc-Server 2.6.32-5-686 #1 SMP Mon Oct 3 04:15:24 UTC 2011 i686
  12.  
  13. The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.
  14. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
  15. You have new mail.
  16.  
  17. jmunoz@ioc-Server:~$

Com podeu veure, després de rebre un seguit de dades posem el cursor a la línia d’ordres i podem fer qualsevol tasca com si fóssim a l’equip remot.

Una manera diferent de connectar-nos és obrint una sessió de Telnet directament. Apareixerà l’indicador (prompt) telnet> i llavors es pot utilitzar la instrucció open per obrir la connexió.

  1. jmunoz@ioc-Client:~$ **telnet**
  2. telnet> **open 192.168.56.10**

Podeu trobar les instruccions més habituals de Telnet a la taula.

Taula Algunes instruccions de Telnet
Instrucció Servei
c - closeTancar la connexió.
d - display Mostrar els paràmetres configurats en la connexió.
o - open hostname [port]Obrir una connexió en un ordinador remot. El paràmetre port és opcional.
q - quitSortir de Telnet.
?/h - helpMostrar l’ajuda de Telnet. Es mostren totes les instruccions disponibles.

Introducció a SSH

SSH és un protocol de xarxa que permet l’intercanvi d’informació de manera segura. Utilitza xifrat i criptografia de clau pública per tal de fer l’autenticació de l’estació remota.

Una de les seves funcions més emprades és iniciar una sessió remota per tal d’executar ordres en substitució de Telnet. Però les seves capacitats són més àmplies, ja que també permet:

  • Transmetre fitxers de manera segura.
  • Fer còpies de seguretat de manera eficient i segura en combinació amb l’ordre rsync.
  • Fer túnels per assegurar qualsevol servei que no es transmeti encriptat (HTTP, SMTP, VNC, etc.) o per travessar tallafocs que estiguin bloquejant el protocol.
  • Reenviament automàtic de sessions X11 des d’un host remot (disposa d’aquesta funció openSSH però no altres implementacions d’SSH).
  • Navegar pel web a través d’una connexió amb un servidor intermediari (proxy) xifrada amb programes clients que siguin compatibles amb el protocol SOCKS.
  • Seguiment automatitzat i administració remota de servidors a través d’un o més dels mecanismes exposats anteriorment.
  • Fent servir SSHFS (SSH File System), un sistema d’arxius basat en SSH que pot crear de manera segura un directori en un servidor remot i actuar com a sistema de fitxers en xarxa.

SSG file system

SSHFS és un sistema de fitxers en xarxa que fa servir SSH per comunicar els diferents equips.

Les seves possibilitats es poden combinar de moltes maneres diferents. Ateses les seves característiques criptogràfiques, SSH és una eina fonamental per a l’administrador de xarxa. De les capacitats i funcions esmentades, les més utilitzades són les d’inici de sessió remota, la transferència d’arxius i la tunelització d’altres serveis mitjançant redreçament estàtic de ports o bé establint un servei SOCKS amb el redreçament dinàmic de ports.

Instal·lació d'SSH

SSH utilitza una arquitectura client-servidor, en què el client es connecta a una màquina remota, el servidor. En la major part de distribucions GNU/Linux el client ja hi és però, si es vol accedir a una màquina de manera remota, en aquesta màquina hi haurà d’haver el servidor SSH instal·lat.

La implementació més popular d’SSH és la desenvolupada per la fundació OpenSSH, el servidor openSSH-server. Per procedir a instal·lar-la, executem l’ordre següent des de la consola de la màquina a la qual ens connectarem (servidor).

  1. root@ioc-Server:~# apt-get install openSSH-server

Si no hi ha hagut cap error durant la instal·lació podreu veure un missatge en què es creen les claus necessàries per assegurar les comunicacions segures mitjançant l’encriptació.

  1. S'està configurant openssh-server (1:5.5p1-6+squeeze1)…
  2. Creating SSH2 RSA key; this may take some time ...
  3. Creating SSH2 DSA key; this may take some time ...
  4. Restarting OpenBSD Secure Shell server: sshd.
  5. root@ioc-Server:~#

L’última part de la configuració bàsica es fa de manera automàtica quan intentem connectar un client per primera vegada. És la generació automàtica de la clau compartida que utilitzaran client i servidor per assegurar que les comunicacions són segures. Un cop s’ha comunicat la clau compartida entre totes dues estacions, el missatge s’encripta de forma convencional.

Arxius de configuració del client SSH

El client d’OpenSSH es pot configurar de manera prou flexible com perquè l’administrador pugui definir una configuració general per a tot el sistema, perquè cada usuari pugui modificar els paràmetres adients per a les seves connexions o perquè pugui especificar opcions determinades per a cada connexió individual.

Configuració del client SSH

La configuració del client d’OpenSSH és força flexible. Es pot consultar la documentació oficial al manual SSH_config(5).

El client d’OpenSSH farà servir:

  • Les opcions indicades a la línia d’ordres
  • Els valors especificats en el fitxer de configuració de l’usuari: $HOME/.ssh/ssh_config
  • Els valors especificats en la configuració per a tot el sistema: /etc/ssh/ ssh_config

$HOME

Recordeu que HOME és una variable d’entorn de Linux que conté el camí absolut del directori personal de l’usuari actiu.

Per a cada paràmetre, el client farà servir el primer valor trobat. És a dir, si s’especifica un paràmetre a la línia d’ordres no se’n consultarà el valor en els fitxers de configuració. Dins dels fitxers de configuració és possible definir seccions per a diferents equips (mitjançant la paraula reservada host). Les línies buides i les que comencen amb un # (comentari) seran ignorades. A la taula podeu trobar una llista amb les opcions més bàsiques de configuració d’un client.

Taula Algunes de les opcions més bàsiques de la configuració d’un client
Opció Funció
Host <patró>Permet especificar opcions que només s’aplicaran a les connexions amb l’amfitrió indicat. L’amfitrió s’indica mitjançant patrons amb els caràcters * i ?. Especifica el port de destinació per a la connexió, que per defecte és el 22.
CheckHostIP <yes|no>El seu valor predeterminat és yes. Si l’opció està activada, es comprovarà l’adreça de l’estació remota mitjançant el fitxer known_hosts per tal d’advertir un possible enverinament de DNS.
Cipher i ChipersPermeten especificar respectivament l’algorisme d’encriptació per les a connexions SSH1 i la precedència d’algorismes que cal emprar en les connexions SSH2.
Compression <yes|no> Si la connexió és molt lenta, la compressió pot millorar els resultats. Si la xarxa té prou amplada de banda normalment no es recomana.
Port <port>Especifica el port de destinació per a la connexió, que de manera predeterminada és el 22.
RekeyLimit <limit>Especifica el volum màxim d’informació que es pot transmetre abans d’haver de renegociar la clau de sessió. Es poden fer servir els sufixos K, M o G.
User <usuari>Especifica l’usuari per establir la connexió a l’estació remota.
SendEnv <variables>Permet enviar el valor de les variables d’entorn especificades a l’estació remota.

A continuació podeu veure un exemple d’un arxiu $HOME/.ssh/ssh_config, corresponent a la configuració d’un client SSH.

  1. Host 192.168.56.10
  2. Ciphers aes128-cbc
  3. Compression yes
  4. User usuariSSH
  5. Port 30

En aquest cas, el fitxer indica que, quan establim una connexió amb el servidor amb la IP 192.56.10, s’ha d’utilitzar un algoritme d’encriptació del tipus aes128-cbc i s’han de comprimir les dades que s’envien. A més, la connexió es farà utilitzant l’usuari usuariSSH i s’establirà la connexió amb el port 30 del servidor. Observeu que, perquè la connexió funcioni, el servidor SSH, al seu torn, haurà d’estar configurat per treballar al port 30.

Arxius de configuració del servidor SSH

La funció del servidor SSH és esperar les connexions dels clients (normalment al port TCP 22), dur a terme la seva autenticació i, si tot ha anat bé, obrir una sessió de treball, executar una ordre o bé redreçar ports.

Configuració del servidor SSH

Es pot trobar informació detallada sobre l’ús del servidor OpenSSH a les pàgines del manual del mateix servidor SSHd(8) i a la dedicada al seu fitxer de configuració SSHd_config(5).

Cada vegada que es rep un intent de connexió des d’un client, es fan en primer lloc totes les comprovacions i inicialitzacions criptogràfiques per garantir la seguretat. Després es tracta d’autenticar l’usuari i finalment se segueixen els passos d’un procés d’inici de sessió habitual.

Fitxer de configuració sshd_config

Malgrat que en el funcionament del servidor d’OpenSSH hi intervenen diversos fitxers, l’arxiu principal de configuració és /etc/ssh/sshd_config. Aquest fitxer conté diferents paraules clau amb el seu valor. Les línies que comencen amb # (comentaris) o les que estan en blanc són ignorades.

A la taula podeu trobar els principals paràmetres de configuració d’un servidor SSH.

Taula Paràmetres de configuració del servidor SSH
Opció Funció
AllowGroups Si s’especifica seguida d’una llista de grups (separats per espais), només els usuaris que tenen algun dels grups indicats com a grup principal o suplementari podran iniciar sessió. És possible emprar els patrons ? i * en la definició dels grups. Només es poden indicar els grups mitjançant el seu nom, no en format numèric (GID).
AllowUsers Té la mateixa funció que AllowGroups, però per als usuaris. En aquest cas, a més, és possible indicar des de quins amfitrions d’origen s’acceptarà la connexió. Per exemple: AllowUsers usuari1@192* usuari2.
Banner <fitxer> Envia el contingut del fitxer indicat al client abans de dur a terme l’autenticació.
Compression <yes|delayed|no> Especifica si es farà servir la compressió. El valor delayed, l’opció predeterminada, indica que només es farà servir la compressió un cop s’hagi autenticat l’usuari.
DenyGroups Permet especificar una llista de grups, separats per espais, als quals no es permetrà iniciar sessió. Es poden especificar els grups mitjançant el seu nom, emprant els patrons ? i * de manera opcional.
DenyUsers Igual que DenyGroups, però per als usuaris. En aquest cas és possible indicar un equip (o subxarxa) per a cada usuari.
Port ListenAddress Permeten especificar el port on el servidor escoltarà les connexions dels clients i les adreces on obrirà aquest port. De manera predeterminada s’utilitza el port 22 de qualsevol adreça local. És possible especificar múltiples vegades aquestes opcions, però convé que Port sempre aparegui abans que ListenAddress.
LoginGraceTime Període de temps màxim per dur a terme l’autenticació. El valor 0 expressa que no hi ha límit.
MaxAuthTries Nombre màxim d’intents d’autenticació que es poden fer.
MaxStartups Nombre màxim de connexions simultànies que encara no han completat la seva autenticació.
PasswordsAuthenticati on <yes|no> Indica si s’accepta l’autenticació mitjançant contrasenya (password).
PermitEmptyPasswords <no|yes> Si s’utilitza l’autenticació mitjançant contrasenya, especifica si el servidor permet la connexió a comptes que tenen una contrasenya buida.
PermitRootLogin <yes|without-password|forced-commands-only|no> Especifica si s’accepta la connexió de superusuari mitjançant SSH. El valor without-password indica que el superusuari no podrà fer servir l’autenticació basada en contrasenya i el valor forced-commands-only, que només es permetrà l’autenticació de clau pública per executar certes ordres de manera remota (normalment per fer còpies de seguretat).
Protocol Especifica quins protocols es podran fer servir en les connexions dels clients (1, 2 o tots dos). És important recordar que el protocol SSH2 és força més segur que l’SSH1.
PubkeyAuthentication <yes|no> Especifica si s’acceptarà l’autenticació de clau pública.
X11Forwarding <no|yes> Especifica si s’acceptarà el reenviament X11 per tal que les aplicacions gràfiques executades en el servidor obrin la seva finestra en el servidor X del client.
Altres arxius de configuració

Hi ha altres arxius de configuració que permeten de forma genèrica el filtratge, control d’accés i mecanismes de protecció de diferents serveis (POP, Sendmail, Telnet, SSH, etc.) actuant de fet com un tallafocs bàsic.

Així, si volem habilitar o restringir l’accés a determinats equips i serveis podem editar els arxius de configuració /etc/hosts.deny i /etc/hosts.allow indicant en la directiva dintre de l’arxiu el servei que volem controlar, en aquest cas, el dimoni SSH. D’aquesta manera el sistema, davant d’una petició d’accés al servei, fa la cerca següent, que conclou en el moment de la primera coincidència:

  1. Comprova l’arxiu /etc/hosts.allow. Si hi troba coincidència valida l’accés.
  2. Comprova l’arxiu /etc/hosts/deny. Si hi troba coincidència no valida l’accés.
  3. En cas de no trobar coincidència en cap dels arxius valida l’accés.

Exemples de directives d’aquests arxius:

  1. sshd: ALL (permet/denega l’accés ssh a tothom)
  2. sshd: 192.168.56.10 (permet/denega l’accés SSH de la IP 192.168.56.10)

Recordeu que perquè qualsevol canvi tingui efecte s’ha de reiniciar el servei:

  1. /etc/init.d/ssh restart

Per a informació completa sobre els arxius de configuració /etc/hosts.allow i /etc/hosts.deny consulteu la informació del sistema amb l’ordre: man hosts_access.

Connexió a una estació remota amb SSH

La funció més comuna per a SSH és establir una sessió de treball remota fent ús de tècniques criptogràfiques per transmetre la informació. L’ús del client SSH és força senzill.

  1. ssh user@host
  • user: és l’usuari que es connectarà a la màquina remota.
  • host: representa la IP o el nom de domini del servidor SSH al qual ens volem connectar.

És tot el que hem d’escriure per iniciar una sessió remota com a usuari (user) en l’equip amfitrió (host). En executar l’ordre ens demanarà la contrasenya de l’equip remot i, si l’escrivim de manera correcta, podrem accedir a la sessió de treball remota per escriure ordres.

  1. jmunoz@ioc-Client:~$ ssh jmunoz@192.168.56.10
  2. jmunoz@192.168.56.10's password:
  3.  
  4. Linux ioc-Server 2.6.32-5-686 #1 SMP Mon Oct 3 04:15:24 UTC 2011 i686
  5. The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.
  6.  
  7. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
  8.  
  9. No mail.
  10.  
  11. Last login: Wed Oct 26 12:20:51 2011 from ioc-client.local
  12.  
  13. jmunoz@ioc-Server:~$

Per finalitzar la connexió escriurem exit.

  1. jmunoz@ioc-Server:~$ exit
  2. logout
  3. Connection to 192.168.56.10 closed.
  4. jmunoz@ioc-Client:~$

Si no s’especifica el nom d’usuari a l’hora d’invocar l’ordre SSH, intentarà fer la connexió amb l’usuari amb el qual estem connectats al terminal de GNU/Linux.

  1. usuari1@ioc-Client$ ssh 192.168.56.10
  2. usuari1@192.168.56.10's password:

Fixeu-vos que en aquest cas intenta connectar-se com a usuari1, ja que no s’ha especificat amb quin usuari s’ha de connectar.

El client d’OpenSSH disposa de diferents opcions que es detallen en el seu manual. Algunes de les més freqüents són les descrites a la taula.

Taula Opcions més freqüents del client OpenSSH
Opció Funció
-1Força l’ús de la versió 1 del protocol SSH. Només es recomana emprar SSH1 per connectar-se a servidors antics que no són compatibles amb SSH2.
-2Força l’ús de la versió 2 del protocol: SSH2.
-4Força l’ús de l’adreçament IPv4.
-6Força l’ús de l’adreçament Ipv6.
-CActiva la compressió gzip en la connexió. Es recomana activar la compressió si s’està emprant SSH amb un enllaç lent, com un mòdem. Si l’enllaç és de banda ampla es recomana treballar sense compressió.
-p portPort al qual es connectarà en l’equip remot. De manera predeterminada el servidor SSH s’executa al port TCP 22, però si es tracta d’un servidor accessible des d’Internet és recomanable escollir un altre port per evitar els intents de connexió.
-qNo imprimeix els missatges d’advertència, només els errors. Amb una altra -q no imprimeix ni els errors.
-XActiva la retransmissió X11 per tal que els programes gràfics llançats en l’estació remota obrin la seva interfície gràfica en el servidor X local.
-xDesactiva la retransmissió X11.

Algunes vegades només es desitja executar una ordre a l’estació remota, no obrir un shell (intèrpret d’ordres) per treballar. En aquest cas, és possible indicar l’ordre que cal executar en la mateixa crida de SSH.

tail

És una instrucció de GNU/Linux que permet veure les 10 últimes línies. El paràmetre n permet especificar el nombre de línies que es vol mostrar. En aquest cas, se’n mostren tres.

Per exemple, per tal de veure el final del fitxer de registre /var/log/messages al servidor 192.168.56.10 farem:

  1. jmunoz@ioc-Client:~$ **ssh jmunoz@192.168.56.10 tail /var/log/messages**
  2. jmunoz@192.168.56.10's password:

Transferència d'arxius entre equips

Entre les utilitats incloses en la distribució d’OpenSSH trobem les ordres scp i sftp. Aquestes ordres permeten transferir fitxers amb totes les garanties de seguretat d’SSH.

Còpies segures (scp)

La sintaxi bàsica de la instrucció secure copy (scp) és:

  1. scp [opcions] [[user@]host1:]fitxer1 [[user@]host2:]fitxer2
  • host1: representa la màquina d’origen.
  • host2: representa l’estació de destinació.

L’ordre scp es pot veure com una versió estesa de l’ordre cp, que permet copiar fitxers fins i tot entre màquines diferents. De fet, és el substitut d’SSH per l’ordre rcp, que és antiga i insegura. En fer una còpia mitjançant scp, es pot escollir qualsevol combinació de fitxers locals o remots tant per l’origen com per la destinació.

remote copy

rcp és una instrucció GNU/Linux que permet copiar fitxers entre l’equip local i un de remot.

En l’exemple que podeu veure a continuació copiem el fitxer local manual.pdf en una estació remota amb IP 192.168.56.10.

  1. jmunoz@ioc-Client:~$ **scp manual.pdf 192.168.56.10:**
  2. jmunoz@192.168.56.10's password:
  3. manual.pdf 100% 179KB 179.5KB/s 00:00

Si la contrasenya és correcta es procedirà a la transferència de l’arxiu i s’indicarà de manera interactiva el percentatge que ja s’ha enviat, la grandària en quilobytes, l’índex de transferència i el temps transcorregut des del començament de la transmissió.

No només es poden copiar fitxers locals en una estació remota, sinó que es poden copiar fitxers de l’estació remota en la local i fins i tot entre dues estacions remotes. A la taula podeu trobar un exemple de cada tipus.

Taula Exemples de diferents usos de la instrucció scp
Exemple Ordre
Copiar fitxer local a equip remotscp fitxer usuari@192.168.56.10:/home/usuari
Copiar fitxer remot a equip localscp usuari@192.168.56.10:/home/usuari/fitxer ./
Copiar un fitxer d’un equip remot a un altre equip remotscp usuari@192.168.56.12:/home/usuari/fitxer usuari@192.168.56.11:/home/usuari

La pàgina del manual d’scp ens mostrarà els seus paràmetres, la major part dels quals són els mateixos que té l’ordre ssh. No obstant això, té algunes opcions pròpies que són particularment útils i que podeu veure a la taula.

Taula Opcions de la instrucció scp
Opció Funció
-l limitEstablir un límit a l’amplada de banda en kbps.
-pPreservar el temps de modificació, accés i els permisos dels fitxers copiats.
-rFer una còpia recursiva pels directoris.

Transferències segures de fitxers (sfpt)

L’ordre sftp és un substitut per al client d’FTP, que és el tradicional però que és insegur. En emprar sftp s’estableix una connexió al sistema remot i després, de manera interactiva, es podran indicar ordres per explorar el sistema d’arxius remot i fer modificacions.

El protocol de transferència de fitxers o FTP (de l’anglès file transfer protocol) és un programari estandarditzat per enviar fitxers entre ordinadors amb qualsevol sistema operatiu. Forma part de la capa d’aplicació del model TCP/IP.

La sintaxi bàsica de la instrucció sftp és:

  1. sftp [opcions][[user@]host1:]fitxer1 [[user@]host2:]fitxer2
  • host1: representa la màquina d’origen.
  • host2: representa l’estació de destinació.

Un cop establerta la connexió segura, podem executar les mateixes ordres que si ens haguéssim connectat mitjançant FTP. A la taula podeu trobar les ordres que sftp pot interpretar.

Taula Ordres que poden ser interpretades per sftp
Ordre Funció
bye, exit, quitFinalitzar la sessió.
cd camíCanviar el directori remot.
chgrp, chown, chmodCanviar el grup, el propietari o els permisos en el sistema remot .
get fitxer Transmetre el fitxer remot indicat al directori de treball local.
put fitxerTransmetre el fitxer local indicat al directori de treball remot.
ls, mkdir, pwd, rename, rm, rmdir, lnElaborar llistats, crear directoris, consultar la ruta, canviar de nom, eliminar fitxers i directoris i crear enllaços simbòlics al sistema de fitxers remot.
lcd, lls, lmkdir, lpwdVersions de les ordres cd, ls, mkdir i pwd per treballar al sistema de fitxers local.

Vegem un exemple de com fer transferències segures entre l’ordinador local i un equip amb la IP 192.168.100.10:

  1. jmunoz@ioc-Client:~$ **sftp jmunoz@192.168.56.10**
  2. jmunoz@192.168.56.10's password:
  3. Connected to 192.168.56.10.
  4. sftp>

En aquest punt ja s’ha establert la connexió segura amb l’equip remot i ja es poden començar a utilitzar les ordres pròpies d’sftp. En l’exemple següent es transferirà el fitxer fitxer.pdf de l’equip remot al local.

  1. sftp> **cd Documents/**
  2. sftp> **get manual.pdf **
  3. Fetching /home/jmunoz/Documents/manual.pdf to manual.pdf
  4. /home/jmunoz/Documents/manual.pdf 100% 179KB 179.5KB/s 00:00
  5. sftp>

sftp a l'escriptori GNU/Linux

Els escriptoris GNOME i KDE també proporcionen un accés senzill a servidors SSH per tal de treballar en xarxa. A GNOME, el navegador d’arxius Nautilus pot mostrar directoris remots com si fossin locals fent servir el GNOME VFS (sistema de fitxers virtual de GNOME).

Com que la distribució Debian utilitza GNOME per defecte, per tal d’utilitzar gràficament la instrucció sftp al visualitzador d’arxius Nautilus, només és necessari introduir a la barra de lloc la mateixa ordre que s’utilitza per obrir una connexió SSH mitjançant Vés > Ubicació (o bé Ctrl+L). Vegeu la figura.

  1. sftp://nomUsuari@ipServidor

Figura Introduir a la barra d’adreces l’ordre de connexió ssh

Després d’uns segons per establir la comunicació, el navegador d’arxius Nautilus detecta que es vol fer una connexió segura i demana la contrasenya de l’usuari de l’equip remot amb una finestra similar a la de la figura.

Figura Nautilus demana la contrasenya per connectar-se a l’equip remot

Si la contrasenya és correcta, s’estableix la connexió remota i Nautilus passa al mode de transferència segura d’arxius i la unitat remota queda muntada. A la figura es pot observar que es visualitzen els arxius de l’equip remot.

Figura Nautilus mostra la unitat remota per fer la transferència segura d’arxius

Utilitzant aquesta finestra, sempre que es tinguin els permisos necessaris, es poden copiar arxius, crear carpetes o fer qualsevol altra operació típica d’un navegador de fitxers.

Redreçament de ports TCP i túnels amb SSH

La major part dels protocols que utilitzem en les nostres comunicacions estan basats en dissenys de fa gairebé 30 anys, quan la seguretat en xarxes telemàtiques no era un problema. Telnet, FTP, POP3, protocols d’ús quotidià, descuiden la seguretat i confidencialitat de les dades que envien. No serveix de res protegir els servidors, implantar una bona política de contrasenyes i actualitzar les versions dels nostres dimonis si després, quan un usuari de POP3, per exemple, vol veure el seu correu electrònic des de la nostra xarxa, envia el seu usuari i contrasenya en text pla per la xarxa.

Fent servir SSH es poden establir túnels encriptats pels quals es pot transmetre qualsevol protocol que faci servir TCP. Així és possible, per exemple, emprar un túnel SSH per:

  • descarregar el correu mitjançant POP3 i enviar-lo fent servir SMTP.
  • accedir a un servidor web mitjançant HTTP.
  • accedir a un sistema d’arxius remot mitjançant NFS.

Els protocols de l’exemple (POP3, SMTP, HTTP i NFS) no utilitzen tècniques criptogràfiques. El seu ús en una xarxa que no és de confiança no ens permet garantir la confidencialitat. Però com que tots aquests serveis utilitzen TCP com a protocol de transport, poden ser tunelitzats per SSH.

La idea en què es basa aquest procediment, i que es representa a la figura, és la de fer un túnel pel qual viatjaran les dades de manera segura (tunneling). A cada un dels extrems del túnel hi ha les aplicacions estàndard (un dimoni POP3 estàndard, el nostre client de correu preferit, FTP, un navegador web, etc.) i la comunicació s’assegura fent ús de tota la potència criptogràfica d’SSH. SSH recull les dades que el client vol enviar i les reenvia pel túnel o canal segur. A l’altre costat del túnel es recullen les dades i es tornen a enviar al servidor corresponent.

Figura Túnel fet amb SSH per fer segures les comunicacions que utilitzen el protocol TCP

Redreçament estàtic de ports: túnel SSH per accedir al servei SMTP

El redreçament estàtic de ports ens permet crear un canal de comunicació segur i transparent a l’usuari entre un port de la màquina local i un altra port de la màquina remota, que pot ser un dels ports estàndards que fan servir qualsevol dels serveis de xarxa.

Per exemple, per establir un túnel SSH entre el port local 10025 i el port 25 (corresponent al servei SMTP) de l’estació 192.168.10.100 establint la connexió amb l’usuari usuari faríem:

  1. ssh usuari@192.168.10.100 -L 10025:192.168.10.100:25

Un cop establerta la sessió SSH, i mentre es mantingui, existirà un túnel encriptat entre el port TCP local 10025 i el 25 de l’estació 192.168.10.100.

En altres paraules, per fer una connexió segura amb el servidor SMTP de l’estació remota, hauríem de connectar amb el port local 10025. SSH s’encarregarà de fer el transport de manera segura entre totes dues estacions.

Redreçament dinàmic de ports: Servidor SOCKS

Una altra de les possibles aplicacions del túnel SSH és accedir a un servidor web des d’una IP diferent de la de la nostra màquina. Com es pot veure a la figura, el navegador utilitza el túnel creat per SSH per connectar-se al servidor i navegar per pàgines web utilitzant la IP externa del servidor.

Figura Navegar per Internet utilitzant la IP del servidor

SSH permet doncs crear un túnel des de l’equip local fins a un servidor remot. Un cop connectats a aquest servidor remot utilitzem el túnel per fer la navegació per Internet. A la figura podeu veure les IP de cada un dels equips de l’exemple. Fixeu-vos que tant la màquina local com el servidor remot tenen la seva pròpia IP local i una IP externa (NAT). Per connectar-nos al servidor remot haurem d’utilitzar l’adreça IP externa de la xarxa on està connectat, i només funcionarà si l’encaminador al qual ens connectem té el port 22 redreçat al servidor amb el qual farem el túnel. És a dir, quan l’encaminador remot rebi una connexió pel port 22 ha de redreçar aquest trànsit al port 22 del nostre servidor.

NAT (network address translation)

La traducció d’adreces de xarxa és una tècnica que amaga un espai d’adreces, que generalment consisteix en un conjunt d’adreces de xarxa privada, darrere d’una única adreça IP, sovint en l’espai d’adreces IP públiques. Aquest mecanisme s’implementa en un encaminador que utilitza unes taules per assignar les adreces “ocultes” a una sola adreça IP, de manera que els paquets a la sortida semblen originar-se en l’encaminador.

Figura Configuració d’equips per fer un túnel SSH

Abans de fer el túnel SSH, si es fa una connexió a Internet des de l’equip local amb un navegador qualsevol, es farà des de l’adreça IP 89.131.115.1.

A continuació veiem com fer el túnel amb l’equip remot:

  1. ssh -D 1080 -p 22 -Nf usuari@82.17.95.21

L’opció -D habilita el redreçament dinàmic de ports locals que a la pràctica permet fer servir SSH com un servidor SOCKS.

Un servidor SOCKS dóna a la intranet un servei similar al que proporciona un servidor web intermediari (proxy), però no està limitat al protocol HTTP/HTTPS, sinó que permet redreçar qualsevol tràfic TCP/IP. Fins i tot la versió 5 de SOCKS permet el tràfic UDP.

El servidor SOCKS funciona mitjançant l’assignació d’un sòcol per escoltar el port local. En el nostre cas hem triat el port 1080, ja que és l’estàndard per a aquest servei. Cada vegada que s’estableix una connexió a aquest port, la connexió es transmet pel canal segur. A continuació el protocol d’aplicació és l’encarregat de determinar on es fa la connexió a la màquina remota.

SOCKS

Protocol d’Internet que facilita l’encaminament de paquets de xarxa entre les aplicacions client-servidor a través d’un servidor intermediari.

A la taula veiem amb detall les opcions emprades.

Taula Opcions de redreçament dinàmic de l’ordre ssh
Opció Descripció
-D 1080 Habilita el redreçament dinàmic de ports fent servir, en aquest cas, el port 1080 estàndard per a servidors SOCKS.
-p 22 Permet indicar el port pel qual es farà el túnel SSH, habitualment el número 22.
-N Especifica que no es vol executar cap ordre remota i no s’obrirà cap terminal interactiu. És d’utilitat quan es fa servir SSH per al redreçament de ports.
-f Com que no ens cal interactivitat, aquesta opció fa que SSH quedi en segon pla i es dissocii de la shell actual, cosa que converteix el procés en un dimoni (cal l’opció -N).

Un cop establert el túnel, cal configurar a nivell d’aplicació el programa que el farà servir. En aquest cas l’aplicació que hem de configurar és el navegador local perquè utilitzi el túnel SSH per accedir a la xarxa d’Internet.

Figura Configuració del navegador Firefox per utilitzar el servidor SOCKS

Si utilitzeu el navegador Firefox, heu d’anar a Edita > Preferències > Avançat, seleccionar la pestanya Xarxa i prémer el botó Paràmetres. S’ha de configurar, tal com mostra la figura: fer servir la configuració manual del servidor intermediari (proxy), que l’ordinador central SOCKS sigui localhost i que utilitzi el port 1080.

Ara el navegador ja utilitza el túnel SSH i quan es fa una connexió a Internet des de l’equip local es fa des de l’adreça pública de l’encaminador remot (en aquest cas, amb IP 82.17.95.21).

A Linux hi ha diverses aplicacions que permeten a les aplicacions no compatibles amb SOCKS fer les seves peticions TCP/IP a través d’un servidor SOCKS. Les més conegudes són tsocks i proxychains.

Hi ha aplicacions que no admeten específicament l’ús del servidor SOCKS i que no disposen de la possibilitat de configurar aquesta opció. En aquest cas es pot carregar un programa addicional que detecti peticions a la pila TCP/IP per modificar-les i redreçar-les a través del servidor SOCKS sense que la aplicació hagi de tenir implementada aquesta possibilitat.

Administració remota amb interfície gràfica

Si la xarxa de comunicacions té una amplada de banda suficient i un retard raonable, es poden fer servir eines que permeten treballar amb aplicacions que s’executen en un equip remot, però que mostren la seva interfície gràfica en un terminal local. En tot cas, la seguretat ha de ser un punt fonamental a considerar, atès que la funcionalitat administrativa de l’aplicació farà que transportem per la xarxa dades importants.

És possible que tot l’escriptori visualitzat es correspongui amb l’escriptori d’un equip remot o combinar en el mateix escriptori aplicacions locals i remotes. En aquest últim cas, fins i tot les aplicacions remotes es poden estar executant en diferents equips.

També cal diferenciar els protocols de comunicació remota, que són convencions que defineixen la comunicació entre la màquina client i la que ofereix el servei de les aplicacions client-servidor que fan servir aquests protocols per donar un servei concret d’accés gràfic remot.

Així, doncs, trobem que hi ha diferents aplicacions que implementen aquest protocols i permeten dur a terme l’administració remota d’equips mitjançant una interfície gràfica. Concretament algunes de les opcions més conegudes són:

  • El sistema servidor X Window (transparència de xarxa)
  • Computació virtual en xarxa VNC (virtual network computing)
  • Webmin, eina gràfica per a l’administració remota de Linux

Protocols d'accés remot a interfícies gràfiques

Hi ha dues propostes tecnològiques principals quant a protocols d’accés remot a interfícies gràfiques. D’una banda, es poden transmetre directament les diferents directives que donen instruccions als motors gràfics dels servidors de finestres respectius. De l’altra, es pot transmetre informació relativa a cada píxel que permet fer una representació del mapa de memòria gràfica del gestor de finestres.

Alguns dels protocols poden incorporar les seves pròpies tècniques de seguretat i xifrat o bé incorporar una capa addicional de seguretat, per exemple fent servir túnels SSH.

Protocol X11

Protocol desenvolupat inicialment a mitjan anys vuitanta a l’Institut Tecnològic de Massachusetts (MIT) com a part del sistema de finestres X Window amb l’objectiu de proporcionar una interfície gràfica als sistemes Unix.

La versió del protocol que es fa servir des de 1987 i fins a l’actualitat és la v11. Per aquesta raó s’acostuma a anomenar X11 tant al protocol com als servidors i clients del sistema X Window.

Aquest protocol és independent del sistema operatiu i permet la interacció gràfica remota entre un client i un servidor fent transparent la xarxa per a l’usuari, que veu el sistema com si fos un terminal gràfic virtual.

Tecnologia NX

FreeNX

És una implementació en codi lliure amb llicència GPL de la tecnologia client-servidor NX.

Més que un protocol de comunicació pròpiament dit, NX és una tecnologia que permet gestionar i millorar les connexions X Window fent servir compressió del tràfic de dades del mateix protocol X11 i afegint mecanismes de memòria cau per accelerar la comunicació i reduir el requeriments d’amplada de banda i latència.

Remote framebuffer (RFB)

El protocol de xarxa RFB (remote framebuffer protocol) també és lliure i fa servir la tècnica d’enviar informació dels píxels que conformen la memòria d’imatge gràfica. Malgrat que les funcions inicials del protocol RFB es limitaven a transmetre els esdeveniments desencadenats per l’usuari en el teclat i el ratolí locals a l’estació remota, i a enviar en direcció contrària el contingut gràfic de la pantalla, les darreres versions han estat ampliades per oferir més funcionalitats, com per exemple la transferència de fitxers.

La memòria d'imatge

La memòria d’imatge (framebuffer) és l’àrea de la memòria que emmagatzema les dades que defineixen la imatge gràfica que apareix a la pantalla. Normalment, les pantalles actuals estan basades en píxels, és a dir, mostren mapes de bits en comptes d’imatges vectorials.

La memòria d’imatge conté la informació necessària per definir l’estat de cada píxel de la pantalla. La quantitat d’informació necessària dependrà de la resolució i la profunditat de color (la quantitat de bits necessaris per codificar el color, i potser la transparència, de cada píxel).

Els programes més coneguts que fan servir el protocol RFB són tota la família d’aplicacions VNC (virtual network computing).

El protocol RFB fa servir per defecte el port 5900 del servidor per establir la comunicació. Alternativament, en cas de connexió a través d’un navegador es fa servir per defecte el port 5800.

VPN

Una xarxa privada virtual (VPN) és una xarxa informàtica que s’aplica en una capa lògica addicional a la d’una xarxa existent. Té el propòsit de crear un àmbit privat de les comunicacions per ordinador o fer una extensió segura d’una xarxa privada en una xarxa insegura, com Internet. Una aplicació comuna és protegir les comunicacions a través de la xarxa pública d’Internet.

Cal assenyalar que RFB no és un protocol segur. En fer servir VNC en una xarxa que no sigui de confiança, caldrà combinar el seu ús amb SSH o bé una altra tecnologia per crear una xarxa privada virtual (VPN).

Remote desktop protocol (RDP)

Protocol propietari desenvolupat per Microsoft, que el fa servir en el seu servidor de serveis d’escriptori (terminal services). Incorpora els seus propis sistemes de compressió i xifrat i fa servir el port TCP3389 per defecte per escoltar les peticions al servidor.

Altres protocols

Hi han altres protocols menys coneguts, com ara ICA (Independent Computing Architecture), producte propietari de la companyia Citrix Systems per als seus servidors d’aplicacions, o bé AIP (Adaptive Internet Protocol), protocol propietari que fa servir Sun.

Microsoft té lògicament el seu propi client (terminal services client) però hi ha també clients per a una gran varietat de sistemes operatius (Windows Mobile, Linux, Unix, Mac OS X, Android, etc.).

El servidor X Window

El sistema X Window implementa les funcions necessàries per controlar finestres i dispositius d’entrada com el ratolí o el teclat. Aquest sistema s’utilitza en la major part de versions d’Unix per implementar la interfície gràfica. Val a dir que X Window no defineix com ha de ser aquesta interfície, només permet implementar-la. Escriptoris tan coneguts a GNU/Linux com GNOME, KDE o Xfce utilitzen el mateix sistema X Window malgrat que són escriptoris diferents amb les seves particularitats.

  • Logotip de X Window System/-50
  • Logotip de X Window System

X.Org

És tant la fundació que gestiona el desenvolupament del sistema X Window com la implementació de referència d’aquest sistema. És programari lliure i des del seu inici com a ramificació del projecte XFree86 ha guanyat popularitat. Actualment, és la implementació del sistema X Window emprada en gairebé totes les distribucions GNU/Linux i en altres sistemes operatius.

Entre les característiques pròpies del sistema X Window trobem que és independent del sistema operatiu emprat, només es tracta d’una capa d’aplicació que, des del principi, va ser pensada per treballar en xarxa.

El servei de finestres X Window fa servir el protocol X11 i permet separar en una xarxa l’estació que representa la interfície gràfica de l’estació on s’executa realment l’aplicació, de forma nativa i transparent per a l’usuari. Aquesta característica del sistema de finestres X Window s’anomena també transparència de xarxa.

La figura representa el funcionament d’X Window i il·lustra el comportament de la transparència de xarxa, tot i que, en molts casos, client i servidor gràfic poden estar al mateix ordinador.

Figura Transparència del sistema X Window

En la nomenclatura del sistema X Window, el programari que permet dibuixar finestres rep el nom de servidor X i els programes que obren les seves finestres en el servidor X s’anomenen clients X. Així, el servidor X s’executarà en l’estació local de l’usuari per tal que aquest pugui interaccionar amb la interfície gràfica, l’estació remota que executa una aplicació serà el client X. Aquest ús dels termes servidor i client centrat en el punt de vista del programari sovint despista els usuaris novells. A la figura es pot observar una arquitectura client-servidor; en aquest cas, és el client d’aquesta estructura el que proporciona el servei X Window (el client de l’aplicació fa de servidor de finestres X Window).

Figura Estructura client-servidor des del punt de vista de l’aplicació

La comunicació entre el servidor X i el client X es fa sense cap tipus d’encriptació; per això només es podrà fer servir en xarxes de confiança. En la resta de casos serà necessari emprar SSH per tunelitzar el trànsit del sistema X Window, o bé crear una xarxa privada virtual (VPN).

Configuració d'un servidor X Window

Bàsicament, un servidor X11 representa un terminal gràfic amb els seus propis teclat i ratolí. Per tal que els clients puguin emprar aquest terminal és necessari fer dues accions:

  1. Configurar el servidor X11 perquè permeti la connexió dels clients.
  2. Indicar als programes clients on és el servidor X11.

Configurar un servidor X11 de manera poc curosa és un risc de seguretat molt greu. Qui es connecta al servidor X11 rep missatges amb notificacions, per exemple, de les tecles premudes i dels moviments del ratolí. Així, doncs, cal establir qui es pot connectar a un servidor X11.

Per fer aquesta funció es poden fer servir dos mètodes: xhost i xauth. El primer mètode permet especificar permisos per a diferents equips en indicar-ne l’adreça IP o el seu DNS. Si es concedeix accés a un equip determinat, qualsevol aplicació d’aquell amfitrió (sigui quin sigui el seu usuari) podrà accedir al servidor X11.

El segon mètode està basat en una clau anomenada galeta màgica (magic cookie), que és un conjunt arbitrari de dades que es crea en activar el servei. Cada client que vulgui connectar-se al servidor ha de provar que té coneixement d’aquesta galeta.

Tanmateix, potser l’alternativa més senzilla i eficaç per solucionar la qüestió de la seguretat sigui la utilització d’un túnel fent servir un protocol de xifrat com ara SSH (secure shell).

Per tal de configurar un servidor X11 per permetre connexions dels clients, es poden emprar les ordres xhost i xauth. La primera suposa riscos de seguretat i la segona és confusa d’emprar. Per això, la millor opció és utilitzar SSH per redreçar el trànsit X11.

D’altra banda s’ha d’indicar als programes clients on és el servidor X Window que han d’emprar per obrir les seves finestres. Per fer això disposem de la variable d’entorn DISPLAY. Aquesta variable d’entorn utilitza una cadena amb la sintaxi següent:

  1. host:display.screen

A la taula podeu veure els principals paràmetres de configuració d’un servidor gràfic X11.

Taula Paràmetres de configuració d’un servidor X11
Paràmetre Significat
Host Adreça IP de l’estació on s’executa el servidor X11. Si no es defineix se suposa que es tracta de l’equip local.
:display Nombre de displays dins del servidor X11. Igual que un equip físic pot tenir diferents terminals virtuals (/dev/ttyX), un servidor X11 pot tenir diferents displays. Normalment el primer és :0
.screen Nombre de pantalles dins del display. Normalment no s’especifica, en aquest cas es fa servir la pantalla .0

Exemples

  1. #export DISPLAY=:0

S’està indicant que s’utilitzi el primer terminal gràfic del servidor X de l’equip local.

  1. #export DISPLAY=192.168.0.50:2

S’està indicant que s’utilitzi el segon terminal gràfic del servidor X de l’equip remot amb la IP 192.168.0.50.

  1. #export DISPLAY=192.168.0.50:2.1

S’està indicant que s’utilitzin el segon terminal gràfic i la pantalla 1 del servidor X de l’equip remot amb la IP 192.168.0.50.

Iniciació d'un client X mitjançant SSH

Si el nostre equip està executant un servidor X, podrem establir una sessió SSH en un equip remot per executar allà qualsevol aplicació i que la seva interfície gràfica es representi al nostre servidor X.

Servidors X

Si estem fent servir GNU/Linux, la nostra distribució empaquetarà la versió estable d’un servidor X, probablement X.Org. Per a altres sistemes operatius disposem de programari lliure, com Cygwin/X o Xming, que permeten veure aplicacions gràfiques Unix a l’escriptori de Microsoft Windows.

Aquesta és probablement la manera més senzilla i segura de protegir la comunicació entre servidor i client X Window. En aquest cas SSH s’encarrega de:

  • Tots els procediments criptogràfics necessaris per establir un túnel entre els dos equips i dur a terme l’autenticació de l’usuari remot.
  • Establir el valor adient per a la variable d’entorn DISPLAY de l’equip remot per tal que les aplicacions gràfiques utilitzin el servidor X11 local (és a dir, el que s’executa de manera local en l’estació on hem executat SSH per connectar-nos a l’equip remot).
  • Transportar tot el trànsit X11 protegit dins del túnel SSH.
  • Permetre l’ús del servidor X11 local per a les aplicacions de l’estació remota. Només per a l’usuari propietari de la sessió SSH, no per a la resta de processos dels altres usuaris.

A la figura es mostra una captura de pantalla en què s’ha emprat SSH per iniciar una sessió de treball en una estació remota en la qual s’ha executat el programa GIMP. En aquest cas és important observar que en fer la connexió SSH s’ha indicat el paràmetre -X per tal d’activar el redreçament de trànsit X11.

  1. #ssh -X jmunoz@192.168.56.10 gimp

Figura Execució de GIMP en una estació remota

L’aplicació GIMP s’està executant en l’ordinador servidor remot (en aquest cas ioc-Server). Aquest envia la informació gràfica mitjançant un canal segur SSH a l’ordinador client (que actua com a servidor gràfic X Window) i mostra les finestres resultants a l’usuari.

Cal indicar que el servidor SSH haurà de tenir activat el redreçament del protocol X (normalment està activat per defecte), és a dir que haurà de tenir el paràmetre següent en una línia de l’arxiu de configuració /etc/ssh/ssh_config:

  1. // Activació del redreçament X en /etc/ssh/sshd_config
  2. X11Forwarding yes

La combinació del sistema client-servidor X Window en xarxa amb les característiques de seguretat d’SSH suposa una combinació de flexibilitat, seguretat i facilitat d’ús difícilment igualable per altres tècniques. Tot i així, cal recordar que és important que la xarxa tingui una bona amplada de banda i una latència petita, ja que la comunicació client-servidor genera gran quantitat de peticions-respostes (anomenades en anglès roundtrip) que poden alentir el sistema. Tal com hem comentat, per intentar millorar aquests inconvenients hi ha tecnologies i programes per gestionar connexions X Window amb eficiència, com ara FreeNX.

XDMCP per accedir a escriptoris remots

Normalment, en arrencar un ordinador amb GNU/Linux apareix una pantalla gràfica demanant nom d’usuari i contrasenya per iniciar sessió. Aquest programa, que en cas d’autenticar l’usuari carrega tot l’escriptori, és un administrador de pantalla (display manager). El protocol que controla aquest programa respon a l’acrònim XDMCP (X display manager control protocol o protocol de control d’un administrador de pantalla) i funciona sobre un servidor X Window. Té diferents implementacions, de les quals les més usuals són: gdm per a l’escriptori GNOME, kdm per a l’escriptori KDE, i xdm, el més bàsic per llençar les X.

En la major part dels casos l’administrador de pantalles gestiona un servidor X11 que s’està executant de manera local. Però gràcies al protocol XDMCP també pot gestionar servidors X11 remots. En aquest cas, un equip pot mostrar la benvinguda (demanant usuari i contrasenya) en un equip remot i, després de dur a terme una autenticació positiva, mostrar a l’usuari un escriptori remot, no només la finestra d’una aplicació.

La configuració de tots els elements necessaris és força extensa per tractar-la aquí, però és convenient saber que la transparència de xarxa del sistema X Window permet mostrar tot un escriptori remot, no només les finestres aïllades de les aplicacions remotes.

Virtual network computing (VNC)

VNC és un sistema per veure, i si s’escau també controlar, un escriptori remot. Originalment va ser desenvolupat per Olivetti i hi ha implementacions gratuïtes de les eines que permeten treballar amb VNC en sistemes operatius diferents.

Aquesta aplicació permet accedir des d’un ordinador anomenat client a un altre ordinador anomenat servidor connectats mitjançant una xarxa. Un cop s’ha establert la comunicació, l’equip client pot utilitzar l’equip servidor sense cap limitació, llevat de les imposades per l’amplada de banda de la xarxa. El resultat és una visualització en pantalla de l’equip remot, de l’escriptori i de tots els seus programes.

Figura Execució remota d’un sistema GNU/Linux en dues màquines client amb sistemes operatius diferents

Per aconseguir això, cal instal·lar dos programes: un servidor VNC a la màquina a la qual vulguem accedir i un visualitzador VNC a la màquina client. És possible utilitzar un visualitzador en un sistema operatiu determinat i un servidor en un de diferent. D’aquesta manera, és possible executar un sistema Windows complet des d’un Macintosh o GNU/Linux, o fer qualsevol combinació que puguem imaginar. Com es pot veure a la figura, es pot executar un sistema GNU/Linux des d’un equip amb sistema operatiu Mac OS o Windows.

Funcionament de les aplicacions VNC

VNC fa servir el protocol RFB (remote framebuffer) que està basat en una memòria d’imatge i així pot treballar amb qualsevol sistema de finestres, ja sigui X Window, Windows o un altre. En aquest sistema sempre s’anomena client l’estació en què es troba l’usuari (equip local) i es denomina servidor l’equip que defineix el contingut de la pantalla (equip remot).

Compte! La nomenclatura per definir el client i el servidor és inversa a la que utilitza el sistema X Window.

Tot el sistema està pensat per treballar amb clients lleugers (thin clients) de manera que el client es pugui implementar sense gaires recursos. De fet, tot el protocol i el funcionament del sistema intenten ser molt senzills. El pilar fonamental són les actualitzacions gràfiques que el servidor envia cap al client, en forma de rectangles, per modificar les dades de la memòria d’imatge. Aquests missatges poden emprar diferents directives, però n’hi ha unes de bàsiques que tots els clients i servidors VNC han de conèixer.

Una característica fonamental del sistema VNC és que el client no conserva cap estat. Així és possible tancar un client i tornar-lo a obrir, fins i tot en un altre equip, com si es tractés d’un monitor virtual.

En els sistemes GNU/Linux és possible exportar mitjançant VNC l’escriptori actual o fins i tot un terminal de text, o bé crear un escriptori virtual nou. Els sistemes Microsoft Windows no permeten la creació d’escriptoris virtuals nous, només permeten exportar en xarxa l’únic escriptori disponible. En el moment d’exportar un escriptori es poden definir dues contrasenyes diferents, una per a aquells usuaris que podran controlar de manera remota aquest escriptori i una altra per a aquells usuaris que el podran veure però no interactuar amb el teclat i el ratolí.

El procés per fer servir VNC és el següent:

  1. A l’estació remota cal executar un servidor VNC per exportar l’escriptori de treball o un de nou.
  2. A l’estació local es farà servir un client VNC per interactuar amb el servidor remot.

A la figura es pot veure un esquema d’una connexió VNC a través d’un túnel SSH.

Figura Ús no segur de VNC i ús a través d’un túnel SSH

La major part de servidors VNC inclouen un petit servidor web que ofereix la descàrrega d’una miniaplicació Java que es pot fer servir com a client VNC. D’aquesta manera, en l’ordinador local només cal un navegador compatible amb Java per poder accedir a l’escriptori remot.

Implementacions VNC

Si el desenvolupament original de VNC té algun hereu oficial, és RealVNC. Un producte desenvolupat per la companyia del mateix nom, que està formada per alguns dels desenvolupadors originals. Les eines de RealVNC s’ofereixen amb llicències diferents: l’edició Free, amb llicència GPL, i la resta, amb llicències privatives.

GPL

La llicència pública general (GPL, de l’anglès general public license) és un tipus de llicència per a programari que permet la còpia, distribució (comercial o no) i modificació del codi, sempre que qualsevol modificació es continuï distribuint amb la mateixa llicència GPL. La llicència GPL no permet la distribució de programes executables sense el codi font corresponent.

Una altra implementació força estesa és TightVNC, programari lliure amb llicència GPL que, tot i que és plenament compatible amb les eines originals, introdueix algunes extensions al protocol RFB. Aquestes extensions només es podran emprar en fer servir TightVNC, tant en el client com en el servidor. Entre les extensions introduïdes per TightVNC hi ha codificacions noves que redueixen la càrrega de la xarxa i la possibilitat de transmetre fitxers.

A la taula podeu trobar un llistat dels productes més populars que implementen VNC.

Taula Programaris que implementen VNC
ProgramariCaracterístiques
VNCÉs el programari original. En l’actualitat només s’utilitza com a referència i per a les proves de compatibilitat.
TightVNC Una versió que s’ofereix gratuïtament amb llicència GPL. S’han millorat significativament els algorismes de compressió de VNC i permet la transferència de fitxers.
RealVNCÉs una versió desenvolupada per alguns dels desenvolupadors d’AT&T. L’equip de RealVNC també està oferint-ne una versió empresarial i ha elaborat un producte molt interessant que pretén ser accessible per a qualsevol client VNC.
UltraVNCUltraVNC ofereix una funció de transferència d’arxius, una gestió millorada de la compressió de vídeo i una funció de xat. Recentment s’ha afegit l’opció de controlar una sola finestra del programa en lloc de controlar tot l’escriptori.

Altres eines relacionades amb VNC i que cal destacar són Vino, una eina de GNOME per compartir l’escriptori i que acostuma a incloure Ubuntu. Tenim també diversos clients VNC com Vinagre i el potent client VNC que inclou la distribució Debian anomenat Remmina, que no només és compatible amb el protocol RFB de VNC sinó també amb la tecnologia NX o el protocol RDP de Microsoft Windows.

Programari d'accés remot TightVNC

El programari d’accés remot TightVNC és una de les implementacions de VNC més avançades. Es distribueix amb llicència GPL, la qual cosa permet un accés lliure al seu codi font, a la seva distribució i a la seva instal·lació.

Instal·lació del servidor TightVNC

El paquet del servidor TightVNC s’anomena tightvncserver i per instal·lar-lo només cal escriure el següent a la línia d’ordres:

  1. # apt-get install tightvncserver

Un cop instal·lat ja podem arrencar el servidor VNC, vncserver, juntament amb una sèrie d’opcions.

  1. # vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565

Opcions:

  • :1: indica la pantalla en la qual s’establirà la sessió per fer les connexions remotes.
  • -geometry: estableix les dimensions de la finestra amb què es farà la connexió.
  • -depth: estableix la profunditat dels colors en bits per píxel. Ha de ser un valor entre 8 i 32.
  • -pixelformat: estableix el format de la representació dels píxels.

Contrasenya

Atenció! Hi ha un límit de 8 caràcters per a la contrasenya de TightVNC.

A continuació, el programari ens demanarà dues contrasenyes, la segona de les quals és opcional. La primera és la necessària per permetre l’accés total a l’equip servidor des de l’equip remot. La segona és per permetre només un accés de visualització de l’escriptori.

  1. #You will require a password to access your desktops.
  2. Password:
  3. Warning: password truncated to the length of 8.
  4. Verify:
  5. Would you like to enter a view-only password (y/n)? n

Per aturar el servidor TightVNC es pot fer servir l’ordre vncserver i s’indica la pantalla en què s’ha invocat.

  1. #vncserver -kill :1
  2. Killing Xtightvnc process ID 4223

Instal·lació del client TightVNC

El paquet que permet instal·lar el client TightVNC es diu xtightvncviewer.

  1. # apt-get install xtightvncviewer

A continuació, un cop s’està executant el servidor de TightVNC, es pot fer la connexió des del client remot. S’ha d’indicar l’adreça IP del servidor i la pantalla on està funcionant el servidor.

  1. # vncviewer 192.168.56.10:1

A la figura es pot veure com accedim des del terminal remot (ioc-Client) al servidor d’IP 192.168.56.10 i podem veure com s’obre l’escriptori d’aquest servidor (ioc-Server). Fixeu-vos que hem introduït la contrasenya que permet accedir a la sessió. Si hi haguéssim accedit amb la contrasenya de només visualització, no hauríem pogut navegar pels menús del sistema.

Figura Accés remot mitjançant TightVNC

Accés remot per web i TightVNC

L’accés remot es pot fer també mitjançant un navegador web que sigui compatible amb les miniaplicacions (applets) de Java, com Firefox. Per poder accedir d’aquesta manera, el primer que s’ha de fer és instal·lar al servidor el component que permetrà aquest tipus d’accés.

  1. # apt-get install tightvnc-java

A partir d’aquest moment ja es podrà accedir al servidor a través del servidor web i del port 5801. Cal tenir clar que no serà suficient tenir en compte només el component tightvncjava instal·lat; serà necessari, a més, tenir un servidor web també instal·lat. Per sort, la major part de distribucions GNU/Linux (inclosa Debian) porten instal·lat de manera predeterminada el servidor web Apache.

A la figura podeu veure que, un cop accedim al servidor mitjançant l’adreça http://192.168.56.10:5801, ens demana una contrasenya d’autenticació VNC.

Figura Accés remot mitjançamt un navegador web

Si introduïu bé la contrasenya, i segons si és la que permet accés total o de només visualització, s’accedirà, tal com mostra la figura a una sessió remota.

Figura Inici de sessió remota mitjançant un navegador web

Recordeu que el navegador ha de tenir configurat el component necessari per a l’execució de les miniaplicacions de Java (applets).

Nous clients d'escriptori remot multiprotocol

La tendència actual és que els clients d’accés a escriptoris remots funcionin amb diferents protocols i que per tant es pugui accedir a diferents plataformes i sistemes operatius. És el cas del projecte Remmina, desenvolupat en GTK+ (i per tant compatible amb els escriptoris GNOME i XFCE), que permet fins i tot mantenir diferents connexions de manera simultània.

Remmina és un client d’escriptori remot que està incorporat per defecte en les darreres versions de Linux Debian i que és compatible amb els protocols RDP (Microsoft Windows), RFB (plataforma VNC), XDMCP (protocol de gestió de finestres X), NX i SSH, entre d’altres.

Gestió remota mitjançant una aplicació gràfica local

Una aproximació diferent a l’administració d’equips remots consisteix a executar una aplicació local amb interfície gràfica que permeti gestionar l’estació remota. El gran avantatge d’aquesta aproximació rau en el fet que, atès que l’usuari interactua amb una aplicació local, el retard en la xarxa no suposa cap problema a l’hora de treballar. A més, com que es tracta d’una aplicació local, la interfície gràfica serà coneguda per l’usuari i no es donarà la situació, desconcertant per a usuaris no tècnics, d’haver de commutar entre la interfície de l’equip local i la de l’equip remot.

Aquesta solució s’utilitza amb molta freqüència per administrar petits equips de xarxa domèstics, als quals el fabricant de l’equip proporciona un programari de gestió remota. El problema d’aquesta solució és que evidentment el programari de gestió s’haurà d’executar de manera nativa en el sistema operatiu de l’estació de l’usuari, que en principi és diferent per a usuaris diferents.

L’ús més adient d’aquest enfocament és emprar un navegador web com a eina d’administració remota. És raonable suposar que, sigui quin sigui el sistema operatiu de l’usuari, aquest disposarà d’un navegador web. En aquest cas el fabricant del dispositiu implementarà una interfície web d’administració que permetrà la gestió del dispositiu per a tots els seus usuaris. Avui dia la major part de dispositius de xarxa, com ara els commutadors, les impressores o els punts d’accés, incorporen una interfície web per a la seva administració.

Fins i tot és possible administrar servidors complets a través del web, fent servir eines com Webmin.

Introducció a Webmin

Webmin és una aplicació que permet administrar un servidor Unix/Linux de manera remota mitjançant qualsevol navegador web modern.

Es tracta de programari lliure amb llicència GPL, escrit en Perl i que es pot executar en sistemes operatius com GNU/Linux, OpenSolaris i FreeBSD.

Un cop instal·lat i en funcionament, Webmin proporciona una interfície web (normalment accessible al port 10000) per administrar un gran ventall d’opcions en l’equip i els seus serveis. Es tracta d’una aplicació modular que permet la gestió de diferents àrees en funció dels mòduls instal·lats. En la distribució estàndard s’hi inclouen mòduls que permeten gestionar des del sistema operatiu (usuaris, quotes de disc, processos) fins als serveis de xarxa (Apache, Bind, Samba, etc.). I tot, amb una interfície web molt intuïtiva per a l’usuari.

Perl

És un llenguatge de programació dinàmic, dissenyat per Larry Wall i disponible en moltes plataformes diferents. Es tracta d’un llenguatge de propòsit general amb el qual es poden implementar tot tipus d’aplicacions. Però la construcció d’aplicacions web dinàmiques i l’administració de sistemes són dues especialitats que no es poden discutir. En molts sentits Python és una alternativa més moderna a Perl, malgrat que no treu cap vigència a Perl. Tots dos són eines excel·lents.

Instal·lació de Webmin

A la pàgina de Webmin (www.webmin.com) es pot descarregar l’aplicació en diferents formats inclòs Debian (.deb). Atès que es tracta d’una aplicació escrita en Perl, no hi ha cap dependència d’una arquitectura específica. Només necessitarem tenir instal·lat un intèrpret de Perl amb les seves dependències. Potser la manera més senzilla d’instal·lar-lo és mitjançant l’ordre aptitude:

  1. # aptitude install webmin

La instal·lació es fa automàticament al directori /usr/share/webmin i, un cop instal·lat, la interfície web estarà disponible al port TCP 10000. L’usuari administrador de Webmin serà el superusuari (root) amb la seva contrasenya.

Webmin pot funcionar mitjançant HTTP i HTTPS; després de la instal·lació inicial, només estarà disponible l’accés mitjançant HTTPS.

Podem treballar en mode local fent servir Webmin per administrar el propi equip. Per fer això només caldrà obrir un navegador web i dirigir-lo a l’adreça https://localhost:10000 (o bé https://127.0.0.1:10000). Si volem accedir de forma remota des de un altre ordenador connectat en xarxa cal substituir localhost per l’adreça IP de l’equip que volem administrar, sempre, lògicament, que aquest tingui iniciat el servei Webmin.

A la figura podrem observar la pàgina d’inici de sessió per a Webmin que s’està executant de manera local, després d’haver-nos identificat com a superusuari.

HTTP i HTTPS

La diferència entre aquests dos protocols és que el segon consisteix a fer servir HTTP combinat amb SSL (secure socket layer), per tal d’encriptar tota la informació transmesa.

Figura Pàgina d’entrada a Webmin

Un cop instal·lat Webmin, el fitxer /etc/init.d/webmin ens permetrà engegar i aturar l’aplicació com qualsevol altre servei (directives start, stop, restart).

Funcions de Webmin

Webmin és una aplicació modular que aporta una gran funcionalitat. Les diferents opcions s’exposen mitjançant una interfície clara i intuïtiva disponible en diferents idiomes.

Segurament, una de les primeres accions que fareu dins de Webmin serà configurar l’idioma de la interfície. Aquesta interfície està disponible en molts llenguatges diferents, que es poden seleccionar de manera individual per a cada usuari de l’aplicació o de manera general per a tota l’aplicació. Juntament amb l’idioma es pot seleccionar l’aspecte visual de la interfície. Aquests canvis es poden fer a Webmin > Change Language and Themeper a l’usuari actual, com es mostra a la figura.

Figura Opcions d’idioma i aspecte per a la interfície de Webmin

Les opcions de la interfície estan agrupades dins de pestanyes generals, que podeu trobar a la taula.

Taula Opcions de Webmin
Pestanya Funcions
Webmin Configuració general de l’aplicació: idioma, aspecte, usuaris i fitxers de registre de Webmin. Permet gestionar configuracions exportant un fitxer i tornant-lo a carregar.
Sistema Administració del sistema informàtic en el qual s’executa Webmin. Des del control d’usuaris, les quotes de disc, les tasques periòdiques i la gestió de paquets fins a les còpies de seguretat.
Servidors Mòduls per administrar els diferents serveis que es poden executar en l’equip. Alguns del més corrents són: Samba, Postix, OpenSSH, Squid, etc.
Altres Permet gestionar fitxers, comprovar el funcionament dels serveis, instal·lar/desinstal·lar programari i fins i tot establir connexions Telnet/SSH des del mateix navegador al servidor.
Xarxa Configurar tots els paràmetres de xarxa de l’equip i els seus adaptadors. A més, permet configurar, entre d’altres, el tallafocs o la monitorització dels adaptadors de xarxa.
Maquinari Permet gestionar tot el maquinari: impressores, particions, RAID, gestor d’engegada GRUB, etc.
Cluster Permet gestionar de manera unificada un grup d’equips que executen Webmin.

Tendències actuals de l'accés i administració remota d'equips

El món globalitzat i intercomunicat mitjançant Internet ha fet possible pensar en els programes d’aplicació com a serveis disponibles no en el propi ordinador sinó en el “núvol”, entès com a metàfora de la xarxa global.

Quan es parla de computació en el núvol es refereix a l’accés a recursos i serveis des de qualsevol lloc, fer servir programari específic d’aplicació de forma remota mitjançant la interfície del mateix navegador d’Internet i emmagatzemant les dades en servidors externs.

Tot això fa que l’accés i l’administració remota prenguin una nova dimensió on els recursos, programes, potència de càlcul, sistemes d’emmagatzematge, etc. poden estar distribuïts i intercomunicats en qualsevol lloc de la xarxa.

Dos exemples que il·lustren aquesta tendència:

El projecte eyeOS va néixer de la mà d’un grup de joves programadors d’Olesa de Montserrat (Baix Llobregat) l’agost de 2005 i ha obtingut un gran èxit i reconeixement internacional.

  • Chrome Remote Desktop: Es tracta d’una extensió de Chrome, el navegador de Google que permet accedir a l’escriptori des de qualsevol lloc. L’usuari pot connectar-se i gestionar diferents equips, sigui quina sigui la seva plataforma i el seu sistema operatiu, mentre disposin de navegador Chrome. Per tant, no cal la instal·lació de cap programa addicional.
  • eyeOS és un escriptori virtual, multiplataforma i de codi lliure que inclou tota la estructura d’un sistema operatiu i algunes aplicacions ofimàtiques. El continguts, arxius i programes que conformen aquest sistema operatiu es troben en servidors privats o públics a la xarxa i es pot accedir als seus recursos des de qualsevol navegador web modern.
Anar a la pàgina anterior:
Exercicis
Anar a la pàgina següent:
Activitats