Ir al contenido principal

🥇▷ Servidor Proxy HAProxy


 

HAProxy (High Availability Proxy) es un servidor proxy y balanceador de carga de código abierto que se utiliza para distribuir el tráfico de red de manera eficiente y confiable entre múltiples servidores backend. HAProxy se destaca por su capacidad para proporcionar alta disponibilidad, escalabilidad y rendimiento, siendo especialmente útil en entornos web donde se requiere distribución de carga entre servidores backend. A continuación, se presentan algunas de las características clave de HAProxy:

  1. Balanceo de Carga: HAProxy distribuye el tráfico de red entrante entre múltiples servidores backend para mejorar el rendimiento y la escalabilidad de las aplicaciones.

  2. Alta Disponibilidad: HAProxy se puede configurar para verificar la salud de los servidores backend y redirigir el tráfico a servidores saludables en caso de que un servidor falle.

  3. Proxy y Reverse Proxy: HAProxy puede actuar como un servidor proxy para servidores backend o como un reverse proxy para servidores frontend, proporcionando una capa de seguridad y optimización.

  4. Control de Sesiones: HAProxy puede realizar un balanceo de carga basado en sesiones y mantener la persistencia de las sesiones para ciertos tipos de aplicaciones.

  5. Protocolos Soportados: HAProxy admite varios protocolos, incluidos HTTP, HTTPS, TCP y UDP.

  6. Monitoreo de Servidores: HAProxy realiza verificaciones periódicas de salud en los servidores backend y ajusta el balanceo de carga en función de sus estados.

  7. Configuración Dinámica: La configuración de HAProxy se puede ajustar dinámicamente sin necesidad de reiniciar el servicio, lo que permite cambios en tiempo real.

  8. Redirección y Reescritura de URL: HAProxy puede redirigir y reescribir las URL según las necesidades de la aplicación.

  9. Autenticación y Cifrado SSL: HAProxy puede gestionar la autenticación y la encriptación SSL/TLS para conexiones seguras.

  10. Filtrado y Bloqueo: HAProxy puede realizar filtrado y bloqueo de solicitudes basado en reglas configuradas.

  11. Herramientas de Monitorización y Estadísticas: HAProxy proporciona herramientas para supervisar el rendimiento y las estadísticas del servidor, como HAProxy Stats.

  12. Algoritmos de Balanceo: HAProxy ofrece varios algoritmos de balanceo, como Round-Robin, Balanceo Ponderado, Balanceo Basado en IP, entre otros.

HAProxy es ampliamente utilizado para implementar arquitecturas de alta disponibilidad, escalabilidad y distribución de carga en aplicaciones web y servicios en línea. Su flexibilidad y rendimiento lo convierten en una solución popular para administradores de sistemas y equipos de infraestructura.

Aquí tienes algunos ejemplos de configuración y casos de uso comunes de HAProxy:

Balanceo de Carga HTTP:

Supongamos que tienes tres servidores web backend (192.168.1.10, 192.168.1.11, 192.168.1.12) y deseas equilibrar la carga entre ellos:

frontend http_frontend
    bind *:80
    mode http
    default_backend http_backend

backend http_backend
    mode http
    balance roundrobin
    server server1 192.168.1.10:80
    server server2 192.168.1.11:80
    server server3 192.168.1.12:80

Balanceo de Carga HTTPS con SSL Passthrough:

Si deseas equilibrar la carga para conexiones SSL sin terminación en HAProxy:

frontend https_frontend
    bind *:443
    mode tcp
    tcp-request inspect-delay 5s
    tcp-request content accept if { req_ssl_hello_type 1 }
    use_backend https_backend if { req_ssl_sni -i example.com }

backend https_backend
    mode tcp
    balance roundrobin
    server server1 192.168.1.10:443
    server server2 192.168.1.11:443

Redirección HTTP a HTTPS:

Puedes configurar HAProxy para redirigir las solicitudes HTTP a HTTPS:

frontend http_to_https
    bind *:80
    mode http
    redirect scheme https code 301 if !{ ssl_fc }

Alta Disponibilidad:

Configura HAProxy para verificar la salud de los servidores y redirigir el tráfico a los servidores saludables:

frontend http_frontend
    bind *:80
    mode http
    default_backend http_backend

backend http_backend
    mode http
    balance roundrobin
    option httpchk GET /health-check
    server server1 192.168.1.10:80 check
    server server2 192.168.1.11:80 check

Persistencia de Sesión:

Si deseas mantener la persistencia de sesión para ciertos tipos de aplicaciones:

 frontend http_frontend
    bind *:80
    mode http
    default_backend http_backend

backend http_backend
    mode http
    balance roundrobin
    cookie SERVERID insert indirect nocache
    server server1 192.168.1.10:80 check cookie server1
    server server2 192.168.1.11:80 check cookie server2

Balanceo de Carga con Peso:

Puedes ajustar el peso de cada servidor backend para lograr un balanceo de carga proporcional:

 backend http_backend
    mode http
    balance roundrobin
    server server1 192.168.1.10:80 weight 3
    server server2 192.168.1.11:80 weight 2
    server server3 192.168.1.12:80 weight 1

Balanceo Basado en IP:

Si deseas que un cliente específico siempre sea dirigido al mismo servidor backend:

 backend http_backend
    mode http
    balance source
    server server1 192.168.1.10:80
    server server2 192.168.1.11:80

Control de Acceso por Dirección IP:

Puedes limitar el acceso a ciertos servicios basado en la dirección IP:

frontend http_frontend
    bind *:80
    mode http
    acl allowed_ips src 192.168.1.0/24
    http_access allow allowed_ips
    default_backend http_backend

Redirección de URL:

Puedes configurar redirecciones permanentes o temporales de URL:

frontend http_frontend
    bind *:80
    mode http
    redirect location https://www.example.com code 301 if { hdr(host) -i example.com }

SSL Passthrough con Redirección:

Si deseas redirigir el tráfico SSL a otro puerto:

frontend https_frontend
    bind *:443
    mode tcp
    redirect scheme https if !{ ssl_fc }
    default_backend https_backend

backend https_backend
    mode tcp
    server server1 192.168.1.10:8443 check

Reglas de Autenticación de Cliente:

Si deseas autenticar a los clientes con certificados SSL:

frontend https_frontend
    bind *:443 ssl crt /etc/ssl/certs/example.pem
    mode http
    acl cliente_autenticado ssl_c_used
    http_request deny if !cliente_autenticado
    default_backend https_backend

Detección y Bloqueo de Botnets:

Puedes usar listas negras para bloquear direcciones IP conocidas de botnets:

acl botnet_ips src -f /etc/haproxy/botnet-ips.lst
http_request deny if botnet_ips

Protección contra Ataques DDoS:

Configura HAProxy para limitar las conexiones de un cliente:

frontend http_frontend
    bind *:80
    mode http
    stick-table type ip size 1m expire 5m store conn_rate(10s)
    tcp-request connection track-sc1 src table bot_limit
    acl conn_rate_abuse sc1_conn_rate ge 100
    tcp-request connection reject if conn_rate_abuse
    default_backend http_backend

Estos ejemplos más avanzados de configuración de HAProxy te proporcionan una visión más profunda de las capacidades de esta herramienta. Asegúrate de ajustar y personalizar estas configuraciones según tus necesidades y los requerimientos de tu infraestructura. Siempre consulta la documentación oficial de HAProxy y otros recursos en línea para obtener detalles más específicos y avanzados sobre su configuración y uso.

Entradas populares de este blog

🥇▷ Como hackear una base de datos con sqlmap

Como hackear una base de datos con sqlmap (sql injection) sqlmap --help Nos descargamos la pagina web vulnerable (DVWA) para practicar sobre diferentes ataques a nivel Web desde la siguiente url, y seguimos los pasos que nos indican para la instalacion web y su base de datos. https://github.com/digininja/DVWA/releases Una vez instalado nos vamos a burpsuite que esta en kali linux, aunque lo podemos encontrar para windows tambien. Le damos click. En esta ventana le damos Next (siguiente). En esta ventana le damos Start burp. Se nos abrira la ventana de burpsuite. Por cierto burpsuite sirve para escanear webs y encontrar vulnerabilidades de forma automatica (30 dias gratis) o de forma manual gratis, si ya hemos localizado la vulnerabilidad atraves de un proxy. Esta vez lo hacemos de forma manual. Nos vamos a la pestaña proxy. Activamos intercept is on. Y le damos a open browser. Ponemos la direccion Web de DVWA de nuestra web vulnerable. Le d

🥇▷ Vulnerabilidad xss en web gva.es generalitat valenciana

Vulnerabilidad xss reflected en web generalitat valenciana > gva.es El dia que encontremos 2 vulnerabilidades y la reportemos al organismo de la comunidad valenciana (españa) basada en la vulnerabilidad xss reflected. ¿Que es una vulnerabilidad xss reflected? Una secuencia de comandos en sitios cruzados o Cross-site scripting es un tipo de vulnerabilidad informática o agujero de seguridad típico de las aplicaciones Web, que puede permitir a una tercera persona inyectar en páginas web visitadas por el usuario código JavaScript o en otro lenguaje similar.

🥇▷ Libros de Seguridad Informatica

Libros de Seguridad Informatica https://0xword.com/