Introducción al Protocolo IPv6 y ejemplo de algunos ataques de red local que se puede llevar acabo a través de este protocolo.
Vistanos en:
http://elblogdejuan4.blogspot.com.es/
http://quiqueruizna.blogspot.com.es/
Saludos.
Esta vez os dejo una prática de redes sobre seguridad, mediante los Sniffers Wireshark y Tcpdump usado sobre dos equipos de nuestra red, podemos ver la captura de datos,usuario y contraseña de FTP,HTTP y los distintos protocolos de comunicación que se establecen durante dicha conexión.
A sua empresa pretende exportar? Conheça o essencial para ter sucesso! - Part...UWU Solutions, Lda.
Prosseguindo com o tema abordado há duas semanas, recordamos a estrutura da nossa análise:
1. Formalidades a cumprir
2. Cuidados a ter
3. Mercados prioritários
Esta semana iremos abordar o segundo ponto: "Cuidados a ter".
Para além das formalidades a cumprir, que analisámos anteriormente, a abordagem ao mercado externo encerra alguns riscos que não poderão ser descurados, sob pena de as respetivas consequências poderem vir a colocar em causa a viabilidade do seu negócio, ou mesmo a sobrevivência da sua empresa.
Obviamente que deveremos encarar a expansão para o exterior como uma oportunidade de crescimento para as nossas empresas, sobretudo tendo em conta a situação difícil por que passa atualmente o mercado nacional. Por isto mesmo, é imprescindível estar alerta para os riscos envolvidos, a fim de os evitar ou minorar, e garantir que a experiência internacional da sua empresa se traduz num êxito efetivo.
Deixamos-lhe seguidamente alguns aspetos a considerar, que esperamos possam ajudar a sua empresa a crescer sustentadamente no mercado internacional.
Introducción al Protocolo IPv6 y ejemplo de algunos ataques de red local que se puede llevar acabo a través de este protocolo.
Vistanos en:
http://elblogdejuan4.blogspot.com.es/
http://quiqueruizna.blogspot.com.es/
Saludos.
Esta vez os dejo una prática de redes sobre seguridad, mediante los Sniffers Wireshark y Tcpdump usado sobre dos equipos de nuestra red, podemos ver la captura de datos,usuario y contraseña de FTP,HTTP y los distintos protocolos de comunicación que se establecen durante dicha conexión.
A sua empresa pretende exportar? Conheça o essencial para ter sucesso! - Part...UWU Solutions, Lda.
Prosseguindo com o tema abordado há duas semanas, recordamos a estrutura da nossa análise:
1. Formalidades a cumprir
2. Cuidados a ter
3. Mercados prioritários
Esta semana iremos abordar o segundo ponto: "Cuidados a ter".
Para além das formalidades a cumprir, que analisámos anteriormente, a abordagem ao mercado externo encerra alguns riscos que não poderão ser descurados, sob pena de as respetivas consequências poderem vir a colocar em causa a viabilidade do seu negócio, ou mesmo a sobrevivência da sua empresa.
Obviamente que deveremos encarar a expansão para o exterior como uma oportunidade de crescimento para as nossas empresas, sobretudo tendo em conta a situação difícil por que passa atualmente o mercado nacional. Por isto mesmo, é imprescindível estar alerta para os riscos envolvidos, a fim de os evitar ou minorar, e garantir que a experiência internacional da sua empresa se traduz num êxito efetivo.
Deixamos-lhe seguidamente alguns aspetos a considerar, que esperamos possam ajudar a sua empresa a crescer sustentadamente no mercado internacional.
http://www.gloucestercounty-va.com Blackstone's Commentary on English Common Law. The foundation and basis of law in the Western World. What the US legal system is supposed to be based on.
Sustainable Soy Newsletter edition September 2015Suresh07
We are pleased to release new edition of "Sustainable Soy News" . Thank you all for your support and contribution for setup of "National Platform for Sustainable Soy" . We are looking forward to continuing this productive channel of information interchange throughout. The future success of the Newsletter depends on your comments, contributions and ideas. We do encourage all of you to try your utmost best to enrich the forthcoming Newsletter of National Platform for Sustainable Soy!
For further information/suggestions please write to: Suresh@solidaridadnetwork.org
Securing your Apache Web Server with a thawte
Digital Certificate with a thawte Digital Certificate A STEP-
BY-STEP GUIDE to test, install and use a thawte Digital
Certificate on your Apache Web Server...
"Las Expectativas Empresariales ante la Resolución del Conflicto"Asier Real
La Presidenta de Bitarbask, Miren Josune Real, Abogada-Mediadora, Doctora en Derecho y profesora de las facultades de Derecho y Ciencias Empresariales en la Universidad de Deusto, participo en la Inauguración del foro de Mediación Mercantil en la Universidad Carlos III de madrid.
Moderados por Pilar Milla Martín, compartió mesa con:
Lorenzo Prats Albentosa: Catedrático de Derecho Civil Universidad Autónoma de Barcelona.
Fernando Rodríguez Prieto: Notario, Mediador, Patrono de la Fundación Notarial Signum para la Resolución Alternativa de Conflictos.
Mercedes Tarrazón Rodón: Abogada, Mediadora, Socia de Dispute Management.
Miren Josune Real, trató el tema de "Las Expectativas Empresariales ante la Resolución del Conflicto".
A lo largo de la presentación se exponen las características principales del servidor HTTP Apache: módulos, logs, etc. Además, se explica cómo instalar y configurar un servidor Apache en Ubuntu de manera rápida y sencilla.
Presentación de la clase sobre el protocolo HTTP de la asignatura Servidores Web del Máster Universitario en Desarrollo de Aplicaciones y Servicios Web.
Gestion de proyectos con GitLab en tiempos de teletrabajoIrontec
Presentación de Asier Gezuraga, COO de Irontec, durante la pasada edición de LIBRECON 2020. Un repaso sobre cómo gestionamos los proyectos de desarrollo en Irontec a través de GitLab, hecho que cobra especial relevancia en equipos trabajando en remoto.
Sobre cómo gestionamos centenares de despliegues de VoIPIrontec
Ponencia presentada por Héctor Prieto (Coordinador de Soporte) y Gorka Gorrotxategi (CTO de VoIP) de Irontec durante la edición de 2019 de VOIP2DAY celebrada en Málaga.
Una charla que repasa la dilatada experiencia de Irontec en el ámbito de la VoIP. Una empresa en constante crecimiento y con cientos de despliegues a sus espaldas desde 2006. Se centra fundamentalmente en los aspectos más técnicos, detallando los diferentes retos que hemos ido teniendo que superar. En ella, hablamos de monitorización avanzada específica o de automatismos multi entorno desde el plano de las devOps.
En este sentido y, entre otros desafíos a los que nos hemos enfrentado a lo largo de nuestra trayectoria, explicamos algunas de las decisiones técnicas que hemos tenido que tomar para asegurar un crecimiento importante de plataformas.
La conferencia fue impartida en conjunto por el responsable de soporte de nuestro equipo de comunicaciones, a cargo de un amplio equipo humano especialista en los diferentes componentes VoIP open source, tales como Asterisk, Kamailio, SEMS, IVOZProvider, SNGREP y derivados, acompañado por el responsable técnico del área.
Automated Testing para aplicaciones VoIP, WebRTCIrontec
Ponencia de Carlos Cruz, Javier Infante y Gorka Gorrotxategi en el VoIP2Day 2017.
El título de la ponencia es: "Automated Testing para aplicaciones VoIP, WebRTC".
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Irontec
Desde la integración de pequeñas centralitas para clientes muy pequeños hasta el desarrollo y liberación de ivoz Provider, la primera solución opensource de telefonía IP para operadores, pasando implantaciones para gran cuenta. Un recorrido, de la mano de una de las compañía lideres del sector, a través de los retos, problemas, beneficios del software libre en general y de Asterisk en particular, en el que la búsqueda de modelos de negocio que hagan viable el proyecto ha sido siempre una constante.
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17Irontec
Así como la electricidad en su época impulsó el desarrollo empresarial de todo tipo, el cloud computing es a día de hoy la energía informática que impulsa el desarrollo de todos los sectores de actividad: coches conectados o autónomos, smart cities o ciudades inteligentes, comercio electrónico, salud conectada, etc.
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...Irontec
IVOZ es una solución de telefonía IP modular que está basada en un núcleo de comunicaciones Asterisk y se rodea de todos los componentes extra que requieren entornos críticos o de alto rendimiento.
IVOZ Provider es una solución de telefonía IP para operadores, multimarca y multitenant y expuesta a la red pública. Con IVOZ provider opensource queremos llegar a todo tipo de clientes que quieran desplegar sus sistemas de telefonía IP con una solución opensource de calidad, que ha sido testada en grandes proyectos y es capaz de dar servicios a cientos de
miles de llamadas de forma concurrente.
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioIrontec
Ponencia de Carlos Cruz y Gorka Gorrotxategi de Irontec en VoIP2DAY: "Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio". Puesta en común de los desafíos y soluciones para el escalado horizontal en soluciones VozIP basadas en Kamailio / Asterisk con especial atención a las nuevas
posibilidades con PJSIP y siempre desde la perspectiva IP PBX!
Presentación utilizada por Irontec durante el workshop comercial de Soluciones de Telefonía IP para operadores basadas en Software Libre. Este documento ilustra la solución ivoz provider de Irontec, orientada a dotar a integradores, operadores, ISPs, hosters, etc de una solución con la que ofrecer telefonía IP en la nube para sus clientes.
¿Cuál es el sistema open source de Firewall ganador? Es difícil decidirse... hay muchas buenas opciones. Por eso hemos elaborado esta guía comparativa sobre 2 de nuestros preferidos, IPCop y pfSense, en base a nuestra experiencia en muchos proyectos desde @irontec.
Apuntes para una futura formación sobre "Varnish Cache", ideado para aumentar el rendimiento de las aplicaciones web, también conocido como caché de proxy HTTP inversa.
¿Quieres aprender más? Consúltanos -> info@irontec.com
Curso de introducción a Sphinx, una herramienta para facilitar la generación de documentación. Originalmente pensado para generar documentación en proyectos de Python.
Curso de introducción a la VoIP y Asterisk de Irontec.com
En esta primera parte veremos cómo instalar Asterisk y el lugar ocupa dentro de la VoIP profesional.
¿Deseas formación en Voz IP y Asterisk?
http://www.irontec.com/cursos/curso-asterisk-avanzado
Resto del curso:
Parte 2: http://bit.ly/curso-voip-2
Parte 3: http://bit.ly/curso-voip-3
Parte 4: http://bit.ly/curso-voip-4
Curso de introducción a la VoIP y Asterisk de Irontec.com
En esta tercera parte detallaremos la potencia que el Dialplan (lógica de llamadas) aporta a Asterisk
¿Deseas formación en Voz IP y Asterisk?
http://www.irontec.com/cursos/curso-asterisk-avanzado
Resto del curso
Parte 1: http://bit.ly/curso-voip-1
Parte 2: http://bit.ly/curso-voip-2
Parte 4: http://bit.ly/curso-voip-4
Curso de introducción a la VoIP y Asterisk de Irontec.com
En esta segunda parte estudiaremos los conceptos básicos de SIP y cómo realizar llamadas con Asterisk utilizando SIP
¿Deseas formación en Voz IP y Asterisk?
http://www.irontec.com/cursos/curso-asterisk-avanzado
Resto del curso:
Parte 1: http://bit.ly/curso-voip-1
Parte 3: http://bit.ly/curso-voip-3
Parte 4: http://bit.ly/curso-voip-4
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
Curso de introducción a la VoIP y Asterisk de Irontec.com
Última parte del curso donde analizaremos conceptos avanzados de VoIP como sistemas de colas y agentes, informes de llamadas, Asterisk Realtime y mucho más
¿Deseas formación en Voz IP y Asterisk?
http://www.irontec.com/cursos/curso-asterisk-avanzado
Resto del curso:
Parte 2: http://bit.ly/curso-voip-2
Parte 3: http://bit.ly/curso-voip-3
Parte 4: http://bit.ly/curso-voip-4
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraIrontec
@irontec eta @AzkueFundazioa #ieb2013-an egon ziren euskarazko app berriak aurkezten. Hona hemen aurkezpena! / @Irontec y @AzkueFundazioa estuvieron en el #ieb2013 presentando nuevas apps en euskera. Esta es la presentación en la que se apoyaron.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...espinozaernesto427
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta intensidad son un tipo de lámpara eléctrica de descarga de gas que produce luz por medio de un arco eléctrico entre electrodos de tungsteno alojados dentro de un tubo de alúmina o cuarzo moldeado translúcido o transparente.
lámparas más eficientes del mercado, debido a su menor consumo y por la cantidad de luz que emiten. Adquieren una vida útil de hasta 50.000 horas y no generan calor alguna. Si quieres cambiar la iluminación de tu hogar para hacerla mucho más eficiente, ¡esta es tu mejor opción!
Las nuevas lámparas de descarga de alta intensidad producen más luz visible por unidad de energía eléctrica consumida que las lámparas fluorescentes e incandescentes, ya que una mayor proporción de su radiación es luz visible, en contraste con la infrarroja. Sin embargo, la salida de lúmenes de la iluminación HID puede deteriorarse hasta en un 70% durante 10,000 horas de funcionamiento.
Muchos vehículos modernos usan bombillas HID para los principales sistemas de iluminación, aunque algunas aplicaciones ahora están pasando de bombillas HID a tecnología LED y láser.1 Modelos de lámparas van desde las típicas lámparas de 35 a 100 W de los autos, a las de más de 15 kW que se utilizan en los proyectores de cines IMAX.
Esta tecnología HID no es nueva y fue demostrada por primera vez por Francis Hauksbee en 1705. Lámpara de Nernst.
Lámpara incandescente.
Lámpara de descarga. Lámpara fluorescente. Lámpara fluorescente compacta. Lámpara de haluro metálico. Lámpara de vapor de sodio. Lámpara de vapor de mercurio. Lámpara de neón. Lámpara de deuterio. Lámpara xenón.
Lámpara LED.
Lámpara de plasma.
Flash (fotografía) Las lámparas de descarga de alta intensidad (HID) son un tipo de lámparas de descarga de gas muy utilizadas en la industria de la iluminación. Estas lámparas producen luz creando un arco eléctrico entre dos electrodos a través de un gas ionizado. Las lámparas HID son conocidas por su gran eficacia a la hora de convertir la electricidad en luz y por su larga vida útil.
A diferencia de las luces fluorescentes, que necesitan un recubrimiento de fósforo para emitir luz visible, las lámparas HID no necesitan ningún recubrimiento en el interior de sus tubos. El propio arco eléctrico emite luz visible. Sin embargo, algunas lámparas de halogenuros metálicos y muchas lámparas de vapor de mercurio tienen un recubrimiento de fósforo en el interior de la bombilla para mejorar el espectro luminoso y reproducción cromática. Las lámparas HID están disponibles en varias potencias, que van desde los 25 vatios de las lámparas de halogenuros metálicos autobalastradas y los 35 vatios de las lámparas de vapor de sodio de alta intensidad hasta los 1.000 vatios de las lámparas de vapor de mercurio y vapor de sodio de alta intensidad, e incluso hasta los 1.500 vatios de las lámparas de halogenuros metálicos.
Las lámparas HID requieren un equipo de control especial llamado balasto para funcionar
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
4. Irontec – Curso Apache
Protocolo HTTP
● Mensaje de petición:
– Línea de método de petición
– Líneas de cabecera de petición (de tipo XXX:YYY)
– <CR><LF> (Línea en blanco)
– Cuerpo (opcional)
● Mensaje de respuesta:
– Línea de código de estado
– Líneas de cabecera de respuesta (de tipo XXX:YYY)
– <CR><LF> (Línea en blanco)
– Cuerpo (opcional)
● Todas las líneas acaban en <CR><LF>
4
5. Irontec – Curso Apache
Protocolo HTTP
● Mensajes de petición
● Ej:
– GET / HTTP/ 1. 1
– Host :
– User - Agent : M ozi l l a/ 5. 0 ( X11; U; Li nux i 686; en- US;
r v: 1. 8. 1. 12) Gecko/ 20080207 Ubunt u/ 7. 10 ( gut sy)
Fi r ef ox/ 2. 0. 0. 12 Par os/ 3. 2. 13
– Accept : t ext / xm , t ext / pl ai n; q= 8, i m
l 0. age/ png, * / * ; q= 5
0.
– Accept - Language: es- es, en- us; q= 7, en; q= 3
0. 0.
– Accept - Char set : UTF- 8, *
● Otras líneas de cabecera:
– Keep-Alive, Proxy-Connection, Referer, Cookie,
Content-length,...
– Ref: http://en.wikipedia.org/wiki/List_of_HTTP_headers
5
6. Irontec – Curso Apache
Protocolo HTTP
● GET: solicita una petición dentro de la URL.
● POST: envía datos en el cuerpo de la petición
● PUT: upload
● HEAD: solicita una respuesta idéntica a GET pero
sólo devuelve las cabeceras (no el cuerpo).
● DELETE: borrado
● TRACE: devuelve la petición, para comprobar si
algún equipo intermedio modifica la original
● OPTIONS: devuelve los métodos soportados por el
servidor
● CONNECT: empleado para túneles tcp/ip,
típicamente para hacer conexiones https a través de
un proxy http. Riesgo si en el proxy no se limitan los
posibles destinos host:port 6
7. Irontec – Curso Apache
Protocolo HTTP
● Mensajes de respuesta
● Ej:
– HTTP/ 1. 1 200 OK
– Dat e: Thu, 27 Mar 2008 21: 29: 14 GMT
– Cont ent - Type: t ext / ht m ; char set =
l US- ASCI I
– Ser ver : AmazonS3
● Otras líneas de cabecera:
– ETag, Expires, Pragma, Vary, X-*
– Ref: http://en.wikipedia.org/wiki/List_of_HTTP_headers
7
8. Irontec – Curso Apache
Protocolo HTTP
● Codigos de estado
● Son los códigos devueltos por el servidor.
● Se agrupan en:
– 1xx Información
– 2xx Éxito
– 3xx Redirección
– 4xx Error de cliente
– 5xx Error de servidor
8
9. Irontec – Curso Apache
Protocolo HTTP
● Negociación de contenidos: mecanismo para
devolver distintos recursos o documentos a partir de
una URI solicitada. Ejs: Tipo imagen (gif, png),
Idioma, text/html o text/*
– Cabeceras:
● De cliente. Ej. Accept - encodi ng: gzi p, def l at e
● De servidor. Ej: Cont ent - encodi ng: gzi p
– Tipos MIME (Multipurpose Internet Mail Extensions):
● Forma de describir el tipo de documento a transmitir.
● Sintaxis: major type/minor type. Ej: text/html, image/gif
● Basados en extensión o en análisis (file ...)
9
10. Irontec – Curso Apache
Protocolo HTTP
● Conexiones persistentes (“HTTP keep-alive”)
(v1.1): hacer varias conexiones http con una sóla
conexión tcp.
– Ventajas:
● Menor carga de sistema operativo
● Menos congestión en la red (menos conexiones tcp) y
menor latencia en solicitudes posteriores.
● Posibilidad de http pipelining
– Según rfc2616 un cliente no debería establecer más de
2 conexiones persistentes al mismo tiempo con un
servidor, para evitar la congestión.
10
11. Irontec – Curso Apache
Protocolo HTTP
● HTTP pipelining (v1.1): peticiones asíncronas:
enviar más de una petición http sin esperar las
respuestas.
– Ventaja: como se pueden enviar varias peticiones en un
único paquete tcp, es posible reducir la carga de red.
11
12. Irontec – Curso Apache
Protocolo HTTP
● Protocolo stateless: no guarda información sobre los
clientes
● Técnicas para mantener la historia:
– Cookies (rfc 2109). Inconveniente: han de habilitarse en
el browser
– URL rewriting (Ej. http://host/path;sessionid=12axY)
Inconvenientes:
● Todas las URLs han de llevar el id. Por tanto, hay que
generar todas las páginas de forma dinámica
● Los bookmarks no valen
● (URLs poco estéticas)
– Campos ocultos en formularios. Inviable a nivel general:
no todo está en formularios
12
13. Irontec – Curso Apache
Protocolo HTTP
● Se suelen encapsular a más alto nivel:
– APIs de php, java servlets,...
– Aplicación
● Cada sesión incluye:
– Identificador de sesión a incluir en el tráfico http
– Variables de sesión: pueden guardarse en ficheros de
disco o ej. en base de datos
– Timeout
● Implicaciones de seguridad: secuestro de sesión, ej.
con URL rewriting
13
14. Irontec – Curso Apache
Protocolo HTTP
● Alternativas de almacenamiento de información de
sesiones:
– En el lado del servidor. Inconvenientes:
● Acceso a la información si hay varios servidores ejs.
cluster, balance de carga. Soluciones:
– Replicación entre servidores
– Compartición: sockets, memoria, disco, BD
● (Limitación en el nº de clientes)
– En el lado del cliente: se usan cookies y criptografía.
Inconvenientes:
● Limitación de tamaño de cookie
● Información del usuario no accesible fuera de la sesión
14
15. Irontec – Curso Apache
Introducción
● Desarrollado inicialmente por Rob McCool (NCSA)
● Es desde 1996 el servidor web HTTP más utilizado
en Internet.
● Es multiplataforma (Unix, Microsoft, Novell)
● La versión 2 de apache se ha reescrito
completamente.
● Es extremadamente estable.
● Modularizado para evitar mantener un código
extremadamente complejo y monolítico.
● Es software libre aunque no GPL.
http://www.apache.org
15
16. Irontec – Curso Apache
Introducción
● Roadmap: Evolución de las versiones
● 1.2.X
● 1.3.X
● 2.0.X
● 2.2.X
● Trunk o versión en desarrollo
16
17. Irontec – Curso Apache
Introducción
● Velocidad mayor en el caching
● Filtros Inteligentes
● Configurarión modular
● Balanceo de Carga para Proxies
● Soporte para apagado transparente
● Soporte para archivos mayores de 2GB
● Nuevas opciones para autenticación y autorización
http://httpd.apache.org/docs/2.2/new_features_2_2.html
17
19. Irontec – Curso Apache
Instalación
● Código fuente
● Paquete binario para la distribución Debian
GNU/Linux
¿Ventajas y desventajas de cada uno?
19
20. Irontec – Curso Apache
Instalación – Códido fuente
● Descargamos las últimas fuentes del mirror oficial
más próximo (http://apache/rediris.es/httpd)
● Se pueden buscar más mirrors y comprobar sus
estados en http://www.apache.org/mirrors/
http://apache.rediris.es/httpd/httpd-2.2.11.tar.gz
http://apache.rediris.es/httpd/httpd-2.2.11.tar.gz.asc
20
21. Irontec – Curso Apache
Instalación – Códido fuente
● Verificamos la integridad del código fuente:
● Averiguamos la clave con la que fue firmada
$ gpg –-verify httpd-2.2.11.tar.gz.asc
gpg: Firmado el sáb 06 dic 2008 16:18:37 CET usando clave DSA ID 311A3DE5
gpg: Imposible comprobar la firma: Clave pública no encontrada
● Importamos la clave pública con la que fue firmada
$ gpg --keyserver pgpkeys.mit.edu --recv-key 311A3DE5
gpg: anillo `/root/.gnupg/secring.gpg' creado
gpg: solicitando clave 311A3DE5 de hkp servidor pgpkeys.mit.edu
gpg: /root/.gnupg/trustdb.gpg: se ha creado base de datos de confianza
gpg: clave 311A3DE5: clave pública "Ruediger Pluem <rpluem@apache.org>"
importada
gpg: no se encuentran claves absolutamente fiables
gpg: Cantidad total procesada: 1
gpg: importadas: 1
21
22. Irontec – Curso Apache
Instalación – Códido fuente
●Verificamos la integridad del código fuente:
● Verificamos la firma digital
$ gpg --verify httpd-2.2.11.tar.gz.asc
gpg: Firmado el sáb 06 dic 2008 16:18:37 CET usando clave DSA ID 311A3DE5
gpg: Firma correcta de "Ruediger Pluem <rpluem@apache.org>"
gpg: ATENCIÓN: ¡Esta clave no está certificada por una firma de confianza!
gpg: No hay indicios de que la firma pertenezca al propietario.
Huellas dactilares de la clave primaria: 120A 8667 241A EDD4 A78B 4610 4C04 2818 311A
3DE5
● La firma digital es válida pero la clave no es de
confianza!
22
23. Irontec – Curso Apache
● Confiamos en la clave (¿seguro?)
$ gpg --edit-key 10FDE075
pub 1024D/311A3DE5 creado: 2005-10-02 caduca: nunca uso: SCA
confianza: desconocido validez: desconocido
sub 2048g/A21CD598 creado: 2005-10-02 caduca: nunca uso: E
[desconocida] (1). Ruediger Pluem <rpluem@apache.org>
Orden> trust
pub 1024D/311A3DE5 creado: 2005-10-02 caduca: nunca uso: SCA
confianza: desconocido validez: desconocido
sub 2048g/A21CD598 creado: 2005-10-02 caduca: nunca uso: E
[desconocida] (1). Ruediger Pluem <rpluem@apache.org>
Por favor, decida su nivel de confianza en que este usuario
verifique correctamente las claves de otros usuarios (mirando
pasaportes, comprobando huellas dactilares en diferentes fuentes...)
1 = No lo sé o prefiero no decirlo
2 = NO tengo confianza
3 = Confío un poco
4 = Confío totalmente
5 = confío absolutamente
m = volver al menú principal
23
24. Irontec – Curso Apache
Instalación – Códido fuente
● Continuamos...
¿Su decisión? 5
¿De verdad quiere asignar absoluta confianza a esta clave? (s/N) s
pub 1024D/311A3DE5 creado: 2005-10-02 caduca: nunca uso: SCA
confianza: absoluta validez: desconocido
sub 2048g/A21CD598 creado: 2005-10-02 caduca: nunca uso: E
[desconocida] (1). Ruediger Pluem <rpluem@apache.org>
Por favor, advierta que la validez de clave mostrada no es necesariamente
correcta a menos de que reinicie el programa.
24
25. Irontec – Curso Apache
Instalación – Códido fuente
● Verificamos de nuevo la firma digital
$ gpg --verify httpd-2.2.11.tar.gz.asc
gpg: Firmado el sáb 06 dic 2008 16:18:37 CET usando clave DSA ID 311A3DE5
gpg: comprobando base de datos de confianza
gpg: 3 dudosa(s) necesarias, 1 completa(s) necesarias,
modelo de confianza PGP
gpg: nivel: 0 validez: 1 firmada: 0 confianza: 0-, 0q, 0n, 0m, 0f, 1u
gpg: Firma correcta de "Ruediger Pluem <rpluem@apache.org>"
● ¡Firma digital verificada! Podemos instalar el
software con seguridad.
http://www.gnupg.org/
25
26. Irontec – Curso Apache
Instalación – Códido fuente
● Instalamos todo lo necesario para la compilación
con un solo comando:
apt-get install build-essential
● Descomprimimos el código fuente:
tar -xzf httpd-2.2.11.tar.gz
26
27. Irontec – Curso Apache
Instalación – Códido fuente
● La instalación de apache se hace en 3 pasos:
● Seleccionar los módulos a incluir en el servidor
● Crear una configuración para el sistema operativo
$ ./configure
● Compilar el ejecutable
$ make
# make install
● Ponemos en marcha el servidor:
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
Intentaremos arrancarlo como usuario NO ROOT.
¿Podemos?
27
28. Irontec – Curso Apache
Instalación – Códido fuente
● El script configure nos permite varias opciones.
● -- prefix=/directorio/destino
Es el directorio en el que Apache va a ser instalado. Apache
tiene que ser configurado para el directorio que se
especifique para que funcione correctamente.
● --enable-module
Utilizado para compilar un módulo estático.
● --disable-module
Para no compilar un módulo
● --enable-module=shared
Para compilar el modulo como dinámico (DSO)
IMPORTANTE: no avisa si el modulo indicado existe
o no. Por lo que habrá que tener cuidado.
28
29. Irontec – Curso Apache
Instalación – Códido fuente
● Los módulos estáticos son módulos incluidos en
tiempo de compilación:
● Para conocer que módulos hay incluidos en el
binario compilado podemos hacerlo con:
– Instalado desde las fuentes:
/usr/local/apache2/bin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
[...]
– Instalado en Debian desde apt:
/usr/sbin/apache2 -l
Compiled-in modules:
core.c
mod_so.c
29
30. Irontec – Curso Apache
Instalación – Códido fuente
● Módulos dinámicos son los cargados externamente:
● Apache permite cargar módulos independientes al
archivo binario httpd.
● Es posible gracias al módulo mod_so, que debe
compilarse estáticamente en el núcleo de Apache
y a la herramienta apxs (APache eXtenSion).
● Apache necesita ser compilado previamente para
poder utilizar la herramienta apxs.
● Para usa este mecanismo el sistema también debe
soportar DSO.
¿Cómo compilamos Apache con soporte DSO?
30
31. Irontec – Curso Apache
Instalación – Códido fuente
● Módulos cargados externamente vs incluídos:
● Si compilamos estáticamente los módulos, cada
cambio en ellos hay que recompilar apache!
● Ventajas DSO
– El servidor es mucho más flexible
– Permite tener diferentes instancias de servidor con una
única instalación de Apache
– Más sencillo el prototipado y desarrollo de módulos
● Desventajas DSO
– El servidor es un 20% más lento en el arranque
– El servidor en un 5% más lento en funcionamiento
31
32. Irontec – Curso Apache
Instalación – Códido fuente
● Ya tenemos Apache compilado y con posibilidad de
añadir módulos dinámicamente. Vamos a compilar
PHP5 como DSO :)
32
33. Irontec – Curso Apache
Instalación – Códido fuente
● PHP es un lenguaje de programación interpretado,
diseñado originalmente para la creación de páginas
web dinámicas. Es usado principalmente en
interpretación del lado del servidor (server-side
scripting).
● Es un lenguaje multiplataforma.
● Capacidad de conexión con la mayoría de los
manejadores de base de datos.
● ES LIBRE.
http://es.wikipedia.org/wiki/.php
33
34. Irontec – Curso Apache
Instalación – Códido fuente
● Descargamos el código fuente de PHP:
wget http://es2.php.net/get/php-5.2.9.tar.gz/from/es.php.net/mirror
● Comprobamos que la suma de integridad es
correcta con md5sum:
$md5sum php-5.2.9.tar.gz 98b647561dc664adefe296106056cf11 php-
5.2.9.tar.gz
● Configuramos la compilación como módulo de
Apache, con soporte Mysql y GD.
./configure –-with-apxs2=/usr/local/apache2/bin/apxs
--with-mysql
--with-gd
34
35. Irontec – Curso Apache
Instalación – Códido fuente
● Cargamos el módulo en Apache
LoadModule php5_module modules/libphp5.so
● Configuramos Apache para que interprete las
páginas .php mediante el módulo de PHP
AddType application/x-httpd-php .php
● Configuramos Apache para que busque páginas
.php índice en caso de no solicitar una.
DirectoryIndex index.html index.php
35
36. Irontec – Curso Apache
Instalación – Códido fuente
● Para probar el funcionamiento de PHP tenemos que
crear una página en... ¡PHP! :D
● En el directorio raíz de Apache creamos un fichero
llamado info.php con el siguiente contenido:
<? phpinfo() ?>
● Accedemos a la página desde nuestro navegador.
36
37. Irontec – Curso Apache
Instalación – Paquetes binarios
● Podemos instalar Apache2, PHP, etc. desde apt-get
apt-get install apache2 php5 php5-mysql php5-gd
● Apache estará automáticamente configurado con
soporte php5.
● En el futuro si deseamos actualizar (por algún
parche de seguridad) podremos hacerlo mediante
apt-get sin tener que recompilar nada.
● Apt-get es más sencillo y simple, pero compilar es
más universal.
37
38. Irontec – Curso Apache
Instalación – Paquetes binarios
● Apache instalado por apt-get viene preparado para
trabajar con módulos DSO. Dispone de sus propios
comandos para habilitar y deshabilitar módulos.
● Habilitar módulo SSL
a2enmod ssl
● Deshabilitar módulo SSL
a2dismod ssl
● Con cada cambio es necesario reiniciar Apache.
● Los modulos disponibles están en:
/etc/apache2/mods-available
● Los módulos habilitados están en:
/etc/apache2/mods-enabled
38
39. Irontec – Curso Apache
Configuración
● Apache dispone de cientos de directivas de
configuración.
● No nos podemos saber todas de memoria, por lo
que tendremos que memorizar una URL :)
http://httpd.apache.org/docs/2.2/mod/directives.html
● El fichero de configuración general se encuentra en:
/etc/apache2/apache2.conf
● Existe un VirtualHost por defecto.
/etc/apache2/sites-available/default
● Los puertos de escucha se configuran en:
/etc/apache2/ports.conf
39
40. Irontec – Curso Apache
Configuración
● .htaccess es un archivo de texto oculto que contiene
una serie de directivas para el servidor Apache.
● Cada vez que visitamos una web, Apache busca en
la carpeta accedida el fichero .htaccess para cargar
las opciones que en el se encuentran.
● Es posible deshabilitar el uso de estas directivas
con:
AllowOverride None
● Y habilitarlas mediante:
AllowOverride All
40
41. Irontec – Curso Apache
Configuración
● En general los archivos .htaccess no se deben usar
nunca, a menos que no se tenga acceso al
archivo de configuración del servidor (Ej: ISP)
● Se debe usar el contenedor <Directory>
● Razones:
– Eficiencia: Apache debe buscar ficheros .htaccess por
todo el arbol de directorios, en busca de herencias
– Seguridad: Se permite a los usuarios hacer cambios
sobre las directivas del servidor. Cambios sobre los
que no se tiene control.
41
42. Irontec – Curso Apache
Configuración
● Las distintas directivas solo pueden aplicarse en
algunos contextos, por lo que antes de aplicarlo es
necesario saber donde.
● Contextos de aplicación
– Servidor
– Host Virtual
– <Directory>,<Location>,<Files>,<Proxy>
– Fichero .htaccess
42
43. Irontec – Curso Apache
Configuración
● La directiva <directory> nos permite establecer una
configuración específica a un directorio del sistema
de ficheros.
<Directory /var/www/info/>
AllowOverride None
DirectoryIndex prueba.php
</Directory>
● Ahora cada vez que accedamos a http://ip/info nos aplicará la
configuración indicada en la directiva Directory anterior.
43
44. Irontec – Curso Apache
Configuración
● La directiva Allow/Deny nos permiten definir a quien
damos acceso a nuestra web:
Order Deny,Allow
Deny from all
Allow from 192.168.1.101
● Estas directivas deben ser aplicadas a nivel
<Directory> o mediante .htaccess
● El modulo encargado de darnos esta funcionalidad
es:
mod_authz_host
44
45. Irontec – Curso Apache
Configuración
● Location es similar a Directory. En este caso
Location hace referencia a una URL, en lugar de
una carpeta del sistema de ficheros.
● Location no debe ser usado para establecer
permisos a nivel del sistema de ficheros, ya que una
misma carpeta puede ser accedida desde diferentes
zonas.
<Location /info>
Deny from All
</Location>
45
46. Irontec – Curso Apache
Configuración
● La directiva Files nos permite establecer permisos a
nivel de ficheros mediante expresiones regulares.
● Usando esta directiva junto con la vista
anteriormente, es posible permitir acceso a ciertos
ficheros a un número limitado de usuarios.
● Ejemplo, no permitir el acceso a nadie a las
imagenes .jpg
<Files ~ ".jpg$">
Deny from all
</Files>
46
47. Irontec – Curso Apache
Configuración
● Limit y LimitExcept nos permiten denegar en funcion
de la petición que se haga al servidor.
● Las peticiones validas son:
GET, POST, PUT, DELETE, CONNECT, OPTIONS, PATCH,
PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK y UNLOCK
● Con Limit indicamos a que peticiones habilitar los
controles. Las peticiones no indicadas no se ven
afectadas.
● Con LimitExcept indicamos que peticiones no se ven
afectadas por los controles.
● LimitExcept != Limit
Denegad la descarga de páginas web a todo el
mundo excepto a mi :)
47
48. Irontec – Curso Apache
Configuración
● Redirect nos permite redirigir una petición a otra
página.
● De esta forma, si movemos un documento a otro
lado, es posible que los antiguos usuarios puedan
seguir accediendo al contenido.
Redirect /google http://google.es
● Si alguien accede a /google/prueba, se le reenviara
a google.es/prueba.
● Se pueden establecer distintos códigos de
redirección:
301 Redirección permanente
302 Redirección temporal
303 El contenido a sido reemplazado
410 El contenido ya no existe
48
49. Irontec – Curso Apache
Configuración
● ErrorLog y CustomLog nos permiten definir donde
y como se guardarán los Logs de error y Acceso.
● Podemos guardar los logs en la carpeta que
queramos, siempre y cuando Apache tenga
permisos para escribir en ella.
● El formato del log es muy configurable, de forma
que podamos guardar solo aquellos datos que nos
interesen.
49
50. Irontec – Curso Apache
Configuración
● CustomLog tiene la siguiente sintaxis:
CustomLog logs/access_log "%h %l %u %t "%r" %>s %b"
● En primer lugar se indica la directiva, el fichero de
destino y entrecomillado el formato que tendrá.
● Para definir el formato se está haciendo uso de la
directiva LogFormat
http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats
● Cread el log de Acceso en /tmp/acceso con el
siguiente formato:
192.168.1.101 - [27/Feb/2009:15:10:04 +0100]
● Los logs de error se definen con ErrorLog.
● Cread el log de Error en /tmp/error con el formato
anterior.
50
51. Irontec – Curso Apache
Configuración
● En caso de disponer de un gran número de
Servidores Virtuales y si estos loggean en diferentes
archivos puede darse el caso que Apache se quede
sin descriptores de fichero.
● Son objetos que usan los programas para leer o
escribir un archivo, socket o dispositivo.
● Apache utiliza:
– 10 a 20 descriptores de fichero para uso interno
– 1 para cada archivo de error (ErrorLog)
– 1 para cada directiva de log distinta (CustomLog)
● El sistema operativo se encarga de limitar el
número de descriptores de fichero que puede
abrir un programa determinado.
51
52. Irontec – Curso Apache
Configuración
●El límite de Linux es de 1024 descriptores de
fichero.
● Límites:
– Kernel: depende del SO. En Linux
– Hardware
– Software
# ulimit -n
1024
52
53. Irontec – Curso Apache
Configuración
● MaxClients nos permite definir el número máximo de
conexiones que pueden ser atentidas
simultáneamente.
● El número a indicar dependerá de las características
de la máquina.
● A más peticiones simultaneas, mas necesidad de
memoria RAM.
MaxClients 100
53
54. Irontec – Curso Apache
Configuración
● Alias es como un enlace simbólico a nivel de
Apache
● Nos permite crear enlaces para acceder a
documentos que no están en la raíz de Apache.
● Si hacemos un alias a un directorio externo de la
raíz, es necesario dar permisos de acceso a la
misma.
Alias /tmp /tmp
<Directory /tmp>
Order allow,deny
Allow from all
</Directory>
54
55. Irontec – Curso Apache
Configuración
● Options nos permite especificar que características
de servidor Apache estan disponibles para el
directorio en cuestión.
<Directory /tmp>
Options Indexes FollowSymLinks
</Directory>
● Con dichas opciones nos mostrará el contenido de
la carpeta en el navegador y seguirá los enlaces.
http://httpd.apache.org/docs/2.2/mod/core.html#options
55
56. Irontec – Curso Apache
Configuración
● Cuando una carpeta tiene la opcion index podremos
navegar por el contenido y hacer click en lso
ficheros.
● Las opciones de index se establecen con
IndexOptions.
● Cambios para el index de tmp
– Los iconos deben ser enlaces
– No se debe mostrar la fecha de última modificación
56
57. Irontec – Curso Apache
Configuración
● Con LimitRequestBody especificamos el tamaño
máximo en bytes que se pueden especificar en una
petición.
● LimitRequestBody nos puede ayudar de varias
maneras:
– Defendiendonos ante posibles denegaciones de
servicio.
– Limitando el tamaño de los fichero que un usuario
puede subir a nuestro servidor.
LimitRequestBody 102400
57
58. Irontec – Curso Apache
Configuración
● Listen nos permite especificar en que puertos va a
escuchar Apache las peticiones.
● Por defecto es 80 y 443 si se tiene https.
● También es posible especificar un puerto por cada
interfaz del sistema
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
58
59. Irontec – Curso Apache
Autenticación de usuarios
● Es posible controlar el acceso al contenido del
servidor mediante usuario / contraseña
● El módulo encargado es mod_auth
● Generación de archivo de usuarios
# htpasswd -c /etc/apache2/passwd/.passwd miguel
New password:
Re-type new password:
Adding password for user miguel
miguel:YXP3FBeNjIHDs
# htpasswd -c /etc/apache2/passwd/.passwd iker
New password:
Re-type new password:
Adding password for user iker
miguel:YXP3FBeNjIHDs
iker:g1Zy7z22KMSko
59
60. Irontec – Curso Apache
Autenticación de usuarios
● Solicitar al servidor que pida una contraseña
– En el archivo de configuración general (httpd.conf)
dentro de una sección <Directory>.
AuthType Basic
AuthName "Acceso Restringido"
AuthUserFile /etc/apache2/passwd/.passwd
Require user miguel
– A través del archivo .htaccess
● Igual que el modo anterior
● Es necesario habilitar las directivas de autenticación
AllowOverride AuthConfig
60
61. Irontec – Curso Apache
Autenticación de usuarios
● Generación de archivo de grupos de usuarios
/etc/apache2/.group
Grupo1: miguel iker
● Configuración de Apache para soporte de
validación por grupos de usuarios
AuthType Basic
AuthName "Acceso solo para grupos"
AuthUserFile /etc/apache2/passwd/.passwd
AuthGroupFile /etc/apache2/passwd/.group
Require group Grupo1
61
62. Irontec – Curso Apache
Autenticación de usuarios
● Valores que puede adoptar la directriz Require:
Require user <nombre_de_usuario>
Require group <nombre_de_grupo>
Require valid-user
● Inconvenientes
– Cada acceso al directorio protegido hace una nueva
comprobación del nombre de usuario y contraseña.
Esto carga de forma considerable el servidor.
– Es útil para número reducido de usuarios.
62
63. Irontec – Curso Apache
Certificados
● Introducción a la Criptografía
● Criptografía simétrica o de Clave Privada
● Criptografía de Clave Pública
● Resúmenes o Hashes
● Firmas Digitales
● Certificados
63
64. Irontec – Curso Apache
Certificados
●Se encargan de asociar una clave pública con
la identidad real de un individuo, servidor u otra
entidad, conocido como sujecto.
● Como Nombre Distinguido se conoce a una
serie de información que distingue a una
entidad:
– Nombre Común
– Compañía
– Departamento
– Ciudad
– Provincia
– País
64
65. Irontec – Curso Apache
Certificados
● Certificados
● Información que contiene un Certificado
– Sujeto:
● Nombre Distinguido
● Clave Pública
– Expendedor
● Nombre Distinguido
● Firma Digital
– Periodo de Validez
– Información Administrativa
● Versión
● Número de Serie
65
66. Irontec – Curso Apache
Certificados
● Autoridades de Certificación
● Son las entidades encargadas de expedir y
gestionar los certificados
● Hay 3 tipos de Autoridades de Certificación
– Oficiales y reconocidas por las herramientas más
comunes
● Verisign, Thawte, Comodo...
– Oficiales y no reconocidas por las herramientas
más comunes
● Izenpe, Ceres, Camerfirma...
– No Oficiales
● Nosotros mismos ;-)
66
67. Irontec – Curso Apache
Certificados
● Consideraciones Previas
● La longitud de las claves privadas para SSL
debe ser 512 o 1024 bits (recomendado),
para compatibilidad con todos los
navegadores.
● Una secuencia SSL se compone de:
– Negociación de cifrado a utilizar durante el
intercambio de datos (criptografía simétrica)
– Establecer e intercambiar una clave de sesión
– Puede autenticar al servidor por parte del cliente
– Puede autenticar al cliente por parte del servidor
67
68. Irontec – Curso Apache
Certificados
● Creación de Certificados
● Generar la clave privada del servidor
– Cifrada con criptografía simétrica por seguridad
# openssl genrsa -des3 -out apache.key 1024
– Sin cifrar
# openssl genrsa -out apache.key 1024
● Securizar la clave para que nadie tenga
acceso
# chmod 400 apache.key
● Generar la Solicitud de Certificado (CSR)
# openssl req -new -key apache.key -out dominio.csr
● Las Solicitudes de Certificado se realizan para
un dominio concreto.
68
69. Irontec – Curso Apache
Certificados
● El siguiente paso consiste en hacer llegar la
Solicitud de Certificado (CSR) a una
Autoridad de Certificación (CA) para generar
el Certificado (CRT)
69
70. Irontec – Curso Apache
Certificados
● Creación de Certificados
● Autoridad de Certificación Oficial
– Se envía, habitualmente, a través de un formulario
web a la empresa certificadora
– Validan si se ha pagado, en caso de ser
necesario.
– Validan nuestras credenciales.
– Generan el Certificado (.crt), con su clave
privada y con la Solicitud de Certificado
remitida por nosotros.
– Remiten el certificado y las instrucciones de
instalación vía mail
– La Solicitud de Certificado ya no es válida.
70
71. Irontec – Curso Apache
Certificados
● Creación de Certificados
● Certificados auto-firmados
– Generar la Clave Privada de nuestra propia CA
# openssl genrsa -out mica.key 1024
– Generar el Certificado auto-firmado
# openssl req -new -x509 -nodes -sha1 -days 365 -key
mica.key -out dominio.crt
71
72. Irontec – Curso Apache
Certificados
● Instalar Certificados en Apache
● Es necesario que Apache disponga del módulo
mod_ssl compilado. mod_ssl ofrece
soporte SSL v2/v3 y TLS v1.
● Cuando EEUU relajó las restricciones en
materia de exportación criptográfica,
mod_ssl entró a formar parte de Apache
(Apache 2).
● Si no lo tiene:
– Compilado estáticamente:
./configure –-enable-ssl
make && make install
– Como DSO:
a2enmod ssl
72
73. Irontec – Curso Apache
Certificados
● Instalar Certificados en Apache
● Configurar un host virtual para alojar el
dominio con certificado auto-firmado
<VirtualHost IP:443>
Listen 443
DocumentRoot /var/www
SSLEngine on
SSLCertificateFile /usr/local/apache2/ssl/mica.crt
SSLCertificateKeyFile /usr/local/apache2/ssl/mica.key
</VirtualHost>
73
74. Irontec – Curso Apache
Certificados
● Conversión de Formatos
● El formato por defecto de OpenSSL es PEM.
● Algunas aplicaciones (IExplorer) requieren el
formato DER
● Algunas aplicaciones (Mozilla) requieren el
formato PKCS#12
● Para transformar de formato PEM a DER:
# openssl x509 -in certificado.pem -out certificado.der -outform DER
● Para transformar de formato PEM a PKCS#12
# openssl pkcs12 -export -clcerts -in certificado.pem -inkey
server.key -out certificado.p12
74
75. Irontec – Curso Apache
VirtualHost
● El uso de VirtualHost nos permite alojar diferentes
páginas con sus dominios en un solo servidor
Apache.
● Los VirtualHost pueden estar basados en IP (que
cada sitio web tenga su ip) o basados en nombre
(con una sola IP sitios web con diferentes nombres).
● Imaginemos un proveedor de Hosting que tiene
1000 clientes en una máquina.
● El fichero que hemos estado modificando todo el
rato, 000-default, es un virtual host :)
75
76. Irontec – Curso Apache
VirtualHost
● Cada VirtualHost se puede configurar por separado,
teniendo sus logs, directivas y restricciones propias.
● Dichos ficheros de configuración se guardan en
/etc/apache2/sites-available
● Los comandos para Inicar o Parar un VirtualHost es:
# a2ensite mihost
Enabling site mihost.
# a2dissite mihost
Site mihost disabled.
76
77. Irontec – Curso Apache
VirtualHost
● Para configurar un VirtualHost por nombre son
necesarias estas directivas:
– <VirtualHost>
– NameVirtualHost
– ServerName
– ServerAlias
– DocumentRoot
77
78. Irontec – Curso Apache
VirtualHost
● NameVirtualHost indica a Apache que vamos a
utilizar VirtualHosts basados en nombre.
● Se debe especificar al principio del fichero.
NameVirtualHost 192.168.1.103:80
● Se puede especificar cualquier IP que tengamos en
el sistema así como cualquier puerto.
● La IP se puede sustituir por un *, pero nos dará
Warning al arrancar (aunque funciona
perfectamente)
[Fri Feb 27 19:39:46 2009] [warn] NameVirtualHost *:80 has no
VirtualHosts
78
79. Irontec – Curso Apache
VirtualHost
● Una vez que hemos indicado que nuestros hosts
serán por nombre hay que configurar los
VirtualHosts.
● <VirtualHost> nos permite indicar en que IP y puerto
está escuchando Apache las peticiones. Por lo
general será:
<VirtualHost 192.168.1.103:80>
● La directiva debe cerrarse con:
</VirtualHost>
● Cuando trabajamos con nombres, es recomendable
especificar la IP para evitar mensajes de Warning:
79
80. Irontec – Curso Apache
VirtualHost
● Dentro de <VirtualHost> es donde llevaremos a
cabo todas las configuraciones necesarias. Como
mínimo se recomienda:
ServerName mihost.com
ServerAlias www.mihost.com
DocumentRoot /var/www/info
● Con ServerName indicamos el nombre del
VirtualHost. Por lo tanto, cuando entremos con
Firefox en mihost.com estaremos accediendo
realmente al VirtualHost
● ServerAlias nos permite añadir distintos Alias al
dominio.
● DocumenRoot nos ayudará a especificar donde se
encuentra fisicamente la Web a servir.
80
81. Irontec – Curso Apache
VirtualHost
● Configurar un VirtualHost para mihost.com tal y
como se ha indicado antes
● Crear un index.php que me muestre la información
de PHP
● Los logs se deben guardar en /var/log/mihost
● Si yo entro a mihost.com me debe dejar acceder sin
problemas. Pero todos los demas, al intentar entrar,
les debe pedir un usuario y contraseña para acceder
81
82. Irontec – Curso Apache
VirtualHost
● Montad otro virtualhost que se llame
mihostseguro.com
● Debe ser https y escuchar en el puerto 443
● El DocumentRoot debe ser /var/www/seguro/
● El index.html tiene que tener como contenido
vuestro nombre.
82
83. Irontec – Curso Apache
VirtualHost
● Descargar el sistema de blogs wordpress.org
● Instalarlo en nuestro servidor Apache, siendo
accesible desde miblog.com :)
83
84. Irontec – Curso Apache
Awstats
● Otra forma de ver los logs :)
84
85. Irontec – Curso Apache
Awstats
● Awstats es un script en perl que lee nuestros logs y
nos genera gráficas de accesos.
● Entre la información que se muetra está:
– Visitas por día, mes, semana...
– Ips de origen
– URL de origen desde la que nos visitan
– Navegador utilizado
– País de procedencia del visitante
– Documentos más vistos
– Palabras usadas en los motores de busqueda
– Sistema operativo
– ....
85
86. Irontec – Curso Apache
Awstats
● La instalación se puede hacer desde apt.
apt-get install awstats
● El fichero de configuración se encuentra en
/etc/awstats/awstats.conf
● El CGI se encuentra en
/usr/lib/cgi-bin/awstats.pl
● Las estadisticas se actualizan cada 10 minutos
mediante una tarea programada.
86
87. Irontec – Curso Apache
Awstats
● Es posible configurar estadísticas para distintos
dominios.
● Soporta muchos tipos de logs y es configurable. El
soporte para los logs de Apache funciona por
defecto.
● Si hemos modificado los logs de Apache para tener
unos personalizados, será necesario configurar
Awstats para que conozca el formato de los logs.
87
88. Irontec – Curso Apache
Awstats
● Tenemos que instalar awstats y configurarlo para
ver los logs de acceso a nuestro blog.
● Para tener algo que ver, necesitamos generar
visitas...
● Awstats será accesible desde
http://miblog.com/awstats
88
89. Irontec – Curso Apache
AB
● Apache provee una herramienta para el testeo de
rendimiento, Apache Benchmark (ab).
● Nos permite simular miles de accesos
● Las opciones más importantes son:
● -n número de conexiones a realizar
● -c número de conexiónes concurrentes
● -k usar keepalive
89
90. Irontec – Curso Apache
AB
ab -n 1000 -c 10 http://mihost.com/awstats
● Realiza 1000 conexiones, 10 concurrentes a la URL
indicada:
Concurrency Level: 10
Time taken for tests: 0.331 seconds
Complete requests: 1000
Failed requests: 0
● Comparad los datos haciendo solicitudes normales y
con keep alive.
● Poned valores exagerados y comprobad como se
consumen los recursos del sistema.
90
91. Irontec – Curso Apache
Autores
● Miguel Angel Nieto
● Iker Sagasti
● Daniel Gutierrez
91