investigaciones y actividades




protocolos

Hypertext Transfer Protocol
Hypertext Transfer Protocol o HTTP (en español protocolo de transferencia de hipertexto) es el protocolo usado en cada transacción de la World Wide Web. HTTP fue desarrollado por elWorld Wide Web Consortium y la Internet Engineering Task Force, colaboración que culminó en 1999 con la publicación de una serie deRFC, el más importante de ellos es el RFC 2616 que especifica la versión 1.1. HTTP define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (clientes, servidores,proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador web o un spider) se lo conoce como "user agent" (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc.
HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de "sesión", y también permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado.
Transacciones HTTP
Una transacción HTTP está formada por un encabezado seguido, opcionalmente, por una línea en blanco y algún dato. El encabezado especificará cosas como la acción requerida del servidor, o el tipo de dato retornado, o el código de estado.
El uso de campos de encabezados enviados en las transacciones HTTP le dan gran flexibilidad al protocolo. Estos campos permiten que se envíe información descriptiva en la transacción, permitiendo así la autenticación, cifrado e identificación de usuario.
Un encabezado es un bloque de datos que precede a la información propiamente dicha, por lo que muchas veces se hace referencia a él como metadato —porque tiene datos sobre los datos—.
Si se reciben líneas de encabezado del cliente, el servidor las coloca en las variables de ambiente de CGI con el prefijo HTTP_ seguido del nombre del encabezado. Cualquier carácter guión ( - ) del nombre del encabezado se convierte a caracteres "_".
El servidor puede excluir cualquier encabezado que ya esté procesado, como AuthorizationContent-type y Content-length. El servidor puede elegir excluir alguno o todos los encabezados si incluirlos excede algún límite del ambiente de sistema. Ejemplos de esto son las variables HTP_ACPT y HTP_R_AEN.
  • HT_AEP'. Los tipos MIME que el cliente aceptará, dado los encabezados HTTP. Otros protocolos quizás necesiten obtener esta información de otro lugar. Los elementos de esta lista deben estar separados por una coma, como lo dice la especificación HTTP: tipo, tipo.
  • HTT_USR_AET. El navegador que utiliza el cliente para realizar la petición. El formato general para esta variable es: software/versión biblioteca/versión.

Hypertext Transfer Protocol Secure

Hypertext Transfer Protocol Secure (en españolProtocolo seguro de transferencia de hipertexto), más conocido por sus siglas HTTPS, es unprotocolo 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.
Es utilizado principalmente por entidades bancarias, tiendas en línea, y cualquier tipo de servicio que requiera el envío de datos personales ocontraseñas.
La idea principal de https es la de crear un canal seguro sobre una red insegura. Esto proporciona una protección razonable contra ataqueseavesdropping y man-in-the-middle, siempre que se empleen métodos de cifrado adecuados y que el certificado del servidor sea verificado y resulte de confianza.
Los protocolos HTTPS son utilizados por navegadores como: Safari,Internet ExplorerMozilla FirefoxOpera y Google Chrome, entre otros.

Historia

Netscape Communications creó HTTPS en 1994 para su navegadorNetscape Navigator.[13] Originalmente, HTTPS era usado solamente para cifrado SSL, pero esto se volvió obsoleto ante TLS. HTTPS fue adoptado como un estándar web con la publicación de RFC 2818 en Mayo del 2000.[14]

File Transfer Protocol

FTP (sigla en inglés de File Transfer Protocol - Protocolo de Transferencia de Archivos) en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
El Servicio FTP es ofrecido por la capa de Aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza entexto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor, o apropiarse de los archivos transferidos.
Para solucionar este problema son de gran utilidad aplicaciones como scpy sftp, incluidas en el paquete SSH, que permiten transferir archivos perocifrando todo el tráfico.

 Historia

En 1968, nació ARPANET (Ver Historia de Internet) como una pequeña red de pocos ordenadores que transmitían información de unos a otros mediante paquetes conmutados (lo que sería en el futuro Internet), y tres años más tarde un grupo de investigadores del MIT presentó la propuesta del primer "Protocolo para la transmisión de archivos en Internet" (RFC 114). Era un protocolo muy sencillo basado en el sistema de correo electrónico pero sentó las bases para el futuro protocolo de transmisión de archivos (FTP).
En 1985, quince años después de la primera propuesta, se termina el desarrollo del aún vigente protocolo para la transmisión de archivos en Internet (FTP), basado en la filosofía de cliente-servidor.
El gran boom de Internet se produce en 1995. Este año puede ser considerado como el nacimiento de la Internet comercial. Desde ese momento su crecimiento ha superado todas las expectativas. En este año la World Wide Web supera a FTP transformándose en el servicio preferido de la red, después de que el año anterior superase en popularidad aTelnet.
Con la llegada del World Wide Web, y de los navegadores , ya no es necesario conocer los complejos comandos de FTP, este protocolo se puede utilizar escribiendo la URL del servidor al que queramos conectar en el navegador web, indicando con ftp:// que vamos a contactar con un servidor ftp y no con un servidor web (que sería http:// ).
La versión original del File Transfer Protocol fue publicado como RFC 114el 16 de abril de 1971, y más adelante reemplazado por el RFC 765 (junio de 1980) y el RFC 959 (octubre de 1985), la versión que se usa actualmente. Muchos han propuesto alternativas a la versión de 1985, como por ejemplo el RFC 2228 (junio de 1997) que propone extensiones de seguridad y la RFC 2428 (septiembre de 1998) que añade soporte para IPv6 y define un nuevo tipo de modo pasivo.
 Servidor FTP
Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LANMAN, etc.). Su función es permitir el intercambio de datos entre diferentes servidores/ordenadores.
Por lo general, los programas servidores FTP no suelen encontrarse en los ordenadores personales, por lo que un usuario normalmente utilizará el FTP para conectarse remotamente a uno y así intercambiar información con él.
Las aplicaciones más comunes de los servidores FTP suelen ser elalojamiento web, en el que sus clientes utilizan el servicio para subir sus páginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicación FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).

Modos de conexión del cliente FTP

FTP admite dos modos de conexión del cliente. Estos modos se denominanActivo (o Estándar, o PORT, debido a que el cliente envía comandos tipo PORT al servidor por el canal de control al establecer la conexión) y Pasivo(o PASV, porque en este caso envía comandos tipo PASV). Tanto en el modo Activo como en el modo Pasivo, el cliente establece una conexión con el servidor mediante el puerto 21, que establece el canal de control.
TFTP
TFTP son las siglas de Trivial file transfer Protocol (Protocolo de transferencia de archivos trivial).
Es un protocolo de transferencia muy simple semejante a una versión básica de FTP. TFTP a menudo se utiliza para transferir pequeños archivos entre ordenadores en una red, como cuando un terminal X Window o cualquier otro cliente ligero arranca desde un servidor de red.
Algunos detalles del TFTP:
  • Utiliza UDP (en el puerto 69) como protocolo de transporte (a diferencia de FTP que utiliza el puerto 21 TCP).
  • No puede listar el contenido de los directorios.
  • No existen mecanismos de autenticación o cifrado.
  • Se utiliza para leer o escribir archivos de un servidor remoto.
  • Soporta tres modos diferentes de transferencia, "netascii", "octet" y "mail", de los que los dos primeros corresponden a los modos "ascii" e "imagen" (binario) del protocoloFTP.
SSH File Transfer Protocol
SSH File Transfer Protocol (también conocido como SFTP o SecureFile Transfer Protocol) es un protocolo de red que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos sobre un flujo de datos fiable. Se utiliza comúnmente conSSH para proporcionar la seguridad a los datos, aunque permite ser usado con otros protocolos de seguridad. Por lo tanto, la seguridad no la provee directamente el protocolo SFTP, sino SSH o el protocolo que sea utilizado en su caso para este cometido.
En comparación de capacidades con el anterior protocolo SCP, que únicamente permite la transferencia de archivos (copia), el protocoloSFTP permite una serie de operaciones sobre archivos remotos. SFTP intenta ser más independiente de la plataforma que SCP, por ejemplo, con el SCP encontramos la expansión de comodines especificados por el cliente hasta el servidor, mientras que el diseño SFTP evita este problema. Aunque SCP se aplica con más frecuencia en plataformas Unix, existen servidores SFTP en la mayoría de las plataformas.
El Secure Internet Live Conferencing (SILC) define el protocolo SFTP como su protocolo de transferencia de archivos por omisión. En el SILC, los datos del protocolo SFTP no están protegidos con SSH pero el protocolo de paquetes seguros de SILC se utiliza para encapsular los datos SFTP dentro de los paquetes de SILC para que se la llevara de igual a igual (peer to peer, P2P). Esto es posible ya que SFTP está diseñado para ser un protocolo independiente.
El SFTP esta trabajando sobre el puerto 22 de TCP.
Clientes de SFTP
Para los clientes que utilizan SFTP, los programas de SFTP ofrece una interfaz interactiva similar a la de los tradicionales programas deFTP. Algunas implementaciones del programa SCP, en realidad usan el protocolo SFTP para realizar transferencias de archivos, sin embargo, algunas de estas implementaciones están todavía en condiciones de emergencia al protocolo SCP si el servidor SFTP no ofrece servicio.
Secure Shell
SSH (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X (en sistemasUnix y Windows) corriendo.
Además de la conexión a otros dispositivos, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesionesFTP cifradas), gestionar claves RSA para no escribir claves al conectar a los dispositivos y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.
Seguridad
SSH trabaja de forma similar a como se hace con telnet. La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión; aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información entre destinos.
Historia
Al principio sólo existían los r-commands, que eran los basados en el programa rlogin, el cual funciona de una forma similar a telnet.
La primera versión del protocolo y el programa eran libres y los creó un finlandés llamado Tatu Ylönen, pero su licencia fue cambiando y terminó apareciendo la compañía SSH Communications Security, que lo ofrecía gratuitamente para uso doméstico y académico, pero exigía el pago a otras empresas. En el año 1997 (dos años después de que se creara la primera versión) se propuso como borrador en laIETF.
A principios de 1999 se empezó a escribir una versión que se convertiría en la implementación libre por excelencia, la deOpenBSD, llamada OpenSSH.
Secure Copy
Secure Copy o SCP es un medio de transferencia segura dearchivos informáticos entre un host local y otro remoto o entre dos hosts remotos, usando el protocolo Secure Shell (SSH).
El término SCP puede referir a dos conceptos relacionados, elprotocolo SCP o el programa SCP.
Protocolo SCP
El protocolo SCP es básicamente idéntico al protocolo rcp de BSD. A diferencia de rcp, los datos son cifrados durante su transferencia, para evitar que potenciales packet sniffers extraigan información útil de los paquetes de datos. Sin embargo, el protocolo mismo no provee autenticación y seguridad; sino que espera que el protocolo subyacente, SSH, lo asegure.
El modo SCP o simple communication protocol, es un protocolo simple que deja al servidor y al cliente tener múltiples conversaciones sobre una TCP normal. Este protocolo esta diseñado para ser simple de implementar.
El servicio principal de este protocolo es el control del dialogo entre el servidor y el cliente, administrando sus conversaciones y agilizadas en un alto porcentaje, este protocolo le permite a cualquiera de los dos establecer una sesión virtual sobre la normal.
SCP puede solicitar de manera iterativa cualquier contraseña para establecer una conexión con un host remoto.
El protocolo SCP implemente la transferencia de archivos únicamente. Para ello se conecta al host usando SSH y allí ejecuta un servidor SCP. Generalmente el programa SCP del servidor es el mismo que el del cliente.
Para realizar la subida, el cliente le proporciona al servidor los archivos que desea subir y opcionalmente puede incluir otros atributos (permisos, fechas, etc.) Esto es una ventaja sobre el protocolo FTP.
Para descargar, el cliente envía una solicitud por los archivos que desea descargar. El proceso de descarga está dirigido por el servidor y es el que se encarga de la seguridad del mismo. Frecuentemente, para los usos aquí detallados se utiliza el protocoloSFTP, también basado en SSH.
Programa SCP
El programa SCP es un cliente que implementa el protocolo SCP, es decir, es un programa que realiza copia segura.
El cliente SCP más ampliamente usado es el programa scp delIntérprete de comandos, que es incorporado en la mayoría de las implementaciones de SSH. El programa scp es el analogo seguro del comando rcp. El programa scp debe formar parte de todos los servidores SSH que quieran proveer el servicio SCP, así como scp funciona como servidor SCP también.
Algunas implementaciones de SSH proveen del programa scp2, el cual usa el protocolo SFTP en lugar de SCP, pero provee los mismas interfaz del Intérprete de comandos el scp. Este scp es normalmente un enlace simbólico a scp2.
Normalmente, la sintaxis del programa scp es similar a la sintaxis de la orden cp:
scp usuario@host:directorio/ArchivoOrigen ArchivoDestino
scp ArchivoOrigen usuario@host:directorio/ArchivoDestino

Secure Socket Layer (SSL)

El protocolo SSL es un sistema diseñado y propuesto por Netscape Communications Corporation. Se encuentra en la pila OSI entre los niveles de TCP/IP y de los protocolos HTTP, FTP, SMTP, etc. Proporciona sus servicios de seguridad cifrando los datos intercambiados entre el servidor y el cliente con un algoritmo de cifrado simétrico, típicamente el RC4 o IDEA, y cifrando la clave de sesión de RC4 o IDEA mediante un algoritmo de cifrado de clave pública, típicamente el RSA. La clave de sesión es la que se utiliza para cifrar los datos que vienen del y van al servidor seguro. Se genera una clave de sesión distinta para cada transacción, lo cual permite que aunque sea reventada por un atacante en una transacción dada, no sirva para descifrar futuras transacciones. MD5 se usa como algoritmo de hash.
Proporciona cifrado de datos, autenticación de servidores, integridad de mensajes y, opcionalmente, autenticación de cliente para conexiones TCP/IP.
Cuando el cliente pide al servidor seguro una comunicación segura, el servidor abre un puerto cifrado, gestionado por un software llamado Protocolo SSL Record, situado encima de TCP. Será el software de alto nivel, Protocolo SSL Handshake, quien utilice el Protocolo SSL Record y el puerto abierto para comunicarse de forma segura con el cliente.

El Protocolo SSL Handshake

Durante el protocolo SSL Handshake, el cliente y el servidor intercambian una serie de mensajes para negociar las mejoras de seguridad. Este protocolo sigue las siguientes seis fases (de manera muy resumida):
  • La fase Hola, usada para ponerse de acuerdo sobre el conjunto de algoritmos para mantener la intimidad y para la autenticación.
  • La fase de intercambio de claves, en la que intercambia información sobre las claves, de modo que al final ambas partes comparten una clave maestra.
  • La fase de producción de clave de sesión, que será la usada para cifrar los datos intercambiados.
  • La fase de verificación del servidor, presente sólo cuando se usa RSA como algoritmo de intercambio de claves, y sirve para que el cliente autentique al servidor.
  • La fase de autenticación del cliente, en la que el servidor solicita al cliente un certificado X.509 (si es necesaria la autenticación de cliente).
  • Por último, la fase de fin, que indica que ya se puede comenzar la sesión segura.

El Protocolo SSL Record

El Protocolo SSL Record especifica la forma de encapsular los datos transmitidos y recibidos. La porción de datos del protocolo tiene tres componentes:
  • MAC-DATA, el código de autenticación del mensaje.
  • ACTUAL-DATA, los datos de aplicación a transmitir.
  • PADDING-DATA, los datos requeridos para rellenar el mensaje cuando se usa cifrado en bloque.
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 está diseñado para transferirhipertextos, páginas web o páginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música. 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.
Sistema de Nombres de Dominio
El Domain Name System (DNS) es un sistema de nombres jerárquico basado en una base de datos distribuida de computadoras, servicios, o cualquier otro recurso conectado a laInternet o una red privada . Se asocia la información con variosnombres de dominio asignados a cada una de las entidades participantes. Lo más importante es que traduce los nombres de dominio significativo para los seres humanos en los identificadores numéricos asociados con equipos de red con el fin de localizar y hacer frente a estos dispositivos en todo el mundo.
Una analogía utilizada a menudo para explicar el Domain Name System es que sirve como libro de teléfono para Internet mediante la traducción de usar equipo humano nombres de host en direcciones IP . Por ejemplo, el nombre de dominio www.example.com se traduce en las direcciones 192.0.32.10 ( IPv4 ) y 2620:0:2 d0: 200:: 10 ( IPv6).
El Domain Name System permite asignar nombres de dominio a los grupos de recursos de Internet y los usuarios de una manera significativa, independientemente de la ubicación física de cada entidad. Debido a esto, la World Wide Web (WWW) hipervínculos e información de contacto de Internet puede seguir siendo coherente y constante, incluso si la Internet actual de enrutamiento cambiar los arreglos o el participante utiliza un dispositivo móvil. nombres de dominio de Internet son más fáciles de recordar que las direcciones IP como 208.77.188.166 (IPv4) o 2001: db8: 1f70:: 999: de8: 7648:6 e8 (IPv6). A los usuarios tomar ventaja de esto cuando recitan significativa Localizadores Uniformes de Recursos (URL) ydirecciones de correo-e sin tener que saber cómo funciona el equipo en realidad les localiza.
El Domain Name System distribuye la responsabilidad de asignar nombres de dominio y asignación de los nombres a direcciones IP mediante la designación de los servidores de nombres autorizadospara cada dominio. servidores autorizada, se atribuyen a ser responsables de sus dominios particulares, ya su vez puede asignar otros servidores de nombres autorizados por sus sub-dominios. Este mecanismo ha hecho el DNS distribuida y tolerante a fallos y ha ayudado a evitar la necesidad de un registro central único, al ser consultada y actualizada continuamente.
En general, los nombres de dominio también almacena otro tipo de información, tales como la lista de servidores de correo que aceptancorreo de un dominio de Internet mencionada. Al proporcionar una en todo el mundo, distribuidos palabra clave redirección de servicio basada en el Domain Name System es un componente esencial de la funcionalidad de la Internet .
Otros identificadores, tales como las etiquetas RFID , los códigos UPC , caracteres internacionales en las direcciones de correo electrónico y nombres de host, y una variedad de otros identificadores podrían potencialmente utilizar todos los nombres de dominio. [1] [2]
El Domain Name System también especifica la funcionalidad técnica de este servicio de base de datos. Se define el protocolo DNS, una definición detallada de las estructuras de datos y el intercambio de comunicación utilizado en el DNS, como parte del conjunto de protocolos de Internet .

Sistema operativo

Estimación del uso de sistemas operativos según una muestra de computadoras con acceso a Internet en Noviembre de 2009 (Fuente:W3counter).
Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.[1]
Nótese que es un error común muy extendido denominar al conjunto completo de herramientas sistema operativo, es decir, la inclusión en el mismo término de programas como el explorador de ficheros, el navegador y todo tipo de herramientas que permiten la interacción con el sistema operativo, también llamado núcleo o kernel. Uno de los más prominentes ejemplos de esta diferencia, es el núcleo Linux, el cual es el núcleo del sistema operativo GNU, del cual existen las llamadas distribuciones GNU. Este error de precisión, se debe a la modernización de la informática llevada a cabo a finales de los 80, cuando la filosofía de estructura básica de funcionamiento de los grandes computadores[2] se rediseñó a fin de llevarla a los hogares y facilitar su uso, cambiando el concepto de computador multiusuario, (muchos usuarios al mismo tiempo) por un sistema monousuario (únicamente un usuario al mismo tiempo) más sencillo de gestionar.[3] (Véase AmigaOSbeOS o MacOS como los pioneros[4] de dicha modernización, cuando los Amiga, fueron bautizados con el sobrenombre de Video Toasters[5] por su capacidad para la Edición de vídeo en entorno multitarea round robin, con gestión de miles de colores einterfaces intuitivos para diseño en 3D.
Uno de los propósitos del sistema operativo que gestiona el núcleointermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.)
Sistema de gestión de bases de datosLos sistemas de gestión de bases de datos (en inglés database management system, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y lasaplicaciones que la utilizan
Navegador web
El WorldWideWeb para equipos basados en NeXT, fue el primer navegador web (1991).
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.
La funcionalidad básica de un navegador web es permitir la visualización de documentos de texto, posiblemente con recursos multimedia incrustados. Los documentos pueden estar ubicados en la computadora en donde está el usuario, pero también pueden estar en cualquier otro dispositivo que esté conectado a la computadora del usuario o a través de Internet, y que tenga los recursos necesarios para la transmisión de los documentos (un softwareservidor web).
Tales documentos, comúnmente denominados páginas web, poseenhipervínculos que enlazan una porción de texto o una imagen a otro documento, normalmente relacionado con el texto o la imagen.
El seguimiento de enlaces de una página a otra, ubicada en cualquier computadora conectada a la Internet, se llama navegación, de donde se origina el nombre navegador (aplicado tanto para el programa como para la persona que lo utiliza, a la cual también se le llama cibernauta). Por otro lado, hojeador es una traducción literal del original en inglés, browser, aunque su uso es minoritario.
Cuando contratamos un servidor dedicado (o cualquier otro plan de hosting, pero especialmente un servidor dedicado), es muy importante elegir uno cuyas características de hardware cumplan con todos los requisitos que necesiten nuestros proyectos web.
Básicamente, las principales características en las que debemos fijarnos a la hora de contratar un servidor web son las siguientes:
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 servidorweb 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 clouddesde 35€/mes totalmente administrados. Merece la pena echar un vistazo ;)
Protocolo
Protocolo puede referirse a:
  • Protocolo, ciertas reglas establecidas para las ceremonias oficiales o trato social.
  • Protocolo, texto anexo a un tratado internacional.
  • Protocolo de intercambio, es la relación que se reconoce en la comunicación o la transferencia de información.
  • En informática, un protocolo es un conjunto de reglas usadas por computadoras para comunicarse unas con otras a través de una red.
  • Protocolo de red, conjunto de estándares que controlan la secuencia de mensajes que ocurren durante una comunicación entre entidades que forman una red.
  • Protocolo de Internet (Internet Protocol), protocolo de red para la comunicación de datos a través de paquetes conmutados.
  • Protocolo de tratamiento, conjunto de acciones, procedimientos y exámenes auxiliares solicitados para un paciente con características determinadas.
  • Protocolo de investigación.
  • Protocolo notarial es una recopilación anual de documentos notariales.
  • Protocolo de actuación, conjunto de procedimientos específicos establecidos en un plan.
  • Protocolo secundario, procedimientos establecidos como alternativa de solución ante la falla de la puesta en marcha de un plan de respuesta o conjunto de acciones de emergencia ante una falla no planificada.


Sitio web
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.
Una página web es un documento HTML/XHTML accesible generalmente mediante el protocolo HTTP de Internet.
Todos los sitios web públicamente accesibles constituyen una gigantesca World Wide Web de información (un gigantesco entramado de recursos de alcance mundial).
A las páginas de un sitio web se accede frecuentemente a través de un URL raíz común llamado portada, que normalmente reside en el mismo servidor físico. Los URL organizan las páginas en una jerarquía, aunque los hiperenlaces entre ellas controlan más particularmente cómo el lector percibe la estructura general y cómo el tráfico web fluye entre las diferentes partes de los sitios.
Algunos sitios web requieren una subscripción para acceder a algunos o todos sus contenidos. Ejemplos de sitios con subscripción incluyen muchos portales de pornografía en Internet, algunos sitios denoticias, sitios de juegos, foros, servicios de correo electrónicobasados en web, sitios que proporcionan datos de bolsa de valorese información económica en tiempo real, etc.
Comunidad virtual
Se denomina comunidad virtual a aquella comunidad cuyos vínculos, interacciones y relaciones tienen lugar no en un espacio físico sino en un espacio virtual como Internet.
Alojamiento web
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 unservidor que por lo general hospeda varias aplicaciones o páginas web.
Las compañías que proporcionan espacio de un servidor a sus clientes se suelen denominar con el término en inglés web host.
El hospedaje web aunque no es necesariamente un servicio, se ha convertido en un lucrativo negocio para las compañías de internet alrededor del mundo
Se puede definir como "un lugar para tu página web o correos electrónicos", aunque esta definición simplifica de manera conceptual el hecho de que el alojamiento web es en realidad espacio en Internet para prácticamente cualquier tipo de información, sea archivos, sistemas, correos electrónicos, videos etc.
Seguridad de un servidor web
Los servidores web son una de las muchas caras públicas de una organización y por lo tanto son potencialmente un blanco fácil. Como recurso público, un servidor web es como un “cebo de tiburón” para algunos. Pero no tiene que ser así. Aprenda como un servidor web puede ser público y estar blindado al mismo tiempo.

Los servidores web representan una paradoja interesante, ¿Cómo compartir la información de su organización sin sacrificar el -así llamado- almacenamiento? Solucionar este dilema es un trabajo arduo y poco agradecido; pero es también uno de los más importantes.

Antes de avanzar en el tema, veamos algunas de las amenazas que su servidor puede enfrentar en virtud de estar en el "frente de batalla".
AMENAZAS CONTRA LOS SERVIDORES WEB

Hoy día, hay un enorme número de amenazas a las que hace frente a un servidor web, muchas de ellas dependen del uso, el sistema operativo y el ambiente que se haya configurado en el sistema mismo. Estos son algunos de los ataques más genéricos que su "pobre" servidor puede enfrentar.

° Negación del servicio

Un ataque por negación del servicio (DOS) es uno de los ataques de la “viejo-escuela” que el servidor puede enfrentar. El ataque es muy simple, y hoy en día es realizado por aquellos individuos conocidos comúnmente como script kiddies, con un perfil de habilidades técnicas bajo. En resumen, un ataque DOS es un ataque en el cual un sistema ataca otro con la intención de consumir todos los recursos del sistema (tales como ancho de banda o ciclos del procesador), no dejando nada libre para peticiones legítimas. Generalmente, estos ataques se han relegado a la categoría demolestias, pero no por ello hay razón para bajar la guardia ante ellos, aunque hay un montón de cosas más para mantenerse despierto.

° Negación del servicio distribuida

El ataque por negación del servicio distribuido (DDoS) es el hermano mayor del ataque DOS y como tal es más malo y más sucio. La meta del ataque DDoS es hacer la misma cosa que el DOS, pero a una escala mucho más grande y compleja. En un ataque de DDoS, en vez de un sistema ataque a otro, un atacante utiliza sistemas múltiples para apuntar un servidor (su servidor), y sistemas múltiples significa (en algunos casos) no centenares o millares, sino hasta cientos de millares. Donde el ataque DOS es tan solo una molestia, un ataque de DDoS puede ser mortal, ya que puede llevar a un servidor fuera de línea rápidamente. La buena noticia es que el nivel de habilidad requerido para contrarestar un ataque DDoS apagado no es tan alto.

° Algunos de los ataques mas comunes de DDoS incluyen:
*       Ataques FTP. Un ataque FTP (File Transfer Protocol) se decreta cuando un atacante carga en un servidor ftp un archivo construido especialmente para hacerlo vulnerable, el efecto es que alternadamente lo remite a otra localización, que es generalmente otro servidor ftp dentro de la organización. El archivo enviado típicamente contiene una cierta clase de carga diseñada para hacer que el servidor final haga lo que el atacante desea.
*       Ataque de exploración de puertos. Un ataque de exploración de puertos se realiza a través la exploración estructurada y sistemática de un Host. Por ejemplo, alguien puede explorar su servidor web con la intención de encontrar servicios expuestos u otras vulnerabilidades que puedan ser explotadas. Este ataque puede ser realizado de una manera fácil con cualquier número de programas exploradores de puertos disponibles gratuitamente en Internet. También es uno de los tipos de ataque más comunes, pues es tan simple que los pequeños hackers (script kiddies) los realizan apenas consiguen el nombre de un Host o la dirección IP de un servidor (sin embargo, típicamente ellos no saben interpretar los resultados). Tenga esto presente, pues un atacante con más habilidades utilizará la exploración de puertos para descubrir información que usará en un esfuerzo posterior.
*       Ataque de inundación por ping (Pingflood). Es un ataque simple DDoS en cuál una computadora envía un paquete (ping) a otro sistema con la intención de descubrir información sobre servicios o sistemas de arriba a abajo. En el extremo inferior, una inundación por Ping se puede utilizar para descubrir información encubierta, pero en la parte alta los paquetes que son enviados a una blanco o víctima pueden provocar que el sistema quede fuera de línea o sufra retardos. Este es un ataque a la “vieja escuela”, pero es aún muy eficaz, ya que cierto número de sistemas operativos modernos siguen siendo susceptibles a este.
*       Ataque "Smurf". Este ataque es similar al ataque de inundación por ping pero con una astuta modificación al proceso. En un ataque Smurf, el comando "ping" se envía a una red intermedia, donde el efecto se amplifica y se remite a la víctima. Así, lo que antes era una sola “gota” ahora se convierta en un "tsunami" virtual de tráfico. Afortunadamente, este tipo de ataques es raro.
*       Ataque por inundación SYN (Synflood). Este ataque requiere un cierto conocimiento del protocolo TCP/IP -es decir como trabaja el proceso de comunicación IP-. La manera más fácil de explicar este ataque es con una analogía. Este ataque es el equivalente en una red a enviar a alguien una carta que requiere una respuesta, solamente que la carta utiliza un falso remitente. Así cuando el objetivo envía de vuelta la carta espera una respuesta, pero la respuesta nunca llega porque de alguna manera entra en un hoyo negro en algún lugar. Suficientes peticiones SYN al sistema y el atacante puede provocar que se utilizen todas las conexiones disponibles en el sistema, de modo que nada mas pueda fluir a través de este.
*       Ataque de fragmentación. En este caso, un atacante utiliza conocimientos avanzados del protocolo del TCP/IP para romper los paquetes en pedazos o “fragmentos” más pequeños, que puentean la mayoría de los sistemas de intrusión-detección. En casos extremos, este tipo de ataque puede causar caídas, bloqueos, reboots, pantallas azules y otro tipo de travesuras. Afortunadamente, este ataque es difícil de lograr.
*       Ataque SNMP. Estos ataques se diseñan específicamente para explotar el servicio SNMP, el cual maneja la red y los dispositivos en ella. Ya que el servicio SNMP se usa para manejar los dispositivos de la red, al explotar este servicio se puede conseguir inteligencia detallada sobre la estructura de la red que puede utilizarse más adelante para otros ataques.
° Desconfiguración de la página web
La desconfiguración de la página web ocurre de vez en cuando. Como su nombre lo indica, este ataque resulta de una desconfiguración del sitio, cuando un servidor está incorrectamente configurado, y un atacante utiliza esta debilidad para modificar páginas bajo cualquier cantidad de razones, por ejemplo la diversión o promover una causa política.

° Inyección SQL
Inyecciones SQL (lenguaje de consulta estructurada), son los ataques realizados contra bases de datos. En este caso, un atacante utiliza debilidades en el diseño de la base de datos o de la página web para extraer información o más aún, para manipular información dentro de la base de datos. Aunque no es posible en este caso ser más específicos respecto a cómo quitar este tipo de ataque, usted puede evitarlo si tiene conocimientos de SQL, los cuales debería tener -si está hospedando una base de datos en su servidor web-.

° Codificación pobre
Cualquier persona que ha sido desarrollador o ha trabajado en tecnologías de la información ha visto los problemas asociados a prácticas descuidadas o perezosas en la codificación. Una pobre codificación puede generar un gran número de factores, incluyendo un pobre entrenamiento, nuevos desarrollos, o una escasa garantía de calidad para una aplicación. En el mejor de los casos, una codificación pobre puede ser no mas que una molestia, donde las funcionalidades de una aplicación no trabajen según lo anunciado; pero en el peor de los casos, las aplicaciones pobremente codificadas pueden tener "agujeros" de seguridad importantes.

° Códigos empaquetado (Shrink-wrapped code)
Este problema se relaciona con los anteriores casos de codificación pobre, pero con una diferencia: Básicamente, el problema proviene de la conveniencia de obtener componentes precompilados o desarrollados de antemano, que se pueden utilizar como bloques para construir aplicaciones propias. Su desventaja es que los componentes utilizados pueden no haber pasado un proceso de revisión de su código -tal como el que usted haría-, y su uso puede crear problemas potenciales. Adicionalmente, no es extraño escuchar por parte de los desarrolladores que realmente "no saben como analizar el código y entender totalmente lo que está haciendo" como para saber poner en uso componentes “empaquetados”. En al menos un caso puedo pensarlo. Estoy enterado de un revelador caso en el que usando un bloque del código empaquetado para proporcionar un mecanismo de autentificación -para una aplicación que autentificaba usuarios reales-, también se enviaban electrónicamente las mismas credenciales de manera secreta a una tercera persona.
EN LOS TERRAPLENES
1. Servidores separados del Web para el uso interno y externo. Esto suena como un ningún-brainer, pero él todavía lleva el repetir. La mayoría de las organizaciones tienen usos Tela-basados o sitios usados internamente, así como usos y los sitios utilizaron externamente. En una situación ideal, estos dos sistemas de servidores y contente debe ser mantenido separado, con los sitios internos y externos teniendo sus propios servidores con como poca cruce entre ellos como posible. Partiendo sistemas aparte tenga gusto de esto, usted evitan la probabilidad (o por lo menos disminuya el riesgo) de un atacante que practica una abertura un servidor y conseguir el acceso a los datos o aún a los sistemas internos.
2. Servidores separados del desarrollo y de la producción. En mi tiempo, tengo sabido varias compañías que han violado esta regla dejando su trabajo del equipo del desarrollo sobre los servidores de la producción para desarrollar su código o código existente del pellizco retorcido. Típicamente, esto es justo un caso del extremo holgazanería-uno que puede conducir a los problemas catastróficos más adelante cuando un atacante ve su código sin pulir y lo explota a su poseer extremos. También, considere que sus propios reveladores pueden comprometerse seguridad por código de prueba y que pellizca. Hágase un favor: Instrumento un ambiente del desarrollo.
3. Intervenciones regulares. Cualquier uso del web server o del Web digno de su sal tendrá cierto método de generar registros de la actividad en el sistema. Después de que se registre esta información, hágale la parte de su rutina regular para explorar los registros para los problemas, tales como faltas del uso o sospechoso actividad. Tenga presente que un registro de la intervención es como la evidencia recogida en una escena de crimen: Es esencialmente sin valor a menos que usted se preponga examinar él más adelante.
4. Mantenga su sistema actualizado. Realmente necesito pasar con esto ¿uno? Sí. Remendar un sistema es un problema a menudo-pasado por alto cuando realmente no debe estar. Idealmente, usted debe vigilar si los remiendos, los paquetes del servicio, las actualizaciones, u otros artículos llegan a estar disponibles que puede ayudar asegure su sistema. Dependiendo de su plataforma de recibimiento y otros factores, usted puede tener la opción del tener estas actualizaciones entregado automáticamente, o usted puede tener que utilizar el manual pasado de moda método de la entrega. También tenga presente que muchas veces, actualizaciones son solamente la manera de fijar problemas tales como ésos se relacionó con los desbordamientos del almacenador intermediario, red ediciones del cliente, y así sucesivamente.
5. Exploración de la vulnerabilidad. En artículos anteriores (véase Recursos), cubrí el asunto de exploración de la vulnerabilidad como herramienta para encontrar problemas en su recibimiento y infraestructura del uso. La exploración de la vulnerabilidad puede ser una muy de gran alcance herramienta en la lucha en curso para destapar problemas referente a software, por ejemplo la configuración y ediciones que remiendan. Otra ventaja es ésa estas herramientas de la exploración se ponen al día regularmente, así que usted puede utilizarlas para encontrar los problemas más últimos que, en un número de casos, incluyen las ediciones que usted no puede incluso estar enterado de, permitiendo que usted las trate antes de que puedan explótese. Herramientas tales como el freeware Nessus (véase Recursos) puede ser un gran activo a los administradores sin importar si usted recibe en Linux®, UNIX®, o una cierta otra plataforma.
6. Entrenamiento del revelador. Éste puede ser un pedacito más difícil de quitar, pero cosecha una enorme recompensa, si está emprendido. Educar los reveladores en la codificación segura las prácticas pueden dar lugar a la eliminación o a la reducción de los problemas asociados a la codificación descuidada o perezosa.
OTROS DETALLES

Aparte de estos seis puntos, hay un montón de cosas más que usted puede hacer para mejorar seguridad en la estructura del "hosting" de su organización. Echemos una mirada a algunas de las cosas que tienden a causar problemas y como pueden ser tratadas.

° Mala configuración

Mientras el hardware y el software se hacen más complejos y los equipos de IT se reducen, el potencial para tener el tema bajo radar, crece. Afortunadamente, usando exploradores de la vulnerabilidades, escaneos automatizados, educación llana y simple y la teniendo la diligencia debida se pueden reducir problemas del mala configuración.

° Banderas de Información

Las banderas de información pueden revelar información a aquellos que saben que la información está ahí y decirles cómo buscarla. Tales banderas pueden revelar información como los datos de la versión, mismos que pueden ayudar a un atacante.
"HTTP/1.1 200 OK
Server:
Content-Location: http://w.x.y.z/index.htm
Date: Thu, 1 Jan 2009 14:03:52 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Wed, 31 Dec 2008 18:56:06 GMT
ETag: "067d136a639be1:15b6"
Content-Length: 4325

Por ejemplo, cuando hace una petición a un servidor web para solicitar un contenido estático, como un archivo básico .html o .htm, algo conocido como el "content location header" se anexa a lA respuesta. En la configuración de default, de algunos servidores web, header referirá a la dirección IP y puede o no proporcionar el nombre de dominiop completo (Fully Qualified Domain Name -FQDN-). En el peor panorama, el header podía revelar direcciones IP internas junto con otros datos. Echemos una ojeada el header siguiente.

Este header revela que un poquito acerca de su servidor, pero no tema: Los servidores web pueden comunmente tener esta información a salvo o modificarla al gusto de su organización. (Consulte la documentación de su web server para más información.)

° Permisos

Los permisos todavía tienden para ser un problema en algunos círculos. A menudo, están incorrectamente asignados o planeado incorrectamente, permitiendo a los individuos el acceso a las partes o aplicaciones del servidor que no debieran. Compruebe siempre para estar seguro de que los que manejan e interactúan con su servidor tienen los permisos apropiados para hacer lo que necesitan y no más: Esto también se conoce como privilegios mínimos (least privilege).

° Mensajes de error

Todos hemos obtenido el temido mensaje 404 o alguno de sus primos de vez en vez, diciéndonos que la información que buscamos no se puede encontrar o ha sido una víctima de cierto tipo de falla. Pero estos mensajes de error podrían revelar mucho más si se mira más de cerca. Para un hacker, cualquier mensaje de error que su servidor genera puede revelar información sobre como están configuradas sus aplicaciones, qué bibliotecas utiliza, sus conexiones a la base de datos y otras muchas cosas. Afortunadamente esto no tiene que ser así. Utilize todos los mensajes de error a su favor duramte las pruebas y el desarrollo para ayudarse a "cachar" fallas. Pero cuando libere su aplicación o servidor web a producción, los mensajes de error deben ser deshabilitados o configurados para revelar sólo información muy genérica. (Consulte la documentación de su web server para saber como hacer esto.)

° Servicios

Al construir un sistema para hospedar su servidor web y aplicaciones, planee cuidadosamente qué características y funcionalidades necesita, y después construya el servidor para cumplir esa meta. Básicamente, cuando resuelva lo que su servidor hará, habilite solo aquellos servicios y funcionalidades para soportar el rol y remueva o deshabilite aquellas que no sean necesarias para el ambiente. Tenga en mente que cualquier otro servico o funcionalidad presente y habilitada es justo otro potencial agujero que un atacante puede explotar.

° Protocolos

De nuevo, tal como en los servicios, cualquier protocolo -tal como NetBIOS- que no necesite debe inhabilitado o francamente removido.

° Cuentas de usuario

No es poco común para sistemas operativos y aplicaciones, tener cuentas de usuario por defecto desde el momento de su instalación. Para estar seguros esto es algo a lo que se debe prestar atención. Establezca un punto de verificación sobre las cuentas presentes, inhabilitando o quitan las que no necesita, y fortaleciendo (y cambiando) las contraseñas de las que si necesita.

° Muestras y archivos de prueba

No es extraño para algunos servidores y aplicaciones web incluir archivos de muestra y componentes de prueba para mostrar lo que se puede hacer con el producto. En un ambiente seguro, estos archivos debe ser eliminados de los servidores y aplicaciones web en producción, ya que pueden ser manipulados y permitir accesos no autorizados.

° Puertos

Revise que puertos requieren su servidor web y aplicaciones para funcionar, permita (y monitoree) esos puertos. De hecho, los puertos que no esté utilizando deben ser cerrados y bloqueado por un Firewall.
OTRAS MEDIDAS DE PROTECCIÓN

Hay otros artículos cuya utilización puede considerar para fortalecer su ambiente de hosting:

* sistemas de la Intrusión-detección (anfitrión y red-basado). Estos sistemas son los dispositivos del hardware o del software que pueden ayudarle a supervisar el acceso a través la red a y desde su servidor así como actividad en el servidor sí mismo.
* Software de Antivirus. Oui, vous devriez avoir un sur votre web server.
* Cortafuegos. El un montón de cortafuegos está disponible: Elija el eso los mejores ajustes sus necesidades, y lo despliegan delante de su web server.
* Sentido común. Sí, tuve que agregar éste. En la década pasada, cuando el Internet hacía su manera en nuestro diario vivir-amba en el personal y en la idea de los mundos- del negocio estaba a consiga lo que usted podría en el Internet, porque era la cosa a hacer. Como resultado de este “Zerg acometa” para conseguir en el Internet rápidamente hacer a el chapoteo grande antes de sus competidores, muchos de información fue puesto hacia fuera allí eso nunca debe haber estado. Recuerde, no todo necesita para estar en el Internet. También, tenga presente que si usted puso algo encendido el Internet, usted bonito no puede poner mucho el genie detrás en la botella más adelante. ¿No convencido? Heche una ojeada www.archive.org y vea lo que ha tenido su Web site o los de sus competidores encima los últimos 10 años.


CUADRO COMPARATIVO
SERVIDOR APACHE
SERVIDOR INFORMATION SERVER
*servidor web
*servidor web
*de código abierto para plataformas UNIX
*el mas utilizado
*se desarrollo en 1995
*Trabaja con Microsoft Windows
*se basa en el código del popular NCSA HTTPD1.3
*no trabaja con muchas aplicaciones
*consistía en un conjunto de parches a aplicar al servidor de NCSA

*servidor “parcheado”

investigación 1.2

1.2 Administra las herramientas y asigna configuraciones del servidor web, de acuerdo a los requerimientos de los sitios web a administrar

1.2.1. Configura la plataforma y los recursos para el desarrollo de aplicaciones del sitio web.

A. Instalación y configuración del servidor web.

• Requerimientos de instalación:
 Dos o más ordenadores en red, dedicando uno de ellos enclusiva a servidor.
El ordenador que hace de servidor no necesita ser un ’superordenador’. Por ejemplo el servidor lubrin.org está montado en un PII - 266 Mhz - 128 Mb RAM (estando recibiendo actualmente cerca de 100 visitas diarias)
 Una conexión a internet de banda ancha.
En este ejemplo se considerará una conexión ADSL
 Un router configurado en multipuesto.
Aunque existen otras configuraciones en monopuesto, en el documento actual se considera el caso de multipuesto principalmente porque partimos de la base de usar como servidor un ordenador con pocos recursos y no queremos ralentizar el acceso a internert al resto de ordenadores de la red.
¿Qué tipo de router es el más indicado? Debemos tener en cuenta que el servidor lo montaremos bajo S.O. Linux porque:
  • la mayoría de servidores de internet estan montados bajo Linux, al contrario de los PCs de escritorio donde la mayoría suelen correr con Windows
  • usando Linux y software libre no tenemos que gastar dinero en software
  • estamos libres de virus
  • no necesitaremos desfragmetar, ni formatear, ni reiniciar de vez en cuando (como suele ocurrir con windows) por lo que nuestro servidor estará disponible realmente las 24 horas durtante los 365 días del año.
  • no necesitamos invertir en hardware y tener un ordenador potente (lo cual seria necesario si optásemos por un servidor con windows)
Por tanto cualquier router de los de siempre vale (de cada ordenador de la red va un cable hasta el router y desde el router sale otro cable hasta la línea ADSL).
Si nos decidimos por un router mixto (los nuevos, que además de cable son wifi) debemos asegurarnos que las tarjetas de red inalámbricas, que pongamos en los ordenadores de la red, sean compatibles con Linux.
 Un dominio.
Aunque existen dominios gratuitos (del tipo midominio.empresa_que_lo_proporciona.org) es mejor adquirir (por unos 15€ anuales) uno en propiedad (del tipo: midominio.org, midominio.es, midominio.com, etc.)
 Una IP fija.
Aunque no es imprescindible, si no tienes IP fija dispones de dos opciones:
  • buscar información en internet sobre cómo montar un servidor con ip dinámica
  • preguntar a tu proveedor de internet cuanto subiría tu cuota mensual si te asignan ip fija

• Iniciar, detener o reiniciar el servidor web.
Para iniciar o detener un servidor web
Este procedimiento se puede realizar mediante la interfaz de usuario (IU) o una línea de comandos. Para obtener información sobre cómo abrir el Administrador de IIS, vea Abrir el Administrador de IIS (IIS 7).
Utilizar la interfaz de usuario
  1. Abra Administrador de IIS y navegue al nodo de servidor web en el árbol.
  2. En el panel Acciones, haga clic en Iniciar si desea iniciar el servidor web o en Detener si desea detenerlo.
Usar una línea de comandos
  1. Abra una ventana de línea de comandos con privilegios elevados.
  2. En el símbolo del sistema, escriba net stop WAS y presione ENTRAR; escriba Y y, a continuación, presione ENTRAR para detener también W3SVC.
  3. Para reiniciar el servidor web, escriba net start W3SVC y presione ENTRAR para iniciar los servicios WAS y W3SVC.
• Configuración del sitio web.
Lo primero que haremos será indicar en nuestros dos sitios web (recordemos, el "Sitio Web de MiCentro" y el "Sitio Web para los Departamentos") los documentos predeterminados deseamos que sean buscados por defecto (en nuestro caso en primer lugar los ficheros "index.html" e "index.htm"); para ello y sobre cada uno de los dos sitios web creados, haremos clic con el botón derecho del ratón y seleccionaremos la opción "Propiedades"; en la ventana que se muestra nos ubicaremos en la pestaña “Documentos” y pulsando sobre el botón "Agregar", incluimos como documentos predeterminados “index.html” e “index.htm”, y los reordenamos con las flechas que aparecen a la izquierda para que éstos sean los primeros y “default.hmt” y “default.asp”, que eran los que venían por defecto en el servidor Web IIS sean los siguientes, tal y como vemos en la siguiente ventana; finalmente pulsamos sobre el botón "Aceptar".
• IP del sitio web
En muchas ocasiones deseamos saber la ip de un sitio web –por pura curiosidad– ya que una ip puede ser como un número telefónico, según el número así es la ubicación.
Para saber la ip de un sitio web es muy sencillo solo debe ir a inicio y escribir en el buscador del menú de Windows: “cmd” sin comillas o hacer la combinación “win + r” y siempre escribir lo mismo.
Luego debe escribir “ping” y el nombre el sitio web por ejemplo ww.sitioweb.com y presionar enter, podrá observar la ip que tiene ese sitio web, cabe mencionar que pueden haber varios sitios web con la misma ip, lo que se le llama servidor compartido y si es un sitio pequeño es probable que hayan varios en el mismo servidor.

• Puerto del sitio (TCP).
En TCP/IP, el protocolo que usan los ordenadores para entenderse en Internet -y actualmente casi en cualquier otra red-, el puerto es una numeración lógica que se asigna a las conexiones, tanto en el origen como en el destino. No tiene ninguna significación física.
El permitir o denegar acceso a los puertos es importante porque las aplicaciones servidoras (que aceptan conexiones originadas en otro ordenador) deben 'escuchar' en un puerto conocido de antemano para que un cliente (que inicia la conexión) pueda conectarse. Esto quiere decir que cuando el sistema operativo recibe una petición a ese puerto, la pasa a la aplicación que escucha en él, si hay alguna, y a ninguna otra. Los servicios más habituales tienen asignados los llamados puertos bien conocidos, por ejemplo el 80 para web, el 21 para ftp, el 23 para telnet, etc. Así pues, cuando usted pide una página web, su navegador realiza una conexión al puerto 80 del servidor web, y si este número de puerto no se supiera de antemano o estuviera bloqueado no podría recibir la página.
Un puerto puede estar:
  • Abierto: Acepta conexiones. Hay una aplicación escuchando en este puerto. Esto no quiere decir que se tenga acceso a la aplicación, sólo que hay posibilidad de conectarse.
  • Cerrado: Se rechaza la conexión. Probablemente no hay aplicación escuchando en este puerto, o no se permite el acceso por alguna razón. Este es el comportamiento normal del sistema operativo.
  • Bloqueado o Sigiloso: No hay respuesta. Este es el estado ideal para un cliente en Internet, de esta forma ni siquiera se sabe si el ordenador está conectado. Normalmente este comportamiento se debe a un cortafuegos de algún tipo, o a que el ordenador está apagado.
En una URL (Universal Resource Locator) los puertos se denotan con ':' a continuación del nombre de la máquina, por ejemplo http://www.alerta-antivirus.es:80/index.html quiere decir pedir el documento 'index.html' mediante http conectándose al puerto 80 de este servidor. Como 80 es el como es el puerto por defecto para http se puede omitir.
Las aplicaciones de tipo cliente, como un navegador web, un cliente de correo electrónico, o de chat (IRC) no necesitan tener puertos abiertos
¿ Por qué es peligroso tener un puerto abierto ?
Al fin y al cabo los puertos son puntos de acceso a aplicaciones corriendo en un ordenador. Aunque en teoría no fuese un problema, estas aplicaciones pueden tener vulnerabilidades que pueden ser aprovechadas por otros usuarios. Desde el punto de vista de seguridad, es recomendable permitir el acceso sólo a los servicios que sean imprescindibles, dado que cualquier servicio expuesto a Internet es un punto de accesso potencial para intrusos.
También es recomendable el funcionamiento sigiloso para no dar facilidades a los hackers. Algunos hackers hacen escaneos aleatorios de IPs y puertos por Internet, intentando identificar las características de los sistemas conectados, y creando bases de datos con estas. Cuando se descubre una vulnerabilidad, están en disposición de atacar rápidamente a las máquinas que se sabe que son del tipo vulnerable. Además si no se responde se frena a los escáneres de puertos, que esperan un tiempo determinado antes de descartar el intento de conexión.
A continuación, se presentan varios escaneadores de puertos que informan del estado de los puertos, permitiéndonos conocer si somos vulnerables a ataques remotos (puertos abiertos), o si alguna aplicación no deseada (como un caballo de Troya) esta utilizando nuestros puertos de forma inadvertida.
La pulsación sobre los iconos da acceso a los sitios web que proporcionan el servicio de escaneo de puertos.
Los dos primeros enlaces conectan a escaneadores en español, mientras que el resto redirigen a páginas en inglés o descargan aplicaciones en este idioma.

• Dominio del sitio.
Un dominio o nombre de dominio es el nombre que identifica un sitio web. Cada dominio tiene que ser único en Internet. Por ejemplo, "www.masadelante.com" es el nombre de dominio de la página web de Masadelante. Un solo servidor web puede servir múltiples páginas web de múltiples dominios, pero un dominio sólo puede apuntar a un servidor.
• Directorio de publicación del sitio.
Los sitios web están almacenados en directorios según una estructura lógica. Existen dos tipos de directorios: directorios principales y directorios virtuales.
·                     Directorio principal: En el caso del sitio web predeterminado suele ser el directorioc:\InetPub\wwwroot. En este directorio colgarán nuestras páginas web.
·                     Directorio virtual: se utiliza cuando el sitio web está distribuido entre varios directorios, unidades o equipos.
El primer paso para crear varios sitios web en su servidor consistirá en configurar los directorios principales predeterminados. Estos directorios pueden residir en el disco local o en una unidad de red. Bastará utilizar el explorador de Windows para crear una nueva carpeta.
A continuación, se iniciará el Administrador de servicios de Internet. En el menú Acción ,seleccione Nuevo sitio web, para iniciar el Asistente para crear un sitio web. Haga clic en Siguiente para pasar a la pantalla de introducción de datos. El primer cuadro de diálogo nos pedirá una descripción del sitio, la cual lo identificará en la MMC.
• Permisos de acceso.
Esta pestaña nos permitirá definir los permisos adecuados para que los clientes tengan acceso a este sitio web:
·         Lectura. Permite que los clientes vean páginas de este sitio.
·         Ejecutar secuencias de comandos. Permite que los clientes soliciten páginas con código ASP y que se ejecute dicho código.
·         Ejecutar. Esta opción permite la ejecución de aplicaciones CGI o ISAPI en este sitio.
·         Escritura. Si se activa esta opción, los clientes podrán cargar, eliminar o transferir archivos a este directorio.
·         Examinar. Permite que los clientes examinen el contenido de los directorios
Si hemos seguido los pasos anteriores en MMC tendremos una nueva entrada cuyo nombre se corresponderá con la descripción del sitio y por tanto habremos creado un nuevo sitio web.
           
B) ADMINISTRACION DEL SERVIDOR WEB.
Asignación de la administración de características del servicio.
Los administradores del conjunto o granja de servidores pueden delegar la administración de ya sea una aplicación de servicio de perfiles de usuario o características seleccionadas de esta aplicación a un administrador de aplicaciones de servicio. Un administrador de aplicaciones de servicio puede delegar la administración de una o más características de una aplicación de servicio de perfiles de usuario a otro usuario, conocido como administrador de características. Un administrador de características puede realizar todas las tareas administrativas relacionadas con la característica o características delegadas, pero no puede administrar otras características, aplicaciones de servicio o configuraciones contenidos en Administración central. Para obtener más información, vea Introducción al servicio de perfiles de usuario (SharePoint Server 2010).
Personalización De Errores De Administración Del Protocolo HTTP.
El protocolo HTTP (el que se usa para transmitir las páginas web), tiene una sere de códigos y mensajes de error predefinidos.
De este modo, si intentas buscar una página que no existe, el servidor te enviará un texto parecido a:
ERROR:
Que significa, más o menos: "Lo siento, amigo. La página esa no aparece".
El mensaje por defecto, además de estar en inglés, suele ser un simple texto negro sobre fondo blanco. Y, sin embargo, hay montones de sitios que tienen sus propios mensajes personalizados.
¿Cómo lo hacen? ¿Necesitan reprogramar el servidor? ¿Es muy difícil?
Nada de eso. Cualquiera puede crear sus propios mensajes de error. Solo es necesario tener acceso a crear o modificar el archivo .htaccess.
Y este es el problema. La mayoría de los servidores gratuitos no te permitirán tocar ese fichero. De hecho, ni tan siquiera podrás verlo.
Pero, si tienes tu propio servidor, o tienes uno de pago, o tu servidor gratuito lo permite, verás que todo esto es muy simple.
Lo primero que tienes que hacer es crear una serie de páginas que serán las que se muestren a cada error. Estas páginas pueden estar ubicadas en cualquier parte de tu servidor, pero lo mejor será, por una cuestión de claridad, que crees un directorio especial para ellas (por ejemplo, llamado "error").
Ajustes de rendimiento del servidor
Esta sección incluye información acerca de la configuración, el aprendizaje para usuarios finales, el mantenimiento y otras recomendaciones para optimizar una granja de servidores de Office SharePoint Server 2007 existente.
Supervisión del rendimiento de SQL Server
Es preferible supervisar el rendimiento y la capacidad desde la parte inferior de la pila hasta la parte superior, ya que la carga de la base de datos puede aumentar la carga que sufren los servidores web. Por ejemplo, si el servidor que ejecuta SQL Server está tardando bastante más tiempo en responder a una solicitud de un servidor web y dicho servidor recibe solicitudes de usuarios finales a un ritmo normal, las solicitudes en el servidor web comenzarán a ponerse en cola. Este comportamiento puede dar la impresión de que se trata de un problema de rendimiento del servidor web, aunque en realidad está relacionado con el servidor de bases de datos.
Para , asegúrese de supervisar la fragmentación del índice de SQL Server y siga las instrucciones de desfragmentación de SQL Server para Productos y tecnologías de SharePoint que se incluyen en el siguiente artículo de Microsoft Knowledge Base sobre cómo desfragmentar bases de datos de Windows SharePoint Services 3.0 y de SharePoint Server 2007(http://go.microsoft.com/fwlink/?linkid=105588&clcid=0xC0A). Estas recomendaciones pueden mejorar notablemente los tiempos de búsqueda.
Aplicar la revisión del contador Número de GC provocados de ASP.NET
Al ejecutar una aplicación web de Microsoft ASP.NET 2.0 basada en la versión 2.0 de Microsoft .NET Framework, como Office SharePoint Server 2007, el valor del contador de rendimiento Número de GC provocados aumenta muy rápidamente. Asimismo, se intensifica el uso de la CPU y disminuye el rendimiento del equipo. Para solucionar este problema, aplique la revisión disponible en el siguiente artículo de Knowledge Base sobre la revisión para cuando el valor del contador de rendimiento Número de GC provocados aumenta rápidamente y se intensifica el uso de la CPU al ejecutar una aplicación web de ASP.NET 2.0 basada en .NET Framework 2.0 (http://go.microsoft.com/fwlink/?linkid=105921&clcid=0xC0A).

Permisos  especificados según director y usuario.
Los permisos de sistemas UNIX se dividen en tres clases, conocidas comousuariogrupo y otros (con frecuencia abreviado UGO, por sus siglas eninglésUserGroupOthers). De hecho, los permisos en Unix son una forma simplificada de listas de control de acceso (ACLs).
Notación simbólica
Existen muchas formas para representar los esquemas de permisos Unix. La forma más común es la notación simbólica. Este esquema permite representar permisos en una serie de 10 caracteres.
El primer carácter indica el tipo de archivo:
Cada clase de permisos se representa por tres caracteres. El primer conjunto de caracteres representa la clase de usuario. El segundo conjunto representa la clase de grupo. El tercer y último conjunto de tres caracteres representa la clase del resto.
Cada uno de los tres caracteres representa los permisos de lectura, escritura y ejecución respectivamente:
  • 'r' si el bit de lectura está asignado, '-' en caso contrario.
  • 'w' si el bit de escritura está asignado, '-' en caso contrario.
  • 'x' si el bit de ejecución está asignado, '-' en caso contrario.
Estos son algunos ejemplos de notación simbólica:
  1. "-rwxr-xr-x" para un archivo regular que tiene todos los permisos asignados para su propietario y solo permisos de lectura y ejecución para el grupo de usuarios del archivo y el resto de los usuarios. Ningún usuario, salvo el propietario, puede modificar los contenidos del archivo.
  2. "crw-rw-r--" para un archivo especial de caracteres que tiene permisos de lectura y escritura para su propietario y grupo de usuarios y solo permiso de lectura para el resto de los usuarios.
  3. "dr-x------" para un directorio que tiene permisos de lectura y ejecución únicamente para su propietario.
Restricción de contenidos
Puede configurar las características de restricción de contenido del servidor Web para incluir etiquetas descriptivas en los encabezados HTTP de las páginas Web. Algunos exploradores Web, como Microsoft Internet Explorer versión 3.0 o posterior, pueden detectar estas etiquetas de contenido y así ayudar a los usuarios a identificar contenido Web potencialmente ofensivo. El sistema de clasificación basado en la Plataforma para la selección del contenido de Internet (PICS) del servidor Web emplea un sistema desarrollado por la Asociación para la clasificación del contenido de Internet (ICRA), que clasifica el contenido según el grado de violencia, desnudos, contenido de carácter sexual y lenguaje ofensivo. Antes de clasificar su contenido de Web, debe rellenar un cuestionario de ICRA para obtener la clasificación de contenido recomendada para su caso particular.
Si el sitio Web puede ser visitado por el público general, es recomendable realizar una clasificación de su contenido. La clasificación del contenido no impide el acceso de los usuarios al sitio, ya que éstos deben habilitar también los sistemas de clasificación y limitación del contenido en los equipos cliente para que la información de clasificación afecte a su navegación.
Tipos de archivo y extensiones soportadas
Tipos de Archivos
Podemos dividir los archivos en dos grandes grupos. Éstos son los ejecutables y los no ejecutables o archivos de datos. La diferencia fundamental entre ellos es que los primeros están creados para funcionar por sí mismos y los segundos almacenan información que tendrá que ser utilizada con ayuda de algún programa.

De todos modos, la mayoría de los programas llevan otros archivos que resultan necesarios aparte del ejecutable. Estos archivos adjuntos que requieren los programas son necesarios para su buen funcionamiento, y aunque puedan tener formatos distintos no pueden ser separados de su programa original. O al menos si queremos que siga funcionando bien. Dentro de los archivos de datos se pueden crear grupos, especialmente por la temática o clase de información que guarden. 
Tipos De Extensiones De Archivos:
Estos son los archivos necesarios para el funcionamiento interno del Sistema Operativo así como de los diferentes programas que trabajan en él.
No está recomendado moverlos, editarlos o variarlos de ningún modo porque pueden afectar al buen funcionamiento del sistema.
.BAT: archivo de procesamiento por lotes de DOS. Se ejecuta abriendo una sesión de DOS y tipeando el nombre del archivo.
.BIN: archivo con contenido de datos en formato de sistema binario, utilizado por muchos programas.
.COM: archivó de comando de programa de DOS. Se ejecuta tipeando el nombre o haciendo clic sobre él. Windows abrirá una sesión de DOS y lo ejecutará.
.DLL: archivó de librería de vínculo dinámico. Es una colección de pequeños programas que son invocados por otro programa más grande cuando es necesario.
.DRV: archivo que interactúa con un dispositivo o un programa específico. Contiene información sobre el dispositivo o programa que elsoftware que lo utiliza no posee.
.DUN: acceso telefónico a redes. Al hacer clic sobre este archivo, se accede a Internet mediante el número y el password especificado en el archivo.
.EXE: programa autoejecutable. Se corre una vez que se hace clic sobre el archivo.
.FON / .TTF: archivos de fuentes(tipografías) de Windows..INI: archivo para iniciar Windows. Contiene información sobre los dispositivos y aplicaciones que se inician junto con el sistema operativo.
.OCX: programa de control personalizado. Provee a Windows de funciones específicas, como el redimensionamiento de ventanas y scroll de la barra espaciadora.
.REG: archivo de registro de Windows, en el cual se guarda la configuración de las aplicaciones instaladas. Si no eres experto, no lo abras.
.TMP: archivo temporal de trabajo de Windows. Lo utiliza el sistema para efectuar procesasen el disco rígido y los borra una vez finalizado dicho proceso.
.VXD: archivo de controlador virtual de Windows. Es necesario para controlar los dispositivos de la PC.
.SYS: archivo de sistema, fundamental para que el sistema operativo funcione correctamente. Tampoco conviene abrirlo si no se conoce su funcionamiento interno.
C) CONFIGURACION EN SITIOS WEB.
Ruta de acceso local
En Windows XP es mas complicado establecer contraseña de acceso, debido a la tecnología NT que tiene. Realiza los siguientes pasos:
Inicio - Panel de Control - Herramientas Administrativas - Administración de
equipos - Usuarios locales y grupos (doble clic) - En Usuarios pulsa clic
derecho y escoge Usuario Nuevo - Escribes el nombre del ordenador que se
conectará - Pulsa la opción "El usuario no puede cambiar la contraseña"
Te lo creará y en la ventana derecha aparecerá el usuario creado. Haz clic
derecho sobre él y pulsa en Propiedades - en la pestaña "Perfil" crea una
"Ruta de acceso local" que será la ubicación de la carpeta donde podrá
entrar el usuario únicamente. Y la contraseña de acceso.
Lenguajes en programación configurados en el servidor web.
Actualmente existen diferentes lenguajes de programación para desarrollar en la web, estos han ido surgiendo debido a las tendencias y necesidades de las plataformas. En el presente artículo pretende mostrar las ventajas y desventajas de los lenguajes más conocidos.
Desde los inicios de Internet, fueron surgiendo diferentes demandas por los usuarios y se dieron soluciones mediante lenguajes estáticos. A medida que paso el tiempo, las tecnologías fueron desarrollándose y surgieron nuevos problemas a dar solución. Esto dio lugar a desarrollar lenguajes de programación para la web dinámicos, que permitieran interactuar con los usuarios y utilizaran sistemas de Bases de Datos. A continuación daremos una introducción a los diferentes lenguajes de programación para la web.

investigación de servidores web

Servidor HTTP Apache
El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSDGNU/Linux, etc.), Microsoft WindowsMacintosh y otras, que implementa el protocolo HTTP/1.11y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en inglés, a patchy server (un servidor "parcheado").
El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.
Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración.
Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft2 ).
La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache.

Información Server
Un servidor de información es una plataforma de software integrada que consiste en un conjunto de módulos funcionales del núcleo que permite a las organizaciones integrar datos de diferentes fuentes y ofrecer información completa y de confianza, al tiempo que sea necesario y en el formato que sea necesario. Similar a cómo un servidor de aplicaciones es un motor de software que ofrece aplicaciones de equipos cliente, un servidor de información ofrece información consistente consume aplicaciones, portales y procesos de negocios.
Contenido [ocultar]
1 Visión general de la arquitectura
2 Ventajas de un servidor de información
3 Valor para el negocio de un servidor de información
Historia 4
5 Enlaces externos

[editar] Aplicación de servidor de información de arquitectura overviewAn puede considerarse en tres niveles lógicos: una base de la plataforma, una capa de información orientada a servicios y una serie de módulos opcionales.[1] Ver en esta construcción, un servidor de información se ve así:
Componentes opcionales

Entender: diseño de perfiles y metadatos creación de datos para comprender el contenido, la calidad y la estructura de la información que reside en los sistemas de origen
Limpiar: procedimientos de calidad de datos para eliminar información duplicada, coinciden con los registros comunes, estandarizar los formatos y sobrevivir a la mejor información en adelante
Transformar: extraer, transformación y carga (ETL) de información desde cualquier origen de datos (mainframe, estructurado y no estructurado, o aplicación) a otro
Entregar: capacidades de Federación de datos para ver y manipular los datos desde una colección de recursos como si fueran un único recurso conservando su autonomía y su integridad.
Nivel de servicios
Procesamiento en paralelo
Gestión de metadatos
Administración e informes
Implementación de servicio (para la utilización de SOA)
Conectividad

resumen de protocolos

Hypertext Transfer Protocol
*Hypertext Transfer Protocol o HTTP protocolo de transferencia dehipertexto, es usado en cada transacción de la World Wide Web.
*HTTP define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies).
*Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor.
*No guarda ninguna información sobre conexiones anteriores.
*fue desarrollado por el Word web wide consortium y la internet engineering task forcé.

Hypertext Transfer Protocol Secure

*Protocolo seguro de transferencia de hipertexto
*Es un protocolo de red basado en el protocolo HTTP, destinado a la transferencia segura de datos de hipertexto
*Es utilizado principalmente por entidades bancarias, tiendas en línea, y cualquier tipo de servicio que requiera el envío de datos
*La idea principal es la de crear un canal seguro sobre una red insegura.
*son utilizados por navegadores como: SafariInternet ExplorerMozilla FirefoxOpera y Google Chrome, entre otros.
*creado en 1994

File Transfer Protocol

*Protocolo de Transferencia de Archivos
*Es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red
*Basado en la arquitectura cliente-servidor.
*Es ofrecido por la capa de Aplicación del modelo de capas de red
*Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión
*Basado en la filosofía de cliente-servidor.
*Fue publicado el 16 de abril de 1971
TFTP
*Protocolo de transferencia de archivos trivial.
*Es un protocolo de transferencia muy simple.
*Se utiliza para transferir pequeños archivos entre ordenadores en una red
*Utiliza UDP como protocolo de transporte
*No puede listar el contenido de los directorios.
*Se utiliza para leer o escribir archivos de un servidor remoto.
*Soporta tres modos diferentes de transferencia, "netascii", "octet" y "mail".
SSH File Transfer Protocol
*es un protocolo de red que proporciona la funcionalidad necesaria para la transferencia y manipulación de archivos.
*Se utiliza para proporcionar la seguridad a los datos.
*Permite una serie de operaciones sobre archivos remotos.
Secure Shell
*Intérprete de órdenes segura
*Sirve para acceder a máquinas remotas a través de una red.
*Permite manejar la computadora mediante un intérprete de comandos
*Nos permite copiar datos de forma segura
Secure Copy
*Es un medio de transferencia segura de archivos informáticos
*Es un protocolo simple que deja al servidor y al cliente tener múltiples conversaciones sobre una TCP.
*Esta diseñado para ser simple de implementar.
*Puede solicitar de manera iterativa cualquier contraseña.

Secure Socket Layer (SSL)

*Es un sistema diseñado y propuesto por Netscape Communications Corporation.
* Se encuentra en la pila OSI.
*Proporciona sus servicios de seguridad cifrando los datos intercambiados entre el servidor y el cliente con un algoritmo de cifrado simétrico.
*Proporciona cifrado de datos, autenticación de servidores, integridad de mensajes y, opcionalmente, autenticación de cliente para conexiones TCP/IP.

resumen de arquitectura web

Arquitectura Web
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... ).
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.
El rol de arquitecto web es asegurarse de que esto no ocurra.
Servidor web                                                            
Un servidor web es un programa que está diseñado para transferirhipertextos, páginas web o páginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música. 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.
Sistema de Nombres de Dominio
El Domain Name System (DNS) es un sistema de nombres jerárquico basado en una base de datos distribuida de computadoras, servicios, o cualquier otro recurso conectado a laInternet o una red privada . Se asocia la información con variosnombres de dominio asignados a cada una de las entidades participantes.
El Domain Name System permite asignar nombres de dominio a los grupos de recursos de Internet y los usuarios de una manera significativa, independientemente de la ubicación física de cada entidad.
El Domain Name System distribuye la responsabilidad de asignar nombres de dominio y asignación de los nombres a direcciones IP mediante la designación de los servidores de nombres autorizadospara cada dominio. servidores autorizada, se atribuyen a ser responsables de sus dominios particulares, ya su vez puede asignar otros servidores de nombres autorizados por sus sub-dominios.
Sistema operativo
Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones.[]
Uno de los propósitos del sistema operativo que gestiona el núcleointermediario consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. 
Sistema de gestión de bases de datos
Los sistemas de gestión de bases de datos
Son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan
Navegador web
Un navegador o navegador web es un programa que permite ver la información que contiene una página web .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.
La funcionalidad básica de un navegador web es permitir la visualización de documentos de texto, posiblemente con recursos multimedia incrustados.
Las principales características en las que debemos fijarnos a la hora de contratar un servidor web son las siguientes:
Procesador: Seguramente nos darán a elegir entre intel o AMD, entre núcleo, doble núcleo, 4 núcleos, etc.
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.
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.
Protocolo
Protocolo puede referirse a:
  • Protocolo, ciertas reglas establecidas para las ceremonias oficiales o trato social.
  • Protocolo, texto anexo a un tratado internacional.
  • Protocolo de intercambio, es la relación que se reconoce en la comunicación o la transferencia de información.
  • En informática, un protocolo es un conjunto de reglas usadas por computadoras para comunicarse unas con otras a través de una red.
  • Protocolo de red, conjunto de estándares que controlan la secuencia de mensajes que ocurren durante una comunicación entre entidades que forman una red.
  • Protocolo de Internet (Internet Protocol), protocolo de red para la comunicación de datos a través de paquetes conmutados.
  • Protocolo de tratamiento, conjunto de acciones, procedimientos y exámenes auxiliares solicitados para un paciente con características determinadas.
  • Protocolo de investigación.
  • Protocolo notarial es una recopilación anual de documentos notariales.
  • Protocolo de actuación, conjunto de procedimientos específicos establecidos en un plan.
  • Protocolo secundario, procedimientos establecidos como alternativa de solución ante la falla de la puesta en marcha de un plan de respuesta o conjunto de acciones de emergencia ante una falla no planificada.


Sitio web
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.
Una página web es un documento HTML/XHTML accesible generalmente mediante el protocolo HTTP de Internet.
A las páginas de un sitio web se accede frecuentemente a través de un URL raíz común llamado portada, que normalmente reside en el mismo servidor físico.
Comunidad virtual
Se denomina comunidad virtual a aquella comunidad cuyos vínculos, interacciones y relaciones tienen lugar no en un espacio físico sino en un espacio virtual como Internet.
Alojamiento web
El alojamiento web es el servicio que provee a los usuarios deInternet un sistema para poder almacenar información, imágenes, vídeo, o cualquier contenido accesible vía web. 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 unservidor que por lo general hospeda varias aplicaciones o páginas web.
Seguridad de un servidor web
Los servidores web son una de las muchas caras públicas de una organización y por lo tanto son potencialmente un blanco fácil.
AMENAZAS CONTRA LOS SERVIDORES WEB
° Negación del servicio
Un ataque por negación del servicio (DOS) es uno de los ataques de la “viejo-escuela” que el servidor puede enfrentar. El ataque es muy simple, un ataque DOS es un ataque en el cual un sistema ataca otro con la intención de consumir todos los recursos del sistema (tales como ancho de banda o ciclos del procesador), no dejando nada libre para peticiones legítimas.
° Negación del servicio distribuida
El ataque por negación del servicio distribuido (DDoS) es el hermano mayor del ataque DOS y como tal es más malo y más sucio. La meta del ataque DDoS es hacer la misma cosa que el DOS, pero a una escala mucho más grande y compleja.
° Algunos de los ataques mas comunes de DDoS incluyen:
*       Ataques FTP. Un ataque FTP (File Transfer Protocol) se decreta cuando un atacante carga en un servidor ftp un archivo construido especialmente para hacerlo vulnerable, el efecto es que alternadamente lo remite a otra localización, que es generalmente otro servidor ftp dentro de la organización. El archivo enviado típicamente contiene una cierta clase de carga diseñada para hacer que el servidor final haga lo que el atacante desea.
*       Ataque de exploración de puertos. Un ataque de exploración de puertos se realiza a través la exploración estructurada y sistemática de un Host. Este ataque puede ser realizado de una manera fácil con cualquier número de programas exploradores de puertos disponibles gratuitamente en Internet. También es uno de los tipos de ataque más comunes, pues es tan simple que los pequeños hackers (script kiddies) los realizan apenas consiguen el nombre de un Host o la dirección IP de un servidor
*       Ataque de inundación por ping (Pingflood). Es un ataque simple DDoS en cuál una computadora envía un paquete (ping) a otro sistema con la intención de descubrir información sobre servicios o sistemas de arriba a abajo. Este es un ataque a la “vieja escuela”, pero es aún muy eficaz, ya que cierto número de sistemas operativos modernos siguen siendo susceptibles a este.
*       Ataque "Smurf". Este ataque es similar al ataque de inundación por ping pero con una astuta modificación al proceso. En un ataque Smurf, el comando "ping" se envía a una red intermedia, donde el efecto se amplifica y se remite a la víctima. Así, lo que antes era una sola “gota” ahora se convierta en un "tsunami" virtual de tráfico. Afortunadamente, este tipo de ataques es raro.
*       Ataque por inundación SYN (Synflood). Este ataque requiere un cierto conocimiento del protocolo TCP/IP -es decir como trabaja el proceso de comunicación IP-. La manera más fácil de explicar este ataque es con una analogía. Este ataque es el equivalente en una red a enviar a alguien una carta que requiere una respuesta, solamente que la carta utiliza un falso remitente. Ataque de fragmentación. En este caso, un atacante utiliza conocimientos avanzados del protocolo del TCP/IP para romper los paquetes en pedazos o “fragmentos” más pequeños, que puentean la mayoría de los sistemas de intrusión-detección. En casos extremos, este tipo de ataque puede causar caídas, bloqueos, reboots, pantallas azules y otro tipo de travesuras. Afortunadamente, este ataque es difícil de lograr.
*       Ataque SNMP. Estos ataques se diseñan específicamente para explotar el servicio SNMP, el cual maneja la red y los dispositivos en ella. Ya que el servicio SNMP se usa para manejar los dispositivos de la red, al explotar este servicio se puede conseguir inteligencia detallada sobre la estructura de la red que puede utilizarse más adelante para otros ataques.
° Des configuración de la página web
La desconfiguración de la página web ocurre de vez en cuando. este ataque resulta de una desconfiguración del sitio, cuando un servidor está incorrectamente configurado, y un atacante utiliza esta debilidad para modificar páginas bajo cualquier cantidad de razones, por ejemplo la diversión o promover una causa política.

° Inyección SQL
Inyecciones SQL (lenguaje de consulta estructurada), son los ataques realizados contra bases de datos. En este caso, un atacante utiliza debilidades en el diseño de la base de datos o de la página web para extraer información o más aún, para manipular información dentro de la base de datos.

° Codificación pobre
Cualquier persona que ha sido desarrollador o ha trabajado en tecnologías de la información ha visto los problemas asociados a prácticas descuidadas o perezosas en la codificación. Una pobre codificación puede generar un gran número de factores, incluyendo un pobre entrenamiento, nuevos desarrollos, o una escasa garantía de calidad para una aplicación.
° Códigos empaquetado (Shrink-wrapped code)
Este problema se relaciona con los anteriores casos de codificación pobre, pero con una diferencia: Básicamente, el problema proviene de la conveniencia de obtener componentes precompilados o desarrollados de antemano, que se pueden utilizar como bloques para construir aplicaciones propias. Su desventaja es que los componentes utilizados pueden no haber pasado un proceso de revisión de su código -tal como el que usted haría-, y su uso puede crear problemas potenciales.
° Mala configuración
Mientras el hardware y el software se hacen más complejos y los equipos de IT se reducen, el potencial para tener el tema bajo radar, crece. Afortunadamente, usando exploradores de la vulnerabilidades, escaneos automatizados, educación llana y simple y la teniendo la diligencia debida se pueden reducir problemas del mala configuración.

° Banderas de Información
Las banderas de información pueden revelar información a aquellos que saben que la información está ahí y decirles cómo buscarla. Tales banderas pueden revelar información como los datos de la versión, mismos que pueden ayudar a un atacante.
° Servicios
Al construir un sistema para hospedar su servidor web y aplicaciones, planee cuidadosamente qué características y funcionalidades necesita, y después construya el servidor para cumplir esa meta.
° Protocolos
De nuevo, tal como en los servicios, cualquier protocolo -tal como NetBIOS- que no necesite debe inhabilitado o francamente removido. 

mapa conceptual



investigación 2.1.1

https://docs.google.com/document/d/1Y1km8WbbONudq4ioUJth2mxY5Fw5VNX3ZZq_AFRNkhM/edit?hl=en_US