Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
filtron — フィルタリングリバースHTTPプロキシ | Kitploit
ツール/GitHubGitHub/asciimoo/filtron
防御ツールウェブセキュリティAPIセキュリティ
GitHubasciimoo/filtron

filtron

フィルタリングリバースHTTPプロキシ

リポジトリを見る
174263年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Filtron

リクエストを異なるルールでフィルタリングするリバースHTTPプロキシ。

プロダクションWebサーバとアプリケーションサーバの間で使用し、アプリケーションバックエンドの悪用を防ぐことができます。

このプログラムの本来の目的はsearxを防御することでしたが、あらゆるWebアプリケーションを保護するために使用できます。

インストールとセットアップ

root@kitploit:~
$ go install github.com/asciimoo/filtron
$ "$GOPATH/bin/filtron" --help

ルール

ルールには必須属性が2つあります: name と actions

ルールには以下の属性を含めることができます:

  • limit integer - interval 秒間にアプリケーションへのアクセスを許可する一致リクエスト数を定義します。(0の場合は省略可)
  • interval integer - ルールのカウンタをリセットする時間範囲(秒)。(limitが0の場合は省略可)
  • filters セレクタのリスト
  • aggregations セレクタのリスト(filters指定時はフィルタが一致した場合のみ有効)
  • subrules ルールのリスト(filters指定時はフィルタが一致した場合のみ有効)
  • disabled bool - ルールを無効にする(デフォルトはfalse)
  • stop bool - リクエスト検証を直ちに終了し、残りのルールをスキップする(デフォルトはfalse)

ルールのJSON表現:

root@kitploit:~
{
    "name": "example rule",
    "interval": 60,
    "limit": 10,
    "filters": ["GET:q", "Header:User-Agent=^curl"],
    "actions": [
        {"name": "log",
         "params": {"destination": "stderr"}},
        {"name": "block",
         "params": {"message": "Not allowed"}}
     ]
}

説明: qがGETパラメータとして表現され、User-Agentヘッダーがcurlで始まる場合に、1分間に10リクエストのみ許可します。制限を超えた場合、リクエストはSTDERRに記録され、カスタムエラーメッセージでブロックされます。詳細な例はこちらを参照してください。

actions

ルールのアクションは、リクエストがルールの制限を超えた場合に順次有効化されます。

注: カスタム応答を提供するルールの最初のアクションのみが実行されます。

現在実装されているアクション

log

リクエストをログに記録する

block

リクエストをアプリケーションに渡す代わりにHTTP 429応答を返す

shell

シェルコマンドを実行します。cmd(文字列)とargs(セレクタのリスト)は必須パラメータです。(例: {"name": "shell", "params": {"cmd": "echo %v is the IP", "args": ["IP"]}})

filters

すべてのセレクタが見つかった場合、カウンタが増加します。カウンタがlimitに達した場合、ルールはリクエストをブロックします。

aggregations

セレクタが返す値をカウントします。いずれかの値の数がlimitに達した場合、ルールはリクエストをブロックします。

subrules

各ルールは任意の数のサブルールを含むことができます。親ルールのフィルタが一致した場合に有効化されます。

セレクタ

セレクタ式を使用して、リクエストの異なる部分を抽出できます。

セレクタは、次の構文でHTTPリクエストの任意の属性にマッチできる文字列です:

root@kitploit:~
[!]RequestAttribute[:SubAttribute][=Expression]
  • ! はセレクタを否定できます
  • RequestAttribute (必須) リクエストの特定部分を選択 - 可能な値:
    • 単一値
      • IP
      • Host
      • Path
      • Method
    • 複数値
      • GET
      • POST
      • Param - GETとPOSTの両方のエイリアス
      • Cookie
      • Header
  • SubAttribute が単一値でない場合、内部属性を指定できます

例

IP はクライアントのIPアドレスを返します

GET:x は存在する場合、x GETパラメータを返します

!Header:Accept-Language はAccept-Language HTTPヘッダーがない場合にtrueを返します

Path=^/(x|y)$ はパスが/xまたは/yの場合にマッチします

IP=nslookup(example.com) はクライアントのIPアドレスがexample.comのIPアドレスのいずれかである場合にマッチします

API

Filtronは、デフォルトで127.0.0.1:4005で待機するREST APIを介して構成できます。

APIエンドポイント

/rules

ロードされたルール(JSON形式)

/rules/reload

起動時に指定されたルールファイルをリロードする

WebUI

API上に構築されたUI

webui

バグ

バグや提案がありますか?issue trackerをご覧ください。

ツールをダウンロード
RequestAttribute
  • Expression 可能な値:
    • 選択された属性値をフィルタリングするための正規表現。
    • nslookup(Hostname) - HostnameのIPアドレスで選択された属性値をフィルタリングします。Filtronはルールがロードされた時点でHostnameをそのIPアドレス(IPv4およびIPv6)に解決します。