Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
HAProxy-Keepalived-Sec-HighLoads — ✨ HAProxy aur Keepalived ke vishay mein load balancer aur cluster ke atirikt, suraksha (kamzor SSL/Kripto Upayog (LOGJAM) (CVE-2015-4000) kamzori ki roktham) aur uchch bhaar ke viruddh sampark karta hai. | Kitploit
उपकरण/GitHubGitHub/fatlan/haproxy-keepalived-sec-highloads
भेद्यता स्कैनरकॉन्फ़िगरेशन ऑडिटिंगनेटवर्क सुरक्षा
GitHubfatlan/haproxy-keepalived-sec-highloads

HAProxy-Keepalived-Sec-HighLoads

✨ HAProxy aur Keepalived ke vishay mein load balancer aur cluster ke atirikt, suraksha (kamzor SSL/Kripto Upayog (LOGJAM) (CVE-2015-4000) kamzori ki roktham) aur uchch bhaar ke viruddh sampark karta hai.

रिपॉजिटरी देखें
62133 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

HAProxy और Keepalived (LoadBalancer+Cluster+Sec+HighLoads) स्थापना और कॉन्फ़िगरेशन

Crepe

HAProxy, उच्च उपलब्धता (high availability) वाला लोड बैलेंसर (load balancing) है जो TCP और HTTP-आधारित अनुप्रयोगों के लिए proxy सर्वर सेवा प्रदान करने वाला एक ओपन सोर्स सॉफ्टवेयर है।

Keepalived, IP failover (failover) क्षमता को दो से अधिक सर्वरों के लिए प्रदान करने में सक्षम एक ओपन सोर्स सॉफ्टवेयर है। Keepalived आपस में Multicast संचार तकनीक का उपयोग करता है।

हम अपने सेटअप में HAProxy load balancer के लिए, Keepalived का उपयोग IP फेलओवर के लिए यानी अपने HAProxy सेटअप को Cluster बनाने के लिए करेंगे।

हमारे परिदृश्य में 3 सर्वर हैं। हम इन 3 सर्वरों पर HAProxy स्थापित करके उन्हें लोड बैलेंसर बनाएंगे। फिर Keepalived सेवा स्थापित करके, जब कोई एक सर्वर बंद हो जाता है, तो IP फेलओवर करके बिना किसी रुकावट के दूसरे सर्वर पर स्विच करके हमारी लोड बैलेंसर सेवा को चालू रखेंगे।

इसके लिए हम 4 IP का उपयोग करेंगे (IP पूरी तरह से काल्पनिक हैं)

  1. सर्वर : 10.10.5.13
  2. सर्वर : 10.10.5.14
  3. सर्वर : 10.10.5.15
  4. Keepalived वर्चुअल IP : 10.10.5.5

अब तीनों सर्वरों पर HAProxy और Keepalived सेवा निम्नानुसार स्थापित करें।

sudo add-apt-repository ppa:vbernat/haproxy-2.7 -y
sudo apt update
sudo apt install haproxy keepalived -y
sudo openssl dhparam -out /etc/haproxy/dhparams.pem 2048

नोट1 : सर्वरों में “net.ipv4.ip_nonlocal_bind=1” होना आवश्यक है। अन्यथा HAProxy के लिए उपयोग किए जाने वाले कॉन्फ़िगरेशन पर एक ही समय में एक ही IP को होस्ट नहीं किया जा सकेगा, जिससे बाइंड त्रुटि होगी और सेवा काम नहीं करेगी। इसके लिए आपको निम्नलिखित कदम उठाने होंगे।

पहले “vi /etc/sysctl.conf” फ़ाइल को संपादित करें और निम्नलिखित पैरामीटर चिपकाकर सहेजें और बाहर निकलें।

net.ipv4.ip_nonlocal_bind=1

फिर निम्नलिखित कमांड चलाएँ।

sysctl -p

नोट2: यदि आप 443 SSL का उपयोग करेंगे, तो “/etc/ssl/private/” निर्देशिका में “haproxy.pem” नाम से आपके SSL का बंडल (.crt,.ca,*.key) रूप होना चाहिए।

अब उदाहरण के लिए नीचे HAProxy कॉन्फ़िगरेशन देखें। आप अपने सेटअप में प्रत्येक HAProxy के लिए समान कॉन्फ़िगरेशन का उपयोग करेंगे।

HAPoxy

इसके लिए आप “/etc/haproxy/haproxy.cfg” फ़ाइल को संपादित करेंगे। निम्नलिखित कॉन्फ़िगरेशन न्यूनतम HAv2 का समर्थन करता है।

vi /etc/haproxy/haproxy.cfg

नीचे डिफ़ॉल्ट मान दिए गए हैं।

global
        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
        stats timeout 30s
        user haproxy
        group haproxy
        daemon
#        maxconn 100000 #replaceable


        # Default SSL material locations
        ca-base /etc/ssl/certs
        crt-base /etc/ssl/private

        # Default ciphers to use on SSL-enabled listening sockets.
        # For more information, see ciphers(1SSL). This list is from:
        #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
        # An alternative list with additional directives can be obtained from
        #  https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
        ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
        #ssl-default-bind-options no-sslv3
	ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
	ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
	ssl-dh-param-file /etc/haproxy/dhparams.pem
	#tune.ssl.default-dh-param 2048


#	nbproc 1
#	nbthread 8

	tune.maxrewrite 16384
	tune.bufsize 32768

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
	option forwardfor
#        maxconn 1000000 #replaceable
        timeout connect 3000000
        timeout client  6000000
        timeout server  6000000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http

HAProxy के लिए Dashboard कॉन्फ़िगरेशन भाग (निगरानी के लिए prometheus एकीकरण जोड़ा गया)

listen stats
        bind fatlan.com:8989
        mode http
        stats enable
        stats uri /stats
        option http-use-htx
        http-request use-service prometheus-exporter if { path /metrics }
        #stats hide-version
        stats realm HAProxy\ Statistics
        stats auth admin:admin

निम्नलिखित कॉन्फ़िगरेशन में दो ब्लॉकों में ACL का उपयोग किया गया है। पहले ब्लॉक में, यदि लिंक में कहीं भी “rest” शब्द आता है, तो middleware-fatlan-backend ब्लॉक सक्रिय होगा; दूसरे में, एक अलग डोमेन अनुरोध (forum.fatlan.com) पर backend fatlan-forum-backend सक्रिय होगा; इसके अलावा सभी अनुरोध fatlan-backend443 ब्लॉक में कार्य करेंगे। अन्य पोर्ट रीडायरेक्ट को छोड़कर।

पोर्ट 80 को पोर्ट 443 पर रीडायरेक्ट करने का भाग

frontend fatlan80
        bind fatlan.com:80
        mode http
        redirect scheme https if !{ ssl_fc }

frontend fatlan443
        bind fatlan.com:443 ssl crt /etc/ssl/private/haproxy.pem ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
        option httplog
	option forwardfor
 	#http-request set-header X-Client-IP req.hdr_ip([X-Forwarded-For])
        #option forwardfor except 127.0.0.0/8
        option http-server-close
	http-request set-header X-Forwarded-Proto https
#        reqadd X-Forwarded-Proto:\ https #old config
        mode http
        default_backend fatlan-backend443

ACL उदाहरण कॉन्फ़िगरेशन (proxypass) - लिंक में कहीं भी rest शब्द आने पर रीडायरेक्ट करें

        acl middleware-fatlan path_beg /rest
        use_backend middleware-fatlan-backend if middleware-fatlan

ACL अलग forum होस्ट रीडायरेक्ट

    	acl host_fatlanforum hdr(host) -i forum.fatlan.com
    	use_backend fatlan-forum-backend if host_fatlanforum

डिफ़ॉल्ट रीडायरेक्ट भाग, 443 के लिए रीडायरेक्ट भाग

backend fatlan-backend443
        mode http
        balance roundrobin
        stick store-request src
        stick-table type ip size 256k expire 30m
        option forwardfor
#        option httplog
        option httpchk HEAD /
	
        server frontend_01 10.10.37.12:8001 check port 8001 inter 3000 rise 2 fall 3
        server frontend_02 10.10.37.13:8001 check port 8001 inter 3000 rise 2 fall 3

ACL से आने वाला, rest रीडायरेक्ट भाग

backend middleware-fatlan-backend
        mode http
        balance roundrobin
        stick store-request src
        stick-table type ip size 256k expire 30m
        option forwardfor
#        option httplog
        option httpchk OPTIONS /login HTTP/1.0
        http-check expect status 200
	http-request replace-path (.*)(?:rest\/)(.*) \1\2
#        reqrep ^([^\ :]*)\ /rest[/]?(.*) \1\ //\2  #old config 
	
        server middleware_01 10.10.37.34:3000 check port 4000 inter 12000 rise 3 fall 3
        server middleware_02 10.10.37.35:3000 check port 4000 inter 12000 rise 3 fall 3

ACL से आने वाला, forum रीडायरेक्ट भाग

backend fatlan-forum-backend
        mode http
        option forwardfor
#        option httplog
        option httpchk HEAD /
	
        server forum_01 10.10.37.45:8080 check port 8080 inter 3000 rise 2 fall 3

बाहरी उदाहरणों को निम्नानुसार भी कॉन्फ़िगर किया जा सकता है।

टूल डाउनलोड करें