Actividad Inciso b

Investigacion
B. Identificación de protocolos relacionados con aplicaciones y servicios web
Hypertext Transfer Protocol o HTTP.
El protocolo de transferencia de hipertexto (HTTP) es un conjunto de reglas para intercambiar archivos de texto, imágenes, sonido, vídeo y otro tipo de archivo multimedia) en la Web. HTTP es un protocolo de aplicación.

La idea de que los archivos pueden tener referencias y enlaces a otros archivos cuya selección iniciarían un nuevo requerimiento de transferencia hace parte intrínseca del HTTP. Cualquier servidor Web incluye, además del HTML y otros archivos que puede presentar, un "demonio" HTTP, un programa que está diseñado para esperar los requerimientos de HTTP y atenderlos cuando lleguen. Su visor Web es un cliente HTTP que envía requerimientos a un servidor, mediante la dirección del sitio que quiere visitar. Cuando un usuario envía un requerimiento de un archivo mediante la inclusión de una dirección en el visor o haciendo clic en un vínculo o enlace, el visor arma un requerimiento y lo envía al servidor. El demonio en el destino recibe el requisito y procesa la instrucción para devolver el resultado esperado.

Hypertext Transfer Protocol Secure o HTTPS.
Es un protocolo de red basado en el protocolo HTTP, destinado a la transferencia segura de datos de hipertexto, es decir, es la versión segura de HTTP.
El sistema HTTPS utiliza un cifrado basado en SSL/TLS para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) más apropiado para el tráfico de información sensible que el protocolo HTTP. De este modo se consigue que la información sensible (usuario y claves de paso normalmente) no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible de descifrar.
Cabe mencionar que el uso del protocolo HTTPS no impide que se pueda utilizar HTTP. Es aquí cuando nuestro navegador nos advertirá sobre la carga de elementos no seguros (HTTP), estando conectados a un entorno seguro (HTTPS).
Los protocolos HTTPS son utilizados por navegadores como: Safari, Interne Explorer, Mozilla Firefox, Opera y Google Chrome, entre otros.
Es utilizado principalmente por entidades bancarias, tiendas en línea, y cualquier tipo de servicio que requiera el envío de datos personales o contraseñas.
El puerto estándar para este protocolo es el 443.
File Transfer Protocol o FTP.
El protocolo FTP (Protocolo de transferencia de archivos) es, como su nombre lo indica, un protocolo para transferir archivos.
La implementación del FTP se remonta a 1971 cuando se desarrolló un sistema de transferencia de archivos (descrito en RFC141) entre equipos del Instituto Tecnológico de Massachusetts (MIT, Massachusetts Institute of Technology). Actualmente, el protocolo FTP está definido por RFC 959 (Protocolo de transferencia de archivos (FTP) - Especificaciones).

La función del protocolo FTP

El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP/IP.
El objetivo del protocolo FTP es:
  • permitir que equipos remotos puedan compartir archivos
  • permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del servidor
  • permitir una transferencia de datos eficaz

El modelo FTP

El protocolo FTP está incluido dentro del modelo cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro espera solicitudes para llevar a cabo acciones (el servidor).
Durante una conexión FTP, se encuentran abiertos dos canales de transmisión:
  • Un canal de comandos (canal de control)
  • Un canal de datos
Por lo tanto, el cliente y el servidor cuentan con dos procesos que permiten la administración de estos dos tipos de información:
  • DTP (Proceso de transferencia de datos) es el proceso encargado de establecer la conexión y de administrar el canal de datos. El DTP del lado del servidor se denomina SERVIDOR DE DTP y el DTP del lado del cliente se denomina USUARIO DE DTP.
  • PI (Intérprete de protocolo) interpreta el protocolo y permite que el DTP pueda ser controlado mediante los comandos recibidos a través del canal de control. Esto es diferente en el cliente y el servidor:
    • El SERVIDOR PI es responsable de escuchar los comandos que provienen de un USUARIO PI a través del canal de control en un puerto de datos, de establecer la conexión para el canal de control, de recibir los comandos FTP del USUARIO PI a través de éste, de responderles y de ejecutar el SERVIDOR DE DTP.
    • El USUARIO PI es responsable de establecer la conexión con el servidor FTP, de enviar los comandos FTP, de recibir respuestas del SERVIDOR PI y de controlar al USUARIO DE DTP, si fuera necesario.

Los comandos FTP

Los comandos FTP hacen posible especificar:
  • El puerto utilizado
  • El método de transferencia de datos
  • La estructura de datos
  • La naturaleza de la acción que se va a realizar (Recuperar, Enumerar, Almacenar, etc.)
Existen tres tipos de comandos FTP diferentes:
  • Comandos de control de acceso
  • Comandos de parámetros de transferencia
  • Comandos de servicio FTP


Las respuestas FTP

Las respuestas FTP garantizan la sincronización entre el cliente y el servidor FTP. Por lo tanto, por cada comando enviado por el cliente, el servidor eventualmente llevará a cabo una acción y sistemáticamente enviará una respuesta.
Las respuestas están compuestas por un código de 3 dígitos que indica la manera en la que el comando enviado por el cliente ha sido procesado. Sin embargo, debido a que el código de 3 dígitos resulta difícil de leer para las personas, está acompañado de texto (cadena de caracteres Telnet separada del código numérico por un espacio).
Los códigos de respuesta están compuestos por 3 números, cuyos significados son los siguientes:
  • El primer número indica el estatuto de la respuesta (exitosa o fallida)
  • El segundo número indica a qué se refiere la respuesta.
  • El tercer número brinda un significado más específico (relacionado con cada segundo dígito).


Trivial File Transfer Protocol o TFTP.
File Transfer Protocol trivial (TFTP) es un muy simple archivo transferencia protocolo, con la funcionalidad de una forma muy básica de Ftp; primero fue definido adentro 1980.
Puesto que es tan simple, es fácil poner en ejecución en una cantidad muy pequeña de memoria - una consideración importante en aquel momento. TFTP era por lo tanto útil para booting computadoras. Todavía se utiliza para transferir archivos pequeños entre los anfitriones en la red, TFTP se basa en parte en el protocolo anterior EFTP, que era parte de PERRITO habitación del protocolo. En los días tempranos del trabajo sobre TCP/IP la habitación del protocolo, TFTP era a menudo el primer protocolo puesto en ejecución en un nuevo tipo del anfitrión, porque era tan simple.
Las versiones originales de TFTP, antes de RFC 1350, exhibido un defecto particularmente malo del protocolo, que fue nombrado Síndrome del aprendiz del hechicero (después de Aprendiz del hechicero segmento de Fantasia) cuando fue descubierto.
TFTP apareció primero como parte de DEB 4.3. Se incluye con OS X del Mac con por lo menos la versión 10.5.
Recientemente, TFTP se ha utilizado cerca gusanos de la computadora.

Algunos detalles de TFTP

  • Utiliza UDP puerto 69 como sus protocolos del transporte (desemejante del ftp que utiliza TCP puerto 21).
  • No puede enumerar contenido del directorio.
  • No tiene ningún mecanismo de la autentificación o del cifrado.
  • Se utiliza para leer archivos de, o escriba los archivos a, un servidor alejado.
  • Apoya tres diversos modos de la transferencia, “netascii”, “octeto” y “correo”,
  • El protocolo original tiene un límite del tamaño del archivo de MB 32,
  • Puesto que TFTP utiliza el UDP, tiene que proveer su propia ayuda del transporte y de la sesión. TFTP proporciona bajo rendimiento de procesamiento sobre colmo estado latente acoplamientos.
  • Debido a la carencia de la seguridad, es peligroso sobre el Internet abierto. Así, TFTP generalmente se utiliza solamente en redes privadas, locales.

File Transfer Protocol Secure o FTPS.
FTPS (también conocido como FTP Secure o FTP-SSL) es una extensión del FTP (File Transfer Protocol) que agrega soporte para los protocolos criptográficos TLS (Transport Layer Security) y SSL (Secure Sockets Layer).

Con este método la transferencia de archivos se cifra, agregando seguridad a la misma. El cifrado puede ser a nivel datos, a nivel comandos o ambos.

Si el canal de comandos no se cifra, se dice que el protocolo está usando un canal de comandos en claro (CCC). Si el canal de datos no está cifrado, se dice que el protocolo usa un canal de datos en claro (CDC).

FTPS no debe ser confundido con el SFTP (
SSH File Transfer Protocol), que es un subsistema para transferencia de archivos seguros por protocolo SSH (Secure Shell). También es diferente del Secure FTP (FTP sobre SSH), que es la práctica de tunneling de FTP a través de una conexión SSH.

Usos más comunes de FTP y SSL:

*
FTPS explícito (o AUTH TLS)
El AUTH TLS o FTPS Explícito, es una de las formas de FTPS, la transferencia de archivos por FTP y SSL.

La seguridad
TLS es obligatoria. Este es el método preferido de acuerdo al RFC que define FTP sobre TLS.

El cliente se conecta al puerto 21 del servidor y comienza una sesión sin cifrar FTP como normal, pero pide que la seguridad TLS sea usada y realiza la negociación apropiado antes de enviar cualquier dato sensible.


*
FTPS implícito
El FTPS implícito, es una de las formas de FTPS, la transferencia de archivos por FTP y SSL.

Es un estilo antiguo, pero todavía ampliamente implementado en el cual el
cliente FTP se conecta a un puerto distinto (como por ejemplo 990), y se realiza una negociación SSL antes de que se envíe cualquier comando FTP.

* AUTH como está definido en el
RFC 2228

Secure Shell o SSH.
Secure Shell(SSH) es un programa que permite realizar conexiones entre máquinas a través de una red abierta de forma segura, así como ejecutar programas en una máquina remota y copiar archivos de un equipo a otro. Tal y como se explica en el RFC (Request for comment) de Secure Shell:

"SSH es un programa para conectarse a otros equipos a través de una red, para ejecutar comandos en una máquina remota y para mover archivos de una máquina a otra. Proporciona una exhaustiva autenticación y comunicaciones seguras en redes no seguras"

SSH provee fuerte autenticación y comunicación segura sobre un canal inseguro y nace como un reemplazo a los comandos telnet, ftp, rlogin, rsh, y rcp, los cuales proporcionan gran flexibilidad en la administración de una red, pero sin embargo, presenta grandes riesgos en la seguridad de un sistema. Adicionalmente, SSHprovee seguridad para conexiones de servicios X Windowsy envío seguro de conexiones arbitrarias TCP.

Secure Shell admite varios algoritmos de cifrado entre los cuales se incluyen:
·         Blowfish
·         3DES
·         IDEA
·         RSA
La ventaja más significativa de SSH es que no modifica mucho las rutinas. En todos los aspectos, iniciar una sesión de SSH es tan sencillo como ( e incluso similar a) iniciar una sesión de telnet. Tanto el intercambio de llaves, la autenticación y el posterior cifrado de sesiones son transparentes para los usuarios.

¿De qué Previene Secure Shell?

Debido a la promiscuidad de la interfaz ethernet, se genera una problemática sobre los siguientes servicios de red usados en la actualidad, como son:
·         telnet
·         ftp
·         http
·         rsh
·         rlogin
·         rexec
Ello representa un problema importante, ya que, incluso en un entorno cerrado de red, debe existir como mínimo un medio seguro para poder desplazar archivos, hacer copia de archivos, establecer permisos, ejecutar archivos, scrips, etc., a través de medios seguros.
Por ello, para evitar que determinadas personas capturen el tráfico diario de la red, es conveniente instalar el Secure Shell(SSH).
Entre los ataques más comunes que previene Secure Shell están:
·         Sniffering(Captura de trafico)
·         IP Spoofing
·         MACpoofing
·         DNS Spoofing
·         Telnet Hickjacking
·         ARP Spoofing
·         ARP Spoofing
·         IP Routing Spoofing
·         ICMP Spoofing

Protocolos de Secure Shell

Existen actualmente dos protocolos desarrollados sobre SSH:
·         SSH1: La última versión de SSH cliente/servidor para Unix que soporta este protocolo es la 1.2.31, ésta puede ser utilizada libremente para propósitos no comerciales y es ampliamente usada en ambientes académicos.
·         SSH2: Provee licencias más estrictas que SSH1 ya que es de carácter comercial. La última versión de SSH cliente/servidor para Unix con este protocolo es la 2.4.0 y se puede utilizar libremente respetando la licencia expresa.

Secure Socket Layer o SSL.
SSL (Secure Socket Layers) es un proceso que administra la seguridad de las transacciones que se realizan a través de Internet. El estándar SSL fue desarrollado por Netscape, junto con Mastercard, Bank of America, MCI y Silicon Graphics. Se basa en un proceso de cifrado de clave pública que garantiza la seguridad de los datos que se envían a través de Internet. Su principio consiste en el establecimiento de un canal de comunicación seguro (cifrado) entre dos equipos (el cliente y el servidor) después de una fase de autenticación.
El sistema SSL es independiente del protocolo utilizado; esto significa que puede asegurar transacciones realizadas en la Web a través del protocolo HTTP y también conexiones a través de los protocolos FTP, POP e IMAP. SSL actúa como una capa adicional que permite garantizar la seguridad de los datos y que se ubica entre la capa de la aplicación y la capa de transporte ( por ejemplo, el protocolo TCP).
De esta forma, SSL es transparente para el usuario (es decir, el usuario puede no conocer que está usando SSL). Por ejemplo, un usuario que utiliza un navegador de Internet para conectarse a una página Web de comercio electrónico protegido por SSL enviará datos cifrados sin tener que realizar ninguna operación especial.
Actualmente, casi todos los navegadores soportan el protocolo SSL. Por ejemplo, Netscape Navigator muestra un candado cerrado para indicar la conexión a un sitio Web con seguridad SSL y un candado abierto en el caso opuesto, en tanto que Microsoft Internet Explorer muestra un candado sólo si establece una conexión con un sitio Web SSL.


En Internet Explorer
En Mozilla

Un servidor de Web seguro tiene una dirección URL que empieza con https://, en el que la "s" obviamente significa secured, seguro.
A mediados de 2001, la patente SSL ,que hasta ese momento había pertenecido a Netscape, fue adquirida por IETF (Internet Engineering Task Force) y adoptó el nombre de TLS (Transport Layer Security).

Cómo funciona SSL 2.0

La seguridad de las transacciones a través de SSL 2.0 se basa en el intercambio de claves entre un cliente y un servidor. Una transacción segura SSL se realiza de acuerdo al siguiente modelo:
  • Primero, el cliente se conecta al servidor comercial protegido por SSL y pide la autenticación. El cliente también envía la lista de los criptosistemas que soporta, clasificada en orden descendente por la longitud de la clave.
  • El servidor que recibe la solicitud envía un certificado al cliente que contiene la clave pública del servidor firmado por una entidad de certificación (CA), y también el nombre del criptosistema que está más alto en la lista de compatibilidades (la longitud de la clave de cifrado - 40 o 128 bits - será la del criptosistema compartido que tiene el tamaño de clave de mayor longitud).
  • El cliente verifica la validez del certificado (y por consiguiente, la autenticidad del vendedor), luego crea una clave secreta al azar (más precisamente un supuesto bloque aleatorio), cifra esta clave con la clave pública del servidor y envía el resultado del servidor (clave de sesión).
  • El servidor es capaz de descifrar la clave de sesión con su clave privada. De esta manera, hay dos entidades que comparten una clave que sólo ellos conocen. Las transacciones restantes pueden realizarse utilizando la clave de sesión, garantizando la integridad y la confidencialidad de los datos que se intercambian.

SSL 3.0

SSL 3.0 se orienta a autentificar el servidor directamente con el cliente y al cliente directamente con el servidor.
C. Selección de la plataforma tecnológica para el desarrollo de sitios web.
Arquitectura web.
De la misma forma en que los arquitectos tradicionales diseñan y coordinan la construcción de edificios, los arquitectos web diseñan y coordinan el desarrollo de sitios web.
Los sitios web son una conjunción muy compleja de distintos sistemas integrados entre sí (Bases de datos, servidores, redes, componentes de backup y seguridad, etc... ).
El resultado final será un sitio que pueda resolver las necesidades de negocios: Vender productos y servicios online y servir mejor a las necesidades de los clientes.
Los principios usados para construir un edificio no son muy distintos de los que se presentan en el proceso de diseñar un sitio o una aplicación web.
Las aplicaciones deben ser diseñadas sobre de las necesidades de las personas que van a utilizarlas, de la misma forma que los edificios deben ser diseñados en base a las necesidades de sus ocupantes.
En los edificios los picaportes y las manijas de las puertas están a un metro de altura porque esa es la altura a la que se encuentran las manos. En la web los menús de navegación no tendrían que ser diferentes... deberían estar donde las personas los necesitan.
En los edificios los picaportes y las manijas de las puertas están a un metro del piso porque esa es la altura a la que se encuentran las manos. En la web los menús de navegación no tendrían que ser diferentes... deberían estar donde las personas los necesitan.
En el diseño de sitios web, igual que en el diseño de edificios, se requiere un firme conocimiento de las tecnologías aplicadas. En el diseño de edificios estos conocimientos son sobre las propiedades estructurales de los materiales, electricidad, mecánica, plomería, etc... en el desarrollo web se requieren de conocimientos de lenguajes programación y estructura de bases de datos, el protocolo TCP/IP, el lenguaje HTML y muchos otros.
En ambos casos es necesario tener conocimientos generales y ser un voraz estudiante de las tecnologías, dado que estas están en continuo desarrollo y avanzan día a día.
Sin embargo, hay algo que se mantiene constante... la gente debe poder usarlos. Sino se irán de nuestra web y será un fracaso. Y se desperdiciaría una gran cantidad de dinero.
El rol de arquitecto web es asegurarse de que esto no ocurra.
- Servidor Web
Un servidor web es un programa que se ejecuta continuamente en un computador, manteniéndose a la espera de peticiones de ejecución que le hará un cliente o un usuario de Internet. El servidor web se encarga de contestar a estas peticiones de forma adecuada, entregando como resultado una página web o información de todo tipo de acuerdo a los comandos solicitados. En este punto es necesario aclarar lo siguiente: mientras que comúnmente se utiliza la palabra servidor para referirnos a una computadora con un software servidor instalado, en estricto rigor un servidor es el software que permite la realización de las funciones descritas.

- DNS
El DNS ( Domain Name Service) es un sistema de nombres que permite traducir de nombre de dominio a dirección IP y vice-versa. Aunque Internet sólo funciona en base a direcciones IP, el DNS permite que los humanos usemos nombres de dominio que son bastante más simples de recordar (pero que también pueden causar muchos conflictos, puesto que los nombres son activos valiosos en algunos casos).
El sistema de nombres de dominios en Internet es un sistema distribuido, jerárquico, replicado y tolerante a fallas. Aunque parece muy difícil lograr todos esos objetivos, la solución no es tan compleja en realidad. El punto central se basa en un árbol que define la jerarquía entre los dominios y los sub-dominios. En un nombre de dominio, la jerarquía se lee de derecha a izquierda. Por ejemplo, en dcc.uchile.cl, el dominio más alto es cl. Para que exista una raíz del árbol, se puede ver como si existiera un punto al final del nombre: dcc.uchile.cl., y todos los dominios están bajo esa raíz (también llamada ``punto").
Cada componente del dominio (y también la raíz) tiene un servidor primario y varios servidores secundarios. Todos estos servidores tienen la misma autoridad para responder por ese dominio, pero el primario es el único con derecho para hacer modificaciones en él. Por ello, el primario tiene la copia maestra y los secundarios copian la información desde él. El servidor de nombres es un programa que típicamente es una versión de BIND ( Berkeley Internet Name Daemon). En general es mucho mejor traer la última versión desde Internet ( www.isc.org) que usar la que viene con el Sistema Operativo, porque es un servidor que ha cambiado mucho a lo largo del tiempo.
La raíz del sistema de dominios es servida por algunos servidores ``bien conocidos''. Todo servidor de nombres debe ser configurado con la lista de los servidores raíz bien conocidos (en general lo vienen de fábrica). Estos servidores dicen qué dominios de primer nivel existen y cuáles son sus servidores de nombres. Recursivamente, los servidores de esos dominios dicen qué sub-dominios existen y cuáles son sus servidores. (Ver figura 1).

  
Figure: Delegación de Dominios

Existe un conflicto de competencia entre el servidor de un dominio y el de un sub-dominio: ambos deben saber cuáles son los servidores de nombres del sub-dominio. En un inicio, estarán de acuerdo, pero con el tiempo los servidores pueden ir cambiando, y las versiones de ambos pueden ser inconsistentes. Actualmente, el que manda es el servidor del sub-dominio, y su información es la más importante. Por ejemplo, si el servidor de .cl dice que uchile.cl es servido por los servidores A y B, y luego el servidor A dice que uchile.cl es servido por A y C, la información que se recibirá en el mundo es que los servidores son A y C. El único requisito es que por lo menos uno de los servidores de nombres que figuran en el dominio debe corresponder a uno de los que lista el sub-dominio. Si no es así, el dominio queda sin servidores y es inaccesible del resto del mundo .
En general, la regla ideal es que la lista de servidores que figura en el dominio sea un sub-conjunto de la lista que figura en el sub-dominio.

- Sistema operativo
  • Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.
  • Las funciones básicas del Sistema Operativo son administrar los recursos de la máquina, coordinar el hardware y organizar archivos y directorios en dispositivos de almacenamiento.
  • Los Sistemas Operativos más utilizados son Dos, Windows, Linux y Mac. Algunos SO ya vienen con un navegador integrado, como Windows que trae el navegador Internet Explorer

- Sistema gestor de base de datos
Un Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase Management System) es una colección de programas cuyo objetivo es servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Un SGBD permiten definir los datos a distintos niveles de abstracción y manipular dichos datos, garantizando la seguridad e integridad de los mismos.

- Navegadores web.
Un navegador o navegador web (del inglés, web browser) es un programa que permite ver la información que contiene una página web (ya se encuentre ésta alojada en un servidor dentro de la World Wide Web o en un servidor local).
El navegador interpreta el código, HTML generalmente, en el que está escrita la página web y lo presenta en pantalla permitiendo al usuario interactuar con su contenido y navegar hacia otros lugares de la red mediante enlaces o hipervínculos

Características del Servidor web.
- Procesador: Seguramente nos darán a elegir entre intel o AMD, entre núcleo, doble núcleo, 4 núcleos, etc. Aquí sin ser un experto os recomendaría lo siguiente (por experiencia propia). Si vuestro servidor web no va a ser utilizado para vender hosting, ni vais a instalar VPS en él, puede bastar un modelo normalito, sin excesos.
- Memoria RAM: Importante no quedarse corto. Cuando la RAM se agota, se tira de memoria virtual (disco duro) y se ralentiza todo, pudiendo incluso colapsar el servidor y provocar caída de servicios en el mismo. Opino que 1GB es lo mínimo, pero mejor 2GB para ir sueltos.
- Modelo de disco duro: nos indicará su velocidad y su rendimiento. Que no nos pongan un disco pelotero, preguntad marca y modelo, creedme que a veces dan gato por liebre.
Hay más factores a tener en cuenta, pero para los que no somos expertos en hardware creo que con tener en cuenta estos es más que suficiente. Seguramente tendremos nuestro servidor alojado en un centro de datos, por lo que del mantenimiento se ocuparán ellos.
Comparad planes de hosting en varios proveedores, comparad el precio de los servidores dedicados y comprobad aquel que ofrece merjor relación calidad-precio. Y mi recomendación final, contratad un servidor dedicado que podáis pagar mes a mes. Así, al menos durante los primeros meses, si no os convence, siempre podéis migraros a otro proveedor de hosting.
Actualización: con la proliferación de los servidores cloud para la mayoría de proyectos web es más recomendable contratar un servidor cloud que uno dedicado. Os animo a visitar la oferta disponible en mi empresa, donde podéis contratar servidores cloud desde 35€/mes totalmente administrados. Merece la pena echar un vistazo ;)
- Protocolos
Un protocolo es un método estándar que permite la comunicación entre procesos (que potencialmente se ejecutan en diferentes equipos), es decir, es un conjunto de reglas y procedimientos que deben respetarse para el envío y la recepción de datos a través de una red. Existen diversos protocolos de acuerdo a cómo se espera que sea la comunicación. Algunos protocolos, por ejemplo, se especializarán en el intercambio de archivos (FTP); otros pueden utilizarse simplemente para administrar el estado de la transmisión y los errores (como es el caso de ICMP), etc.
- Sitios
Un sitio web es una colección de páginas web relacionadas y comunes a un dominio de Internet o subdominio en la World Wide Web en Internet.
- Sitios Virtuales
El servicio de servidores virtuales consiste en tener un alias para su espacio asignado dentro del servidor de Web del Campus, de tal forma que su página pueda tener un nombre propio dentro del dominio del ITESM, Campus Monterrey (http://nombre.mty.itesm.mx) y puede ser solicitado para cualquier entidad organizacional
- Espacio de almacenamiento
El alojamiento web (en inglés web hosting) es el servicio que provee a los usuarios de Internet un sistema para poder almacenar información, imágenes, vídeo, o cualquier contenido accesible vía web. Es una analogía de "hospedaje o alojamiento en hoteles o habitaciones" donde uno ocupa un lugar específico, en este caso la analogía alojamiento web o alojamiento de páginas web, se refiere al lugar que ocupa una página web, sitio web, sistema, correo electrónico, archivos etc. en internet o más específicamente en un servidor que por lo general hospeda varias aplicaciones o páginas web.
- Seguridad
La seguridad de un servidor web debe estar diseñada en capas, cada capa super pone a la anterior, todo esquema de seguridad debe incluir al menos 4 tipos de medidas de seguridad:

- Preventivas
- Reactivas
- Detección
- Recuperación
Medidas Preventivas: Su objetivo es prevenir o dificultar la intrusión ejemplo: Firewalls

Medidas Reactivas:
Reaccionan ante la amaneza tomando contra medidas ejemplo: Firewall de aplicaciones, Mod_security, Sistemas de detección de ataques de fuerza bruta, etc.

Medidas de Detección: Ayudan a detectar si una intrusión a ocurrido o está en proceso ejemplo , HIDS como Tripwire, chkrootkit

Medidas de Recuperación: Ayudan a recuperar la operabilidad luego de una intrusión ejemplo: backups e imagenes de disco.

Al implementar un esquema de seguridad se debe planear en lineas defensivas, cada linea refuerza la anterior, de modo que el fallo o la vulnerabilidad de una linea no comprometa la instalación, piense como el enemigo, monitoree sus logs e investigue cualquier indicio sospechoso.
- Soporte de lenguajes

Lenguajes de Programación

Ruby on Rails

Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby, siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real escribiendo menos código que con otros frameworks y con un mínimo de configuración. El lenguaje de programación Ruby permite la metaprogramación, de la cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios encuentran muy legible.
A partir de nuestro plan de alojamiento web Hosting Estándar, todos nuestros planes de Hosting Linux vienen equipados de serie con los elementos necesarios para el alojamiento de aplicativos Ruby.

AJAX

Todos nuestros planes de alojamiento web soportan el desarrollo de aplicativos web con el uso de tecnologías AJAX, adicionalmente también disponemos de soporte de “Ruby on Rails” para facilitarle el uso de este tipo de tecnologías, y en nuestros planes de alojamiento web Windows también encontrará el soporte del framework de desarrollo ASP.NET AJAX que le facilitará para facilitarle aún más el desarrollo de aplicativos AJAX.
ASP
El lenguaje ASP (Active Server Pages) es un lenguaje de programación de Microsoft del lado servidor utilizado para la generación de páginas web dinámicas. La programación de sitios web mediante el lenguaje ASP se ve facilitada gracias a diferentes objetos incorporados en el lenguaje de programación, correspondiéndose cada uno de ellos con un grupo de funcionalidades habitualmente utilizadas en la construcción de un sitio web dinámico.
ASP.NET Framework sobre Windows Server 2003
¡Experimente nuevas posibilidades de desarrollo web! Los planes de alojamiento web de silicontower.net incluyen de serie el soporte de ASP.NET. El lenguaje ASP.NET consiste en una serie de clases .NET utilizadas para crear aplicaciones Web, tanto del lado cliente (Web Form) como del lado servidor (Web Service).
La integración de nativa .NET Framework con el sistema operativo Windows Server 2003 hace que su ejecución sea más estable y rápida que otros lenguajes de programación. Las páginas creadas con la tecnología ASP.NET funcionan en todo tipo de nagvegadores – incluyendo Netscape, Opera, AOL y Internet Explorer.
Nuestro soporte de ASP.NET le ofrece, entre otras, las siguientes prestaciones:
  • Una selección de lenguajes incluyendo: C#, J#, C++ y VB.NET.
  • Actualizaciones Dinámicas
  • Soporte de servicios web XML
  • Conexiones del tipo DSN, o sin utilización de DSN, para acceder a fuentes de datos ODBC

ASP.NET v 2.0 ¡Ya disponible!

La versión de .NET, ASP.NET 2.0, ya se encuentra disponible en nuestros planes de alojamiento web Windows. Además podrá seleccionar la versión de ASP.NET que desea utilizar mediante nuestro panel de control centralizado.
El Soporte de ASP.NET 2.0 le ofrece:
  • Más de 40 nuevos controles de seguridad, navegación, datos y “Web parts”.
  • Sistema de acceso a datos mejorado y optimizado.
  • Cacheo de bases de datos
  • Páginas Master
  • Controles de “Web Parts”
  • Temas y “Skins”

PHP4 / PHP5

PHP es un lenguaje de programación usado frecuentemente para la creación de sitios web dinámicos. PHP es un acrónimo recursivo que significa "PHP Hypertext Pre-processor" (inicialmente PHP Tools, o, Personal Home Page Tools), y se trata de un lenguaje interpretado usado para la creación de aplicaciones para servidores, o creación de contenido dinámico para sitios web.
En silicontower.net puede seleccionar la versión de PHP que desea utilizar en su plan de hosting, pudiendo así disponer de PHP4 y PHP5. En nuestros planes de alojamiento web Windows puede variar la versión de PHP a utilizar en el momento que usted deseé, y nuestros planes de alojamiento web Linux los encontrará disponibles en dos versiones, ambas con iguales prestaciones, excepto por la versión de PHP disponible en cada uno de ellos.

Perl

Perl es un lenguaje de propósito general originalmente desarrollado para la manipulación de texto y que ahora es utilizado para un amplio rango de tareas incluyendo administración de sistemas, desarrollo web, programación en red, desarrollo de GUI y más.
Se creó con la idea de que fuera práctico (facilidad de uso, eficiente, completo) en lugar de hermoso (pequeño, elegante, mínimo). Sus principales características son que es fácil de usar, soporta tanto la programación estructurada como la programación orientada a objetos y la programación funcional, tiene incorporado un poderoso sistema de procesamiento de texto y una enorme colección de módulos disponibles.

Python

Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: Programación orientada a objetos, programación estructurada, programación funcional y programación orientada a aspectos. Otros muchos paradigmas más están soportados mediante el uso de extensiones.

SSI (Server Side Includes)

Los “Server Side Includes” o Inclusiones del Lado Servidor, en un sencillo lenguaje de programación del lado servidor usado básicamente para el desarrollo de webs. Como su nombre indica, su uso primario es el de incluir los contenidos de un fichero dentro de otro, mediante la especificación de una sencilla instrucción que es procesada por el Servidor Web.
Por ejemplo, mediante la inclusión de un sencillo código del tipo “<!--#include virtual="../texto.txt" -->” podemos hacer que el servidor web nos incluya siempre dentro del fichero HTML el texto contenido en el fichero “texto.txt”.

CGI

Las CGI (Common Gateway Interface) es un protocolo estándar para realizar interfaces entre aplicaciones y servidores web. Esto permite pasar información del navegador del cliente, al servidor web y posteriormente a una aplicación dentro del servidor y viceversa. Esto nos permite interactuar con diferentes servicios del servidor para por ejemplo realizar en envío de e-mails, aunque debido a los problemas de seguridad que conllevan algunas CGIs usadas habitualmente siempre es preferible utilizar extensiones de lenguajes de desarrollo web, como puedan ser ASP, ASP.NET o PHP.

Compatible con desarrollos en Flash y WAP

Todos nuestros servidores web llevan instalados los tipos MIME que le permiten alojar contenidos desarrollados con Macromedia Flash y aplicaciones o recursos para el uso mediante WAP

Soporte JAVA Tomcat

Tomcat (también llamado Jakarta Tomcat o Apache Tomcat) funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Sun Microsystems.
En silicontower.net recomendamos a nuestros clientes la utilización de nuestros Servidores VPS para el alojamiento de aplicaciones que requieran de un servidor de aplicaciones tipo Tomcat.

Extensiones FrontPage

Las extensiones de FrontPage son una serie de scripts del lado servidor que extienden la funcionalidad de Microsoft FrontPage, permitiéndole publicar sus sitios web directamente desde su ordenador.
  • Estas extensiones incluyen soporte para multitud de elementos interactivos, incluyendo entre otros:
  • Contadores de Visitas
  • Recolección de Datos
  • Tablas de Contenidos
  • Galerías

- http.
El programa implementa el protocolo HTTP (HyperText Transfer Protocol) que pertenece a la capa de aplicación del modelo OSI. El término también se emplea para referirse al ordenador que ejecuta el programa.
- https.
Es una combinación del protocolo HTTP y protocolos criptográficos. Se emplea para lograr conexiones más seguras en la WWW, generalmente para transacciones de pagos o cada vez que se intercambie información sensible (por ejemplo, claves) en internet.

De esta manera la información sensible, en el caso de ser interceptada por un ajeno, estará
cifrada.