C# のログパーサーでログイン失敗を検出し、IP ブロックに連携します。
RdpGuard
Windows サーバーを不正アクセスから保護

RdpGuard プラグイン API

標準で対応していないログの失敗検出には、プラグイン API を利用できます。プラグインがログのエントリを解析し、RdpGuard がファイルの監視、失敗のカウント、設定に応じた IP のブロックを行います。

.NET Framework クラスライブラリを作成し、RdpGuard フォルダーの rdpguard-plugin-api.dll への参照を追加します。API とサンプルの対象は .NET Framework 4.5 です。

引数なしのコンストラクターを持つ public クラスで IExternalLogBasedEngine を実装します。次の例ではコンストラクターを宣言していないため、自動的に生成されます。

プラグインを RdpGuard の Plugins サブフォルダー (例: C:\Program Files\RdpGuard\Plugins) に配置します。

プラグインのインターフェース:

namespace rdpguard_plugin_api {

    public interface IExternalEngine {

        string Name { get; }
        string Protocol { get; }
    }

    public interface IExternalLogBasedEngine : IExternalEngine {

        string Directory { get; }
        string FileMask { get; }

        bool IsFailedLoginAttempt(string _line, out string _ip, out string _username);
    }
}

失敗の場合は true を返し、有効な IP を _ip に設定します。ログにユーザー名がない場合、_username には null を設定します。それ以外のエントリには false を返します。

実装例:

using rdpguard_plugin_api;

namespace rdpguard_test_plugin {

    public class MyEngine : IExternalLogBasedEngine {

        public string Name => "TestEngine";
        public string Protocol => "MyProto";

        public string Directory => @"C:\MyApp\Logs\";
        public string FileMask => "*.log";

        public bool IsFailedLoginAttempt(string _line, out string _ip, out string _username) {

            _ip = _username = null;

            // sample log line:
            // 2020-06-22 10:29:18 AUTH-ERROR admin 66.249.65.238 Invalid+username+or+password

            var parts = _line.Split(' ');

            if (parts.Length > 5 && "AUTH-ERROR" == parts[2]) {
                _username = parts[3];
                _ip = parts[4];
                return true;
            }

            return false;
        }
    }
}

プラグインをビルドし、DLL を C:\Program Files\RdpGuard\Plugins (またはインストール先の Plugins サブフォルダー) にコピーします。必要に応じてフォルダーを作成し、ツール, RdpGuard サービス, 再起動からサービスを再起動します。

再起動前に、ツール, オプション, ログでレベルを詳細に設定し、保存をクリックします。次のメッセージを確認してください。

ExternalLogBasedEngine::TestEngine started (C:\MyApp\Logs\)

このメッセージはプラグインの起動を示します。検出を試すには、アプリで新しい失敗を発生させ、RdpGuard に記録されることを確認します。

プラグインについてサポートが必要な場合は、お問い合わせください。

RdpGuard 10.4.5 を無料で試す

RdpGuard の保護対象:

お客様の声

"本当に素晴らしいソフトウェアです。サーバーが常に攻撃を受けていたので、安心できるようになりました。RdpGuard、ありがとう。" - Joaquim De Sousa Marques

"優れた製品です。以前は TSBlock という他の方が作成したスクリプトで同様の対策をしていましたが、簡素で使い勝手がよくありませんでした。このソフトウェアで作業がずっと楽になりました。小規模企業にとっても購入する価値があります。" - J. Johnson

"この製品には感心しました。私たちはダラス北部の教会です。今朝、リモートアクセス用サーバーで多数のログイン失敗を発見しました。友人に勧められて、すぐに体験版をダウンロードしました。数分で 5 件ほどの IP アドレスがブロックされ、それを見て購入を決めました。10 分から 15 分後には約 30 件になり、その少なくとも 3 分の 1 は海外からの侵入の試みでした。素晴らしい製品をありがとうございます。多くの問題を未然に防いでいただいたのかもしれません。" - John Hallford

"このソフトウェアが気に入っています。Windows サーバーへの RDP 攻撃が絶えません。ルーターでアクセスを遮断したいところですが、長年のお客様の多くにも影響してしまいます。" - Scott Hirsch

"とても気に入っています。VB スクリプトをカスタマイズするより簡単です。" - Nick Brennan

"RDP の攻撃者を本当に止めてくれる素晴らしい製品です :-)" - Dave、英国

"まず、とても便利なアプリケーションで、Server 2012 R2 の保護に大変役立っています。RdpGuard は、私が見つけた中で最も優れたソリューションです。10 分間試してから製品版を購入しました。:-)" - Carsten Baltes

その他の製品
Copyright © 2012-2026 Netsdk Software FZE. All rights reserved. 利用規約 (英語). プライバシーポリシー (英語). 返金ポリシー (英語).