


Bagaimana untuk menganalisis penggunaan semula port Haproxy
Pengarang artikel ini: Spark (ahli pasukan keselamatan intranet Ms08067)
1 Gambaran Keseluruhan
Haproxy dibangunkan menggunakan bahasa c High -perisian proksi pengimbangan beban prestasi, menyediakan proksi aplikasi TCP dan HTTP, percuma, pantas dan boleh dipercayai.
Sama seperti frp, ia boleh dijalankan menggunakan fail konfigurasi + pelayan.
Kelebihan:
Digunakan secara meluas dalam bidang perniagaan yang besar
Menyokong proksi empat lapisan (lapisan pengangkutan) dan proksi tujuh lapisan (lapisan aplikasi)
Menyokong acl ( Senarai Kawalan Akses), penghalaan boleh dikonfigurasikan secara fleksibel
Windows boleh dijalankan selepas menyusun dengan cygwin (boleh merentas platform)
Senarai Kawalan Akses (ACL) adalah digunakan dalam penghala Senarai arahan untuk antara muka Senarai arahan ini digunakan untuk memberitahu penghala paket data mana yang boleh diterima dan paket data mana yang perlu ditolak.
2. Konfigurasi
Manual konfigurasi rasmi: https://cbonte.github.io/haproxy-dconv/2.2/configuration.html
Fail konfigurasi terdiri daripada konfigurasi global dan konfigurasi proksi:
Konfigurasi global (global): Mentakrifkan parameter yang berkaitan dengan keselamatan dan prestasi pengurusan proses haproksi
Tetapan proksi (proksi) :
lalai: Sediakan parameter lalai untuk bahagian konfigurasi lain Parameter konfigurasi lalai boleh ditetapkan semula dengan "lalai" seterusnya
depan: Tentukan satu siri soket pendengaran, ini. soket boleh menerima permintaan pelanggan dan mewujudkan sambungan dengannya
belakang: Tentukan pelayan "belakang", dan pelayan proksi bahagian hadapan akan menghantar permintaan jangka pendek kepada pelayan ini
dengar: Tentukan soket mendengar dan pelayan hujung belakang, sama seperti menyatukan segmen hujung hadapan dan hujung belakang
Contoh:
global defaults log global mode tcp option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 frontend main mode tcp bind *:8888 option forwardfor except 127.0.0.1 option forwardfor header X‐Real‐IP # 配置acl规则 acl is‐proxy‐now urlp_reg(proxy) ^(http|https|socks5)$ # 分发到对应的backend use_backend socks5 if is‐proxy‐now use_backend http backend socks5 mode tcp timeout server 1h server ss 127.0.0.1:50000 backend http mode tcp server http 127.0.0.1:80
Fokus pada hujung hadapan dan hujung belakang.
Anda perlu menulis peraturan acl dan mengkonfigurasi pemajuan dalam Frontend. Sebagai contoh, apabila trafik HTTP datang, ia dimajukan ke perkhidmatan web; apabila trafik RDP datang, ia dimajukan kepada perkhidmatan RDP.
Operasi khusus perlu ditulis dalam Backend, iaitu memindahkan ke sasaran dan port mana.
Tiga idea
(1) Idea 1 (umum)
Tulis peraturan acl pada lapisan empat (lapisan penghantaran) untuk menjalankan beban dan mengagihkannya mengikut jenis protokol Contohnya, apabila trafik http ditemui, ia dihantar ke perkhidmatan http, apabila rdp ditemui, ia dihantar ke perkhidmatan rdp, dsb.
(2) Idea 2
Tulis peraturan acl, jalankan beban pada lapisan ketujuh (lapisan aplikasi), tentukan jenis aplikasi untuk pengedaran, contohnya, apabila menghadapi pengedaran http ke perkhidmatan http, jika tidak dihantar ke perkhidmatan xxx.
Empat Langkah
Ambil idea 1 sebagai contoh:
Tangkap maklumat tpkt (protokol pemindahan data lapisan aplikasi) melalui wireshark<.>
Tulis penghalaan peraturan acl untuk pengedaran trafikTambah pelayan bahagian belakangPengambilalihan antara muka asalSelesai
4.1 Tangkap tpkt
Mengenai tpkt, sila rujuk Baidu atau lihat pautan rujukanSelepas jabat tangan tiga hala, penghantaran data lapisan aplikasi bermula.
Gunakan wireshark untuk menangkap paket:
protokol ssh:
protokol rdp: 030000
Semak cepat:
4.2 编写acl规则
global defaults timeout connect 5000 timeout client 50000 timeout server 50000 frontend main mode tcp bind *:8888 # 重点:编写acl规则进行转发 tcp‐request inspect‐delay 3s acl is_http req.payload(0,3) ‐m bin 474554 504f53 505554 44454c 4f5054 484541 434f4e 545241 acl is_ssh req.payload(0,3) ‐m bin 535348 acl is_rdp req.payload(0,3) ‐m bin 030000 # 设置四层允许通过 tcp‐request content accept if is_http tcp‐request content accept if is_ssh tcp‐request content accept if is_rdp tcp‐request content accept # 分发到对应的backend use_backend http if is_http use_backend ssh if is_ssh use_backend rdp if is_rdp use_backend socks5 backend socks5 mode tcp timeout server 1h server ss 127.0.0.1:50000 backend http mode tcp server http 127.0.0.1:80 backend ssh mode tcp server ssh 127.0.0.1:22 backend rdp mode tcp server rdp 192.168.213.129:3389
该配置文件的功能是监听8888端口,将http流量(速查表中http协议的8种tpkt)转发到本地的80上,将ssh流量转发到本地的22端口上,将rdp流量转发到另一主机的3389上。
五、实验
Target1:Ubuntu 16.04 x64
IP:192.168.213.128
开启22端口、80端口
Target2:Win7 x64
IP:192.168.213.129
开启3389端口
启动haproxy,-f 指定配置文件,开启8888端口表示启动成功。-d:调试模式,可不加。
HTTP协议:访问靶机的8888端口,流量被haproxy分发至本机的80。
RDP协议:访问靶机的8888端口,流量被haproxy分发至192.168.213.129的3389。
SSH协议:访问靶机的8888端口,流量被haproxy分发至本机的22。
haproxy日志:
六、端口重定向
为了不影响常规的80端口访问,将输入的80端口流量重定向到8888端口。当用户以正常方式访问80端口时,流量将转发到8888端口,然后由haproxy再次转发回80端口。
Linux:iptables(不需要重启服务)
iptables ‐t nat ‐A PREROUTING ‐i eth0 ‐p tcp ‐‐dport 80 ‐j REDIRECT ‐‐to‐port 8888
访问80可以正常访问:
Haproxy日志有记录,说明流量由80先到8888,再回到80。
Windows:netsh(需要重启web服务)
netsh interface portproxy add v4tov4 listenport=80 connectport=8888 connectaddress=127.0.0.1
注意:如果在windows下启用端口重定向,需要在端口启动前添加netsh端口转发规则。
Atas ialah kandungan terperinci Bagaimana untuk menganalisis penggunaan semula port Haproxy. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini mengkaji perolehan sistem audit keselamatan operasi. Ia memperincikan kategori tipikal (perkakasan, perisian, perkhidmatan), peruntukan belanjawan (CAPEX, OPEX, Projek, Latihan, Kontingensi), dan kenderaan kontrak kerajaan yang sesuai (GSA SCH

Artikel ini memperincikan tanggungjawab keselamatan penting bagi jurutera DevOps, pentadbir sistem, kakitangan operasi IT, dan kakitangan penyelenggaraan. Ia menekankan mengintegrasikan keselamatan ke dalam semua peringkat SDLC (DevOps), melaksanakan akses yang mantap c

Artikel ini meneroka peranan dan kemahiran yang diperlukan DevOps, keselamatan, dan jurutera operasi IT. Ia memperincikan tugas harian, laluan kerjaya, dan kemahiran teknikal dan lembut yang diperlukan untuk masing -masing, menonjolkan peningkatan kepentingan automasi, c

Artikel ini membezakan sistem audit Keselamatan Operasi (OPSEC) dan Keselamatan Rangkaian (NETSEC). OPSEC memberi tumpuan kepada proses dalaman, akses data, dan tingkah laku pekerja, sementara NETSEC berpusat pada infrastruktur rangkaian dan keselamatan komunikasi. Kunci

Artikel ini mengkaji DevSecops, mengintegrasikan keselamatan ke dalam kitaran hayat pembangunan perisian. Ia memperincikan peranan pelbagai jurutera DevOps, merangkumi seni bina keselamatan, automasi, pengurusan kelemahan, dan tindak balas insiden

Artikel ini mengkaji kemahiran penting untuk kerjaya operasi keselamatan yang berjaya. Ia menyoroti keperluan kepakaran teknikal (keselamatan rangkaian, SIEM, platform awan), kemahiran analisis (analisis data, kecerdasan ancaman), dan kemahiran lembut (CO

DevOps meningkatkan keselamatan operasi dengan mengautomasikan pemeriksaan keselamatan dalam saluran paip CI/CD, menggunakan infrastruktur sebagai kod untuk kawalan yang lebih baik, dan memupuk kerjasama antara pembangunan dan pasukan keselamatan. Pendekatan ini mempercepatkan RULNERABI

Artikel ini butiran keselamatan dan penyelenggaraan (O & M) keselamatan, menekankan pengurusan kelemahan, kawalan akses, pemantauan keselamatan, perlindungan data, dan keselamatan fizikal. Tanggungjawab utama dan strategi mitigasi, termasuk proacti
