sábado, 12 de junio de 2010


Servidor HTTP Apache
Apache

Desarrollador
Apache Software Foundation
apache.org
Información general
Última versión estable 2.2.15
6 de marzo de 2010
Género Servidor web
Escrito en C
Sistema operativo Multiplataforma
Licencia Licencia Apache
En español ?
El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.11 y 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.

REQUISITOS MINIMOS:

Los requerimientos mínimos para hacer funcionar el "Apache" son:

-Un sistema Windows NT 4.0 y Windows 2000, aunque también funcionan sobre un sistema W9X, aunque no es tan estable.
- Un protocolo TCP/IP.
-Si estamos trabajando con NT 4.0, es recomendable instalar el Service Pack 3 ó 6, ya que el Service Pack 4 creó una serie de fallos de integridad en el protocolo TCPIP/WinSock que fueron resueltos en posteriores Service Packs.
-Si estamos trabajando con un sistema Windows 95 o similar, necesitaremos el winsock 2. Lo puedes bajar de aqui.
- El programa deberemos bajárnoslo de la página oficial. (www.apache.org) Una vez que tengamos todos los requerimientos, procederemos a la instalación y configuración de el programa.
Mi recomendación es descargarnos la versión de Apache para Windows con la extensión .exe. Es un único fichero que contiene el servidor Apache, listo para ejecutarse. Puede que encontremos un fichero con extensión .zip que contiene el código fuente de Apache para Windows para que lo compilemos nosotros mismos. Em cualquiera de los casos, funcinará bajo windows.
La version autoinstalable podeis bajárosla de aquí.
-Creo que no hace falta decir que si tenemos router o firewall, necesitamos abrir el puerto 80 ;)

2. Instalando Apache



Ahora procederemos a su instalación. Durante la instalacion nos pedirá el nombre de el dominio, el nombre de la maquina,etc, etc ....eso lo dejo a vuestra elección.
Una vez que lo tengamos instalado, automaticamente se nos carga como progrma residente, por lo que no hace falta que lo ejecutemos manualmente.
Si nos fijamos, funciona bajo MS-DOS, y nos abrirá unas cuantas ventanas al instalarse.

viernes, 11 de junio de 2010



HIPERTEXT TRANSFER PROTOCOL SECURE


Hypertext Transfer Protocol Secure (en español: Protocolo seguro de transferencia de hipertexto), más conocido por sus siglas HTTPS, es un protocolo de red basado en el protocolo HTTP, destinado a la transferencia segura de datos de hipertexto, es decir, es la versión segura de HTTP.

Es utilizado principalmente por entidades bancarias, tiendas en línea, y cualquier tipo de servicio que requiera el envío de datos personales o contraseñas.



IDEA PRINCIPAL

La idea principal de https es la de crear un canal seguro sobre una red insegura. Esto proporciona una protección razonable contra ataques eavesdropping 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.

La confianza inherente en HTTPS está basada en una Autoridad de certificación superior que viene preinstalada en el software del navegador (Es el equivalente a decir "Confío en la autoridad de certificación (p.e. VeriSign/Microsoft/etc.) para decirme en quien debería confiar"). Sin embargo una conexión HTTPS a un website puede ser validada si y solo si todo lo siguiente es verdad:

1.El usuario confía en la Autoridad de certificación para dar fe solo para websites legítimos sin nombres engañosos.
2.El website proporciona un certificado válido (y un certificado inválido muestra una alerta en la mayoría de los navegadores), lo que significa que está firmado por una autoridad confiable.
3.El certificado identifica correctamente al website (p.e. visitando https://algunsitio y recibiendo un certificado para "AlgunSitio S.A." y no AlgunZitio S.A." [ver #2]).
4.Cada uno de los nodos involucrados en internet son dignos de confianza, o que el usuario confíe en que la capa de cifrado del protocolo (TLS o SSL) es inquebrantable por un eavesdropper.
[editar] Integración con el Navegador
Cabe mencionar que el uso del protocolo HTTPS no impide que se pueda utilizar HTTP. Es aquí cuando nuestro navegador nos advertirá sobre la carga de elementos no seguros (HTTP), estando conectados a un entorno seguro (HTTPS).

Los protocolos HTTPS son utilizados por navegadores como: Safari, Internet Explorer, Mozilla Firefox, Opera y Google Chrome, entre otros.

Algunos navegadores utilizan un icono (generalmente un candado) en la parte derecha de la barra de direcciones para indicar la existencia de un protocolo de comunicaciones seguro e incluso cambian el color del fondo de la barra de direcciones por amarillo (Firefox) o verde (Internet Explorer) para identificar páginas web seguras.

Cuando se conecta a un sitio con un certificado inválido, los navegadores antiguos podrían presentar al usuario una caja de diálogo preguntando si desean continuar. Los navegadores más modernos muestran una alerta a lo largo de toda la ventana. Los navegadores más modernos también muestran mucha más información de seguridad sobre el sitio en la barra de direcciones.

Los certificados de validación extendida vuelven la barra de direcciones verde en navegadores modernos. La mayoría de los navegadores también despliegan una alerta cuando el usuario visita un sitio que contiene una mezcla de contenidos cifrados y sin cifrar.

Para conocer si una página web que estamos visitando utiliza el protocolo https y es, por tanto, segura en cuanto a la trasmisión de los datos que estamos transcribiendo, debemos observar si en la barra de direcciones de nuestro navegador aparece https al comienzo, en lugar de http.


Detalles.
La idea principal de https es la de crear un canal seguro sobre una red insegura. Esto proporciona una protección razonable contra ataques eavesdropping 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.

La confianza inherente en HTTPS está basada en una Autoridad de certificación superior que viene preinstalada en el software del navegador (Es el equivalente a decir "Confío en la autoridad de certificación (p.e. VeriSign/Microsoft/etc.) para decirme en quien debería confiar"). Sin embargo una conexión HTTPS a un website puede ser validada si y solo si todo lo siguiente es verdad:

1.El usuario confía en la Autoridad de certificación para dar fe solo para websites legítimos sin nombres engañosos.
2.El website proporciona un certificado válido (y un certificado inválido muestra una alerta en la mayoría de los navegadores), lo que significa que está firmado por una autoridad confiable.
3.El certificado identifica correctamente al website (p.e. visitando https://algunsitio y recibiendo un certificado para "AlgunSitio S.A." y no AlgunZitio S.A." [ver #2]).
4.Cada uno de los nodos involucrados en internet son dignos de confianza, o que el usuario confíe en que la capa de cifrado del protocolo (TLS o SSL) es inquebrantable por un eavesdropper.
[editar] Integración con el Navegador
Cabe mencionar que el uso del protocolo HTTPS no impide que se pueda utilizar HTTP. Es aquí cuando nuestro navegador nos advertirá sobre la carga de elementos no seguros (HTTP), estando conectados a un entorno seguro (HTTPS).

Los protocolos HTTPS son utilizados por navegadores como: Safari, Internet Explorer, Mozilla Firefox, Opera y Google Chrome, entre otros.

Algunos navegadores utilizan un icono (generalmente un candado) en la parte derecha de la barra de direcciones para indicar la existencia de un protocolo de comunicaciones seguro e incluso cambian el color del fondo de la barra de direcciones por amarillo (Firefox) o verde (Internet Explorer) para identificar páginas web seguras.

Cuando se conecta a un sitio con un certificado inválido, los navegadores antiguos podrían presentar al usuario una caja de diálogo preguntando si desean continuar. Los navegadores más modernos muestran una alerta a lo largo de toda la ventana. Los navegadores más modernos también muestran mucha más información de seguridad sobre el sitio en la barra de direcciones.

Los certificados de validación extendida vuelven la barra de direcciones verde en navegadores modernos. La mayoría de los navegadores también despliegan una alerta cuando el usuario visita un sitio que contiene una mezcla de contenidos cifrados y sin cifrar.

Para conocer si una página web que estamos visitando utiliza el protocolo https y es, por tanto, segura en cuanto a la trasmisión de los datos que estamos transcribiendo, debemos observar si en la barra de direcciones de nuestro navegador aparece https al comienzo, en lugar de http.

[editar] Características Técnicas
El sistema HTTPS utiliza un cifrado basado en SSL/TLS para crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el cliente) más apropiado para el tráfico de información sensible que el protocolo HTTP. De este modo se consigue que la información sensible (usuario y claves de paso normalmente) no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible de descifrar.

El puerto estándar para este protocolo es el 443.

[editar] Diferencias con HTTP
En el protocolo HTTP las URLs comienzan con "http://" y utilizan por defecto el puerto 80, Las URLs de HTTPS comienzan con "https://" y utilizan el puerto 443 por defecto.

HTTP es inseguro y está sujeto a ataques man-in-the-middle y eavesdropping que pueden permitir al atacante obtener acceso a cuentas de un sitio web e información confidencial. HTTPS está diseñado para resistir esos ataques y ser seguro.

[editar] Capas de Red
HTTP opera en la capa más alta del Modelo OSI, la Capa de Aplicación; pero el protocolo de seguridad opera en una subcapa más baja, cifrando un mensaje HTTP previo a la transmisión y descifrando un mensaje una vez recibido. Estrictamente hablando, HTTPS no es un protocolo separado, pero refiere el uso del HTTP ordinario sobre una Capa de Conexión Segura cifrada Secure Sockets Layer (SSL) o una conexión con Seguridad de la Capa de Transporte (TLS).

[editar] Configuración del Servidor
Para preparar un servidor web que acepte conexiones HTTPS, el administrador debe crear un Certificado de clave pública para el servidor web. Este certificado debe estar firmado por una Autoridad de certificación para que el navegador web lo acepte. La autoridad certifica que el titular del certificado es quien dice ser. Los navegadores web generalmente son distribuidos con los certificados firmados por la mayoría de las Autoridades de Certificación por lo que estos pueden verificar certificados firmados por ellos.