Haproxy ポートの再利用を分析する方法
この記事の著者: Spark (Ms08067 イントラネット セキュリティ チーム メンバー)
1. 概要
Haproxy は C 言語を使用して開発されています。 -パフォーマンス負荷分散プロキシ ソフトウェア。無料、高速、信頼性の高い TCP および HTTP アプリケーション プロキシを提供します。
frp と同様に、1 つの構成ファイルと 1 つのサーバーを使用して実行できます。
利点:
アクセス コントロール リスト (ACL) はルーターに適用される インターフェース用のコマンドのリスト これらのコマンド・リストは、どのデータ・パケットが受け入れられ、どのデータ・パケットが拒否される必要があるかをルーターに伝えるために使用されます。大規模なビジネス分野で広く使用されている
4層プロキシ(トランスポート層)および7層プロキシ(アプリケーション層)をサポート
acl (アクセス コントロール リスト) をサポートし、ルーティングを柔軟に設定できます。
Windows は cygwin でコンパイルした後に実行できます (クロスプラットフォーム可能)
2. 設定
公式設定マニュアル:
https://cbonte.github.io/haproxy-dconv/2.2/configuration.html 設定ファイルは、グローバル設定とプロキシ設定で構成されます。
defaults: 他の構成セクションにデフォルトのパラメーターを提供します。デフォルトの構成パラメーターは、次の「デフォルト」によってリセットできます。 フロントエンド: 一連の待機ソケットを定義します。ソケットはクライアント要求を受け入れ、接続を確立できます。バックエンド:「バックエンド」サーバーを定義すると、フロントエンド プロキシ サーバーがこれらのサーバーに短期リクエストをディスパッチしますlisten:ソケットとバックエンド サーバーをリッスンすることは、フロントエンド セグメントとバックエンド セグメントを結合することに似ています。例:
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
フロントエンドとバックエンドに焦点を当てます。
フロントエンドで ACL ルールを作成し、転送を構成する必要があります。たとえば、HTTP トラフィックが到着すると Web サービスに転送され、RDP トラフィックが到着すると RDP サービスに転送されます。 どのターゲットのどのポートに転送するかという特定の操作をバックエンドに記述する必要があります。
3. アイデア
(1) アイデア 1 (一般)
レイヤー 4 (送信層) で ACL ルールを作成します。 ) 負荷を実行し、プロトコル タイプに従って負荷を分散します。たとえば、http トラフィックが発生した場合は http サービスに送信され、rdp が発生した場合は rdp サービスに送信されます。(2) アイデア 2
ACL ルールを作成し、7 番目の層 (アプリケーション層) にロードし、配布するアプリケーションのタイプを決定します。たとえば、 http 配信は http サービスに、それ以外の場合は xxx サービスに送信されます。4. 手順
アイデア 1 を例として挙げます:wireshark を通じて tpkt (Application Layer Data Transfer Protocol) 情報をキャプチャしますトラフィック分散のための ACL ルール ルーティングの作成バックエンド サーバーの追加元のインターフェイスの引き継ぎ完了
#4.1 キャプチャtpkt
tpkt については、Baidu を参照するか、参考リンクを参照してください。
スリーウェイ ハンドシェイクの後、アプリケーション層のデータ送信が開始されます。
Wireshark を使用してパケットをキャプチャします:
ssh プロトコル:
最初の 3 つのパケットは 3 ウェイ ハンドシェイクであり、4 番目のパケットの最初の 3 桁は tpkt です。が必要です。たとえば、ssh は 535348 です。
プロトコル | TPKT |
---|---|
SSH | 535348 |
RDP | 030000 |
HTTP(GET) | 474554 |
HTTP(POS) | 504f53 |
HTTP(PUT) | #505554 |
HTTP(DEL) | 44454c |
HTTP(OPT) | 4f5054 |
HTTP(HEA) | 484541 |
HTTP(CON) | 434f4e |
#545241 | #HTTPS |
以上がHaproxy ポートの再利用を分析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック







