Servicios en RED Resumen.

Las redes de ordenadores permiten albergar infinidad de servicios dependiendo de lo que necesitemos hacer en la red, hoy en día existen protocolos para enviar y recibir casi cualquier clase de información, ya sean correos, retransmisión de vídeo, conferencias…
En este post trataremos de hacer un recuento de tipos de servicios en red y software para efectuar tal propósito.

Entendemos por servicio de red como la creación de una red de trabajo en un ordenador. Es decir, un servicio instalado en una maquina que provee a los clientes que se conecten a él. Generalmente los servicios de red son instalados en uno o más servidores para permitir el compartir recursos a computadoras clientes.

Para empezar nuestro artículo sobre servicios en red, creo que es importante saber qué es un RFC, ya que de ahí sacaremos muchísima información acerca de los protocolos que sustentan nuestros servicios de red. Las RFC son una serie de publicaciones que realizan el grupo de trabajo e ingeniería de internet (IETF) con el objeto de que sea valorado por el resto de la comunidad, de hecho de ahí viene el nombre del acrónimo Request For Comments. En resumidas cuentas, una gran parte de conocimiento de cómo funcionan las redes o como se comunican entre sí los distintos servicios en red se encuentra en estas publicaciones, las cuales deben ser oro puro para cualquier administrador de redes.

DNS(Domain Name System): Es el servicio de resolución de nombres de dominio, es decir, es el servicio que asigna direcciones IP a nombres alfabéticos. Al comienzo de la historia de este protocolo era una empresa llamada SRI la encargada de guardar en un fichero llamado HOSTS todos los nombres de dominio conocidos, debido al gran boom que produjeron los ordenadores en aquella época, el método ofrecido por SRI no era muy eficiente así que en 1983 se publicaron las primeras RFC relacionadas con sistemas de nombres de dominios hasta que finalmente en 1987 publicaron los RFC con los que se sustentan los servicios DNS en la actualidad.

  • Windows: Para obtener esta característica en Windows Server necesitamos activarla en el apartado «Agregar Funciones» , clickeamos en la casilla de verificación de la lista de funciones a instalar la función de DNS.
  • GNU/Linux: Para sistemas basados en UNIX tenemos el servidor DNS Bind, cuya versión actual es la 9. Con Bind podemos montar un servidor DNS casi en cualquier máquina que pueda correr GNU/Linux, ocupa poco espacio, y aunque es complicado configurarlo, es la opción más estable conocida.

DHCP(Dynamic Host Configuration Protocol): Es un protocolo de red diseñado para asignarle adecuadamente las direcciones IP en una red de manera automática. Este protocolo fue publicado en octubre de 1993 y su implementación figura en el RFC-2131.

  • Windows: Para poder tener corriendo un servidor DHCP no necesitamos tener un sistema de la familia «Windows Server» (aunque existan módulos que ya incorporan estos sistemas, míralo aquí), podemos montarlo fácilmente en sistemas Windows7 o WindowsXP con Open DHCP Server.
  • GNU/Linux: Para los usuarios de Linux podemos usar isc-dhcp-server, el cual podréis encontrar en vuestros repositorios con el comando:
    apt-get install isc-dhcp-server
    También existe una versión de Open DHCP Server para GNU/Linux.

NTP (Network Time Protocol): Es un protocolo de red usado para sincronizar los relojes de los distintos sistemas infomáticos. El tipo de tráfico que admiten estos servicios es UDP, generalmente a través del puerto 123. El principal problema de los servicios sustentados con UDP, radica en que pueden ser vulnerables por el protocolo que utilizan. El protocolo UDP no autentica al cliente (a diferencia del TCP y su «three way handhake»), por tanto podría ser vulnerable a ataques en los que se podría falsear la dirección de destino y provocar una denegación de servicio,¿Cómo es posible esto? Aquí os dejo un enlace con algo más de luz sobre el tema.

  • Windows: La familia Windows Server dispone de W32Time, la herramienta del Servicio de hora de Windows necesaria para el protocolo de autenticación Kerberos. Encontrarás más información en este enlace.
  • GNU/Linux: Para Linux disponemos del paquete ntp, disponible en los repositorios de debian y ubuntu, la instalación es tan simple como introducir el comando:
    apt-get install ntp

NFS(Netwrok File System):  Proporciona un medio para compartir archivos a aquellas personas que usen un entorno mixto de Windows y GNU/Linux. NFS permite que los usuarios transfieran archivos entre equipos que ejecutan el sistema operativo Windows y equipos con GNU/Linux.
La implementación usada para la última versión (la 4) del protocolo está en el RFC-3530.

  • Windows: En Windows 2008 Server podemos encontrar el acceso directo a la configuración en Inicio >> Herramientas Administrativas >> Servicios para Network File System
  • GNU/Linux: En este sistema viene integrado en todas sus versiones, aunque para compartir archivos con windows necesitaréis samba, incluido en los repositorios. Samba permite a los usuarios de una red en Linux poder conectarse a sistemas de ficheros en red de máquinas Windows.

SNMP (Protocolo Simple de Administración de Red) Es un protocolo destinado principalmente al intercambio de información de administración entre dispositivos de red. En resumidas cuentas, es un protocolo de la capa de aplicación (modelo OSI) que permite a dispositivos en una red comunicarse entre sí. Para su implementación necesita tres componentes principales: Un dispositivo administrado, un agente y un sistema administrador de red.

  1. Un dispositivo administrado es un dispositivo que contiene un agente SNMP y reside en una red administrada. Estos recogen y almacenan información de administración, la cual es puesta a disposición de los NMS’s usando SNMP. Los dispositivos administrados, a veces llamados elementos de red, pueden ser routers, servidores de acceso, switches, bridges, hubs, computadores o impresoras.
  2. Un agente es un módulo de software de administración de red que reside en un dispositivo administrado. Un agente posee un conocimiento local de información de administración (memoria libre, número de paquetes IP recibidos, rutas, etcétera), la cual es traducida a un formato compatible con SNMP y organizada en jerarquías.
  3. Un sistema administrador de red (NMS) ejecuta aplicaciones que supervisan y controlan a los dispositivos administrados. Los NMS’s proporcionan el volumen de recursos de procesamiento y memoria requeridos para la administración de la red.

PROXY: Un servidor proxy es un software que forma parte de un sistema informático destinado a enmascarar y ocultar direcciones IP mediante su dirección propia. Es decir, un equipo (A) que quiere conectarse a otro equipo (C), para enmascarar su conexión hace pasar sus peticiones por un servicio proxy (B). Hay un artículo publicado en este blog explicando los 5 métodos mas usados de conexiones a través de proxys en este enlace.

  • Windows: En este sistema podemos montarnos un servidor proxy gracias al software CCProxy, el cual está disponible en este enlace. Aunque el producto descargable es una demo, permite un máximo de 3 usuarios para poder probarlo. Si no nos gusta CCProxy también tenemos WinGate entre otras opciones.
  • GNU/Linux: Para este sistema el más recomendado es el servidor proxy por excelencia, el SQUID (Calamar), este programa es software libre, y está publicado bajo licencia GPL. Este programa está en los repositorios de Debian y se puede instalar con el comando:
    apt-get install squid
    Este software, aunque está planteado para funcionar en plataformas UNIX, es posible realizar una instalación en Windows instalando algunos paquetes extras.

TELNET: Uno de los protocolos de red más antiguos que existen, gracias a este protocolo sin cifrado podías conectarte remotamente a una máquina para administrarla, todavía es muy usado para configuraciones en routers. Al no estar encriptado la comunicación telnet se puede usar un sniffer y capturar perfectamente con wireshark pudiendo ver en texto plano los usuarios y contraseñas que enviamos a la red.

  • Windows: En windows es posible gracias a que viene preinstalado en las versiones Windows 7, Windows Server 2008, Windows Server 2008 R2 y Windows Vista. Se requiere ser miembro del grupo local Administradores. Para habilitarlo tenemos que irnos a «Panel de Control» y en el menú de «Programas» buscar «Activar o desactivar características» una vez ahí tenemos que seleccionar el servidor telnet y hacer click en «Aceptar».
  • GNU/Linux: En linux tenemos dos paquetes principales, el cliente (telnet) y el servidor (telnetd) ambos están en los repositorios oficiales de Debian.

FTP(File Transfer Protocol): Es un protocolo de red destinado a la transferencia de ficheros. Este protocolo no está cifrado aunque se le puede añadir una capa de cifrado con el servicio SVFTP( ftp con una capa de SSL).

Desde su creación en abril de 1971, el protocolo FTP ha sido el protocolo estándar utilizado para transferir archivos entre equipos remotos. Los desarrolladores del protocolo de transferencia de archivos (FTP) tenían que equilibrar la necesidad de un conjunto completo de funcionalidades con el deseo de crear un protocolo que fuera simple y fácil de implementar.

File Transfer Protocol (FTP) versión RFC 959, fue publicado en octubre de 1985 dando la posibilidad de modificar el FTP original, añadiendo varios  comandos nuevos.

  • Windows: Tenemos distintos software para poder implementarlo, en 2008 Server tenemos una función específica para este servicio, para ello necesitamos habilitar IIS-Server y dentro de el habilitar la publicación FTP. Si no estas usando Windows Server también hay software destinado a plataformas Windows7, Vista… Un ejemplo es FreeFTPd, BulletProofFTP o el famoso Filezilla Server.
  • GNU/Linux: Podemos usar ProFTPd o FileZilla Server en su defecto, ambos libres y open source. Los paquetes necesarios para instalarlos figuran en los repositorios de Debian.

SSH(Secure SHell): Es el servicio de shell(consola) remota por excelencia, permite configuraciones de seguridad tales como impedir el acceso con el usuario root, acceder con un certificado en vez de un password, listas de control de acceso para restringir o permitir rangos de direcciones IP’s y además la comunicación va cifrada por defecto. Con SSH también se puede obtener un servicio parecido al proxy con túneles SSH.

  • Windows: En la familia de servidores tenemos que habilitar la función de Terminal Server, conforme vayamos avanzando en el menú de agregar funciones podremos ir configurando opciones como los métodos de autenticación, etcétera. Si estamos bajo Windows7 o similar debemos instalarnos un programa aparte, como por ejemplo FreeSSHD.
  • GNU/Linux: El software más usado en este sistema es openssh-server, es un programa SSH open source, publicado bajo licencia GPL. Figura en los repositorios de Debian, por tanto su instalación se podría realizar con un simple comando:
    apt-get install openssh-server

EMAIL: Dentro de lo que abarca el servicio de correo electrónico podemos encontrar tres protocolos fundamentales: SMTP, POP3 e IMAP. Es el servicio más antiguo, más incluso que el propio internet. El correo electrónico no nace realmente hasta la creación de ARPANET, el antecesor de Internet. Fue en el año 1971 cuando un ingeniero (Ray Tomlinson), quien, trabajando para “Bolt Beranek y Newman Technologies”, se envió a sí mismo el primer email de la historia. Hoy en día ha adquirido semejante importancia que los servicios de correspondencia tradicionales han tenido que centrar su modelo de negocio en la paquetería y el resto de servicios postales.

  • Windows: Podemos usar para su familia de servidores su software llamado Microsoft Exchange, si no disponemos de un windows server, existen otros servidores de correo aparte que podemos instalar como Mercury, que ofrecen toda clase de opciones, como webmail o poder clasificar los correos en varias bandejas.
  • GNU/Linux: Podemos usar Postfix, otro clásico que comenzó su desarrollo hace 16 años, aunque a diferencia del anterior es conocido por ser, además de potente y versátil, por otro lado también tenemos Courier, otra opción de lo más interesante y de las más completas, ya que aparte de servidor incluye otras herramientas como webmail o calendario.

HTTP (Hyper Text Transfer Protocol): El protocolo destinado a servicios web, el servicio http nativo no viene cifrado, por tanto con un sniffer de red podemos capturar los datos de navegacion de quien este usando nuestra red, no obstante se le puede añadir una capa de cifrado SSL, pasando a llamarse HTTPS y que encripta y securiza las comunicaciones que tengamos con el servidor. La primera versión se publicó en mayo de 1996.

  • Windows: En máquinas Windows Server podemos emplear su función IIS-Server destinada para tal propósito, en caso de estar bajo Windows7 y derivados podéis usar apache para windows.
  • GNU/Linux: Hay dos software principales para servir páginas web en linux, uno es el famoso Apache Server, el cual incorpora una gran cantidad de utilidades para configurar seguridad, disponibilidad, accesibilidad y escalabilidad, el principal inconveniente es el excesivo consumo de memoria una vez esta totalmente configurado con todos sus módulos. El otro software principal se llama NGINX, éste a diferencia de Apache Server consume menos memoria, y necesita menos máquina para funcionar con soltura, también posee bastantes modulos para poder configurarlo como queramos.

P2P(Peer To Peer): Es un protocolo de transferencia de ficheros entre usuarios que están dentro de la red P2P, la cual está integrada por software de tipo Emule o Torrent. Su forma de actuar es formando una red con cada uno de los usuarios que la usen, todos esos usuarios compartirán una parte de su disco duro desde donde otros usuarios podrán descargar partes del fichero que tenga publicado. Principalmente el servicio de red lo ofrece el «Tracker» que es el encargado de conectar a los que quieren descargar un fichero con los que lo tienen en su disco. Pero como está la ley, mejor centrarse en los clientes P2P

  • Windows: Podemos usar Azureus, Bitcomet, Emule, Edonkey…
  • GNU/Linux: Podemos usar distintos software, Transmission, BitTorrent…

CLOUD: Servicio de nube, es un servicio usado para mantener sincronizados archivos en internet desde una o varias máquinas, se usa principalmente para archivos que necesiten alta disponibilidad, backups online, o servicios de computación en la nube.
En este caso el servicio open source por excelencia de cloud puede ser instalado tanto en Windows como en GNU/Linux, hablamos de OWNCloud, está disponible para su descarga justo aquí. Los usuarios de Windows encontrarán bastante interesante estas notas de instalación ya que el proceso puede ser un poco tedioso.

STREAMING (RADIO): Esta clase de servicio se usa para emisiones de radio a través de internet, el principal problema de los usuarios suele ser la poca velocidad de subida, lo que hace que no puedas tener muchos clientes conectados simultáneamente.

  • Windows: no existen complementos integrados en la familia de servidores de windows, pero podemos encontrar complementos como «Shoutcast», un plugin del reproductor winamp que nos permite montarnos nuestra emisora de radio con unos simples pasos.
  • GNU/Linux: En este caso tenemos alternativas opensource como GNURadio, IceCast, CampCaster o el mas conocido: AirTime.

VOIP(Voz sobre IP): Es un protocolo destinado a la transferencia de voz a través de internet, es decir, llamar por teléfono por internet. Aqui podemos encontrarnos software destinado a PBX para conectar teléfonos a través de internet o software destinado a interconectar usuarios por vos a través de internet.

  • Windows: En windows podemos usar distintos clientes que nos permiten entablar conversaciones vía Voz IP como Skype, Teamspeak. Si lo que queremos es configurarnos una PBX, podemos usar software destinado para tal propósito como Axon.
  • GNU/Linux: Podemos configurarnos una PBX con asterisk, o podemos configurarnos un servidor VozIP más sencillo con Mumble, cuyo paquete está en repositorios y se llama mumble-server, este software por defecto cifra la conversación y no necesita mucho ancho de banda para funcionar correctamente.

CHAT:

  • XMPP: Se trata de un protocolo de mensajería instantanea y extensible, está basado en XML. Tras varios años de su existencia, ha sido adoptado por empresas como Facebook, Tuenti, WhatsApp Messenger y Nimbuzz, entre otras, para su servicio de chat. El software más famoso es prosody.
  • IRC (Internet Relay Chat): Es el protocolo de mensajería instantánea mas antíguo, en la actualidad se sigue usando y en España tenemos un montón de comunidades sustentadas a base de IRC como el famoso IRC-Hispano. Este protocolo fue creado en verano de 1988 para buscar un sustituto al software MUT (Multi User Talking). Para tener nuestro servidor de irc debemos instalar el paquete NGIRCD.

VIDEOJUEGOS EN RED: Uno de los servicios de red más famoso y extendido es precisamente el juego online, cuando desde a principios de los 90 las personas deseaban conectarse a internet para jugar unos contra otros. Con el tiempo han ido saliendo más juegos, y todos los que incorporan la capacidad de multijugador tienen su propia aplicación y no siguen un estándar común, si no que cada juego monta su servicio de red.

  • GNU/Linux:0ad: Juego de estrategia en tiempo real, es la versión opensource del famoso Age Of Empires 2, se pueden conectar hasta de 2 hasta 8 jugadores en red para recrear batallas medievales.ArmagetronAD: Es un juego de velocidad y habilidad ambientado en las motos de la película TRON, este servicio puede conectar a varios jugadores y dividirlos en equipos.
  • Windows:Diablo 2: Juego de ROL con posibilidad de jugar individualmente u organizar partidas en red.Counter Strike: Juego de acción en primera persona, de los más conocidos, permitía jugar realizando duelos por equipos que se distinguían entre Polis y Terroristas. Permitía tanto redes de área local como jugar a través de internet.