Servicios Web, Redes y Seguridad: Guía Práctica para Entornos Empresariales

 ¿Qué es el servicio web?


Un servicio web es una aplicación que proporciona información o funcionalidades a través de Internet, utilizando protocolos estándar como HTTP (Hypertext Transfer Protocol) y tecnologías como XML (Extensible Markup Language) y JSON (JavaScript Object Notation).

 


Según la Organización Mundial de la Web (W3C):

 "Un servicio web es una aplicación que proporciona una interfaz programática para acceder a recursos o servicios en la web." (W3C, 2004)

 

Características clave de los servicios web:

  • Acceso remoto
  • Comunicación mediante protocolos estándar
  • Interoperabilidad entre sistemas y lenguajes
  • Reutilización de funcionalidades

 

Tipos de servicios web:

1. Servicios web de tipo REST (REpresentational State of Resource)

2. Servicios web de tipo SOAP (Simple Object Access Protocol)


¿Qué programas son los más utilizados a nivel mundial como servicio web?



Los programas más utilizados a nivel mundial como servicio web incluyen:


  • Amazon Web Services (AWS): Es uno de los servicios web más populares y ampliamente utilizados, ofreciendo una variedad de herramientas y servicios para desarrolladores y empresas.


  • Google Web Service: Otro gigante en el mundo de los servicios web, ofrece una amplia gama de servicios y herramientas para desarrolladores y empresas.

  • JBoss: Un servidor de aplicaciones open source para servicios web, ampliamente utilizado en entornos empresariales.


  • Oracle Fusion Middleware: Una plataforma integral para servicios web, que ofrece herramientas para desarrolladores y empresas.


  • IBM Lotus Domino: Un servidor de aplicaciones para servicios web, conocido por su estabilidad y seguridad.


  • Axis y Jakarta Tomcat: Servidores de aplicaciones open source para servicios web, ampliamente utilizados en entornos empresariales.


  • Microsoft .NET: Una plataforma para servicios web, que ofrece herramientas y servicios para desarrolladores y empresas.


  • Novell exteNd: Un servidor de aplicaciones para servicios web, basado en la plataforma J2EE.


  • WebLogic: Un servidor de aplicaciones para servicios web, conocido por su estabilidad y seguridad.


  • Zope: Un servidor de aplicaciones web orientado a objetos, desarrollado en Python .

 

Estos programas son ampliamente utilizados debido a su estabilidad, seguridad y capacidad para ofrecer servicios web escalables y confiables. 


¿Qué relación tiene con los servicios de hosting?



Los servicios web y los servicios de hosting están rigurosamente relacionados, ya que los servicios web se hospedan en servidores que proporcionan acceso a Internet y ambos son fundamentales para la operación de aplicaciones y sitios web en Internet.


Almacenamiento y Accesibilidad: Los servicios de hosting proporcionan el espacio necesario en servidores para almacenar las aplicaciones y datos que componen un servicio web. Sin un hosting adecuado, un servicio web no podría ser accesible a los usuarios en línea.


Interoperabilidad: Los servicios web permiten que diferentes aplicaciones se comuniquen entre sí, mientras que el hosting asegura que estas aplicaciones estén disponibles en un entorno accesible. Esto significa que un servicio web puede interactuar con otros servicios o aplicaciones hospedadas en diferentes servidores.


Tipos de Hosting: Existen diferentes tipos de hosting (compartido, VPS, dedicado, en la nube) que pueden ser seleccionados según las necesidades del servicio web. Por ejemplo, un servicio web con alta demanda puede requerir un hosting dedicado para garantizar rendimiento y disponibilidad.


Mantenimiento y Seguridad: Los proveedores de hosting suelen ofrecer características adicionales como seguridad y mantenimiento, lo que es crucial para la operación continua de los servicios web. Un buen servicio de hosting incluye soporte técnico y medidas de seguridad que protegen tanto los datos como las aplicaciones.


¿Qué es el servicio samba?


Samba es un proyecto de software libre que implementa el protocolo de archivos compartidos de Microsoft Windows (anteriormente conocido como SMB, ahora CIFS) para sistemas operativos tipo UNIX. Esto permite que computadoras con GNU/Linux, Mac OS X o Unix en general se comuniquen y compartan archivos y recursos con redes basadas en Windows.


¿Qué utilidad tiene en la red?


Su utilidad principal en la red es permitir que computadoras con sistemas operativos Unix o Linux puedan compartir archivos e impresoras con computadoras que utilizan Windows.


Esto es posible gracias a la implementación del protocolo Server Message Block (SMB), también conocido como Common Internet File System (CIFS)


Compartición de archivos: Permite a los usuarios compartir carpetas y archivos en una red, facilitando el acceso y la colaboración entre diferentes sistemas operativos.

 

Compartición de impresoras: Permite que impresoras conectadas a un servidor Unix o Linux sean accesibles desde dispositivos Windows.


Administración de permisos: Samba permite configurar permisos de acceso a los recursos compartidos, asegurando que solo los usuarios autorizados puedan acceder a ciertos archivos o impresoras.


¿Qué relación tiene con el sistema operativo Windows?



Samba implementa el protocolo SMB/CIFS, que es el mismo protocolo utilizado por Windows para compartir archivos e impresoras. Esto significa que Samba puede actuar como un servidor o cliente en una red de Windows, permitiendo la comunicación y el intercambio de recursos entre sistemas operativos diferentes.


¿Qué es una intranet? 


Una Intranet es una red en línea privada y segura en la que los empleados pueden crear contenidos, comunicarse, colaborar, gestionar tareas y eventos y desarrollar la cultura de la empresa. Es el ecosistema de comunicación interna que impulsa la productividad de toda su empresa. Es la base de la empresa, el punto de contacto del equipo, el repositorio central, la herramienta de comunicación multifuncional y mucho más. Al igual que un ecosistema de comunicación interna, una intranet es mucho más que la suma de sus partes.

En 2019, Gartner publicó una investigación titulada “Las intranets Tradicionales Están Muertas – Las Intranets Modernas Están Vivas y Bien”. En ella, se decía,

 

“Muchas intranets tradicionales son rancias y anticuadas, y muchas están esencialmente muertas, pero las intranets modernas han evolucionado para ser un ingrediente clave en las estrategias digitales del lugar de trabajo. Si su intranet está en desuso, ya es hora de que la transforme en una moderna” (Gartner, 2019)


¿Qué relación tiene esta red con el servicio web, samba y proxy?


Servicio web: Las intranets a menudo utilizan servicios web para proporcionar aplicaciones y recursos a los empleados. Los servicios web permiten la integración de diferentes sistemas y aplicaciones dentro de la intranet, mejorando la eficiencia y la productividad.


Samba: Samba permite la interoperabilidad entre sistemas Unix y Windows, lo que es útil en una intranet donde se utilizan ambos tipos de sistemas operativos. Esto facilita el intercambio de archivos y la compartición de recursos en la red interna.

 

Proxy: Un servidor proxy puede ser utilizado en una intranet para mejorar la seguridad y el rendimiento. El proxy actúa como intermediario entre los usuarios y los servicios web, filtrando el tráfico y mejorando la velocidad de acceso a los recursos.


Acorde a lo anterior ¿Las aplicaciones basadas en entorno web considera que deberían ser implementadas en la nube o de forma local?


Las aplicaciones basadas en entorno web pueden ser implementadas tanto en la nube como de forma local, pero cada opción tiene sus ventajas y desventajas que deben ser consideradas según las necesidades específicas de la organización.



Implementación en la nube:


Escalabilidad: Las aplicaciones en la nube pueden escalar fácilmente en función de la demanda. Si el número de usuarios o la carga de trabajo aumenta, es más sencillo ajustar los recursos.

 

Costos: La nube puede reducir costos de infraestructura y mantenimiento, ya que no es necesario invertir en hardware físico.

 

Accesibilidad: Las aplicaciones en la nube están disponibles desde cualquier lugar con conexión a internet, lo que es ideal para trabajos remotos y equipos distribuidos.

 

Seguridad: Los proveedores de servicios en la nube suelen ofrecer medidas de seguridad avanzadas y actualizaciones regulares.


Implementación local:


Control: Implementar aplicaciones de forma local ofrece mayor control sobre los datos y la infraestructura, lo cual es crucial para organizaciones con requisitos estrictos de privacidad y seguridad.

 

Latencia: Las aplicaciones locales pueden ofrecer tiempos de respuesta más rápidos, ya que no dependen de la conexión a internet.

 

Personalización: Las soluciones locales permiten una personalización más profunda del entorno y la configuración de las aplicaciones.


En general, las soluciones basadas en la nube son preferidas por su agilidad, costos reducidos y facilidad de acceso, mientras que el software local puede ser adecuado para organizaciones que requieren un control total sobre sus datos y sistemas.


¿Qué es un servicio Proxy? 


Proxy es una herramienta conocida por proporcionar anonimato en Internet al ocultar la dirección IP pública del usuario. Estas aplicaciones funcionan como intermediario entre la comunicación de un navegador con Internet. En lugar de hacer una solicitud de forma directa para, por ejemplo, acceder a una página web, con un proxy la solicitud se envía a un servidor proxy que luego enviará la solicitud para acceder al sitio desde una IP diferente. Como se ilustra en la siguiente imagen, la computadora necesita pasar por el servidor proxy para acceder a Internet.


¿Para qué sirve un servidor proxy?


En este caso, el proxy puede cumplir algunas de las siguientes funciones:
Control de acceso: es posible que los administradores del servidor proxy permitan que ciertos usuarios tengan o no acceso a Internet a través de restricciones en su propio inicio de sesión o direcciones IP, proporcionando al entorno una capa adicional de protección.

Filtrado de contenido: al estar en el medio del camino, el servidor también permite, o no, el acceso a ciertos sitios. Entre las reglas que se pueden aplicar están aquellas para bloquear sitios web específicos, pudiendo llegar a bloquear categorías completas.


¿Qué utilidad tiene en una red? 


Seguridad: Un proxy puede filtrar el tráfico entrante y saliente, protegiendo la red contra amenazas como malware y ataques cibernéticos.
 
Privacidad: Oculta la dirección IP de los dispositivos de la red, proporcionando anonimato a los usuarios.
 
Caché: Almacena copias de páginas web visitadas, lo que puede acelerar el acceso a esos recursos en futuras solicitudes.
 
Control de contenido: Permite a los administradores de red bloquear acceso a sitios web no deseados o inapropiados.
 
Equilibrio de carga: Distribuye el tráfico de red entre varios servidores, mejorando el rendimiento y reduciendo la sobrecarga.

¿Por qué es útil en la empresa?


Dado que Turrisystem tiene recursos limitados y ha optado por implementar servicios basados en FOSS, un servidor proxy puede ser una solución eficiente y económica para mejorar la seguridad y el rendimiento de su red. Además, al utilizar un proxy, la empresa puede controlar mejor el acceso a internet y proteger su información sensible.

Para Turrisystem, implementar un servidor proxy tiene varias ventajas clave:
 
Seguridad Mejorada: Un servidor proxy puede filtrar el tráfico entrante y saliente, protegiendo la red contra amenazas como malware y ataques cibernéticos. Esto es esencial para una empresa que maneja información sensible de clientes y operaciones internas.
 
Gestión de Recursos Limitados: Con una conexión a internet de solo 1 Mb, un proxy puede almacenar en caché las páginas web visitadas frecuentemente, reduciendo el ancho de banda necesario para acceder a esos recursos en futuras solicitudes. Esto ayuda a maximizar el uso del escaso ancho de banda disponible.

Control de Acceso: Permite a la empresa regular el uso de internet entre sus empleados, bloqueando sitios web no productivos o potencialmente peligrosos. Esto asegura que los recursos se utilicen de manera eficiente y segura.
 
Análisis y Monitoreo: Un proxy puede registrar el tráfico de la red, permitiendo a los administradores de sistemas analizar patrones de uso, detectar posibles problemas y optimizar el rendimiento de la red.

Con un proxy bien configurado, Turrisystem puede mejorar significativamente la seguridad, el rendimiento y la gestión de su red con recursos limitados.

¿Qué es un ACL en el proxy? 


Un ACL (Access Control List) en un proxy es una lista de reglas que define qué usuarios o dispositivos tienen permiso para acceder a ciertos recursos o servicios. En el caso de Squid, un servidor proxy popular, las ACLs se utilizan para controlar el acceso a internet y mejorar la seguridad de la red.


Utilidad de las ACL en un proxy:

Seguridad: Las ACLs permiten filtrar el tráfico de red, bloqueando accesos no autorizados y protegiendo la red contra amenazas externas.
 
Gestión de Recursos: Ayudan a optimizar el uso del ancho de banda y los recursos de red al permitir solo el acceso a sitios web y servicios necesarios.
 
Control de Contenidos: Permiten bloquear sitios web no deseados o inapropiados, como sitios de pornografía o piratería.
 
Personalización: Las ACLs pueden ser configuradas para permitir o denegar el acceso a ciertos recursos según políticas específicas de la organización.

¿Cuáles son las ACL más usadas en el proxy usado en la práctica? (squid)


src (Fuente): Define una o varias direcciones IP de origen o un segmento de red con su máscara. Ejemplo: acl redlocal src 192.168.1.0/24.
 
dst (Destino): Define una o varias direcciones IP de destino.
 
time (Hora): Permite controlar el acceso según días y horas específicas.
 
url_regex (Expresión Regular de URL): Filtra el acceso a URLs que coinciden con una expresión regular.
 
dstdomain (Dominio de Destino): Filtra el acceso a dominios específicos.

De acuerdo con la descripción de la empresa ¿Es adecuado tener los servicios instalados de manera local? O ¿Sería más apropiado tenerlos instalados en un servicio en la nube (cloud)?

Para una empresa como Turrisystem, que tiene recursos limitados para invertir en infraestructura, optar por servicios en la nube podría ser una mejor opción por varias razones:
 
Ventajas de la Nube:

Escalabilidad: La nube permite escalar recursos fácilmente según la demanda, sin necesidad de una gran inversión inicial en hardware. 
 
Costos Reducidos: La nube elimina los costos de mantenimiento y actualización de hardware, lo que es ideal para una empresa con recursos limitados. 
 
Accesibilidad: Los servicios en la nube pueden ser accedidos desde cualquier lugar, lo que facilita el trabajo remoto y la colaboración. 
 
Seguridad: Los proveedores de servicios en la nube suelen ofrecer medidas de seguridad avanzadas y actualizaciones regulares, aunque es importante verificar las políticas de seguridad y cumplimiento del proveedor.

Comparación con Servicios Locales:

Control: Implementar aplicaciones de forma local ofrece mayor control sobre los datos y la infraestructura, pero requiere una inversión significativa en hardware y mantenimiento. 
 
Latencia: Las aplicaciones locales pueden ofrecer tiempos de respuesta más rápidos, pero en este caso, la limitada conexión a internet (1 Mb) podría ser un cuello de botella importante. 
 
Personalización: Las soluciones locales permiten una personalización más profunda del entorno y la configuración de las aplicaciones, pero esto también puede ser más costoso y complejo. 

Para Turrisystem, la nube ofrece una solución más flexible, escalable y económica en comparación con mantener una infraestructura local, especialmente dado su tamaño y recursos limitados. Sin embargo, es importante evaluar las necesidades específicas de la empresa y considerar un enfoque híbrido si hay ciertos servicios que puedan beneficiarse de la implementación local.

El proxy sirve de filtro de contenido de consulta para los colaboradores de la empresa. Hay empresas como Google que confían en la labor de sus colaboradores, pero hay otras empresas, como los de impulsadores de productos de consumo, que impiden que sus colaboradores usen el celular en el trabajo. 

¿En qué casos sería más apropiado usar estas políticas? 


En casos como en empresas de productos de consumo, se puede restringir el uso de celulares para evitar distracciones y asegurar que los empleados se concentren en sus tareas. Esto es común en trabajos que requieren atención constante, como en fábricas o tiendas.

¿Cuál recomendaría usted a la empresa Turrisystem?


Recomendaría usar un equilibrio entre la confianza en los colaboradores y mantener la seguridad de la empresa. En lugar de restringir completamente el acceso a ciertos sitios web o aplicaciones, podría optar por implementar un proxy que permita monitorear el tráfico sin bloquear todo, solo asegurando de que no haya riesgos de seguridad ni pérdida de productividad, ya que sus colaboradores necesiten acceso a la información y una cierta libertad para investigar y resolver problemas.