log4net出力を暗号化または保護する手段はありますか?log4netログファイルを暗号化する方法
答えて
ログの出力を暗号化したいとします。その場合、暗号化を処理できる独自のAppenderを作成する必要があります。暗号化なしで使用する出力メカニズム(FileAppender、EventLogAppenderなど)を把握し、そのAppenderを拡張し、実際に出力を書き出す機能を無効にすることをおすすめします。
アペンダーに関する参考資料はhereです。
たとえば、FileAppenderをEncryptedFileAppenderで拡張し、ファイル書き込みにフックするために必要なメンバーをオーバーライド/実装します。
また、IAppenderから拡張し、アペンダを最初から完全に作成することもできます。それはあなたにもっとコントロールを与えるでしょうが、ペイロードを暗号化しようとするならば、もっと多くの作業が必要になるかもしれません。
あなたの良いヒントをありがとう。だから、あなたは私のログにジョブを実行するラッパーを実装して追加する前に、コンテンツを暗号化するほうがよいでしょう。その後、私のlogssの内容はlog4netに何も設定せずにすべて暗号化されますか? – paradisonoir
実際に各行項目をログファイルに追加する場所にフックできるので、その行全体を暗号化することができます。これを達成したら、以前使用していたものの代わりにapp4を使用するようにlog4netを設定する必要があります。このケースでは、EncryptedFileAppender – Joseph
@Josephは、ログの各行に対して暗号化することを提案していますか、別のファイルにロールオーバーすると(ログの最大サイズに達すると)ですか? – paradisonoir
ユーザーがウェブ上で閲覧できないようにする場合は、ログレコードを書き込むファイル名を、Webサイトで配信できない拡張子に変更することができます。この方法では、ユーザーはログファイルを推測してWeb上でアクセスすることはできません。
サーバー自体にログオンしているユーザーがファイルの内容を表示しないようにする場合は、特定の管理者グループのユーザーのみがコンテンツを表示できるように、アクセス許可制御を使用してファイルをロックダウンできます。
また、セキュリティ保護が必要なファイルがないようにデータベースにログオンすることもできます。
暗号化のサポートはありません。他の人がここに述べているように、あなたはそれを自分で実装する必要があります。
私はForwardingAppenderをサブクラス化して暗号化することをお勧めします。これは、基本的にあなたがアペンダーをあなたがディスクに実際の書き込みをするために選択する標準的なアペンダーのど真ん中に置くことを可能にします。
私はこの答えは、数年のオリジナルのポストの日付の後に来ることを実現しますが、同じ問題に直面した後、私はちょうどこの仕事をするためのオープンソースパッケージを作成することにしました:log4netのメッセージEncryptorは
ソースコードすることができますGitHub
にあり、パッケージはNuGet
共有してくれてありがとう、私はnlogのための同様のソリューションを探していました。私は公開鍵/秘密鍵を使用してランダム鍵を暗号化して、対称鍵の代わりにセキュリティを向上させることを計画しました。誰でもログにアクセスできるため、app.configから鍵を取得できます。 – faulty
うれしいです! 私の主な使用例は、データベースに格納されているログを中心に、または最初のサーバーから外しています。私の考えは、攻撃者がweb.configファイルにアクセスできるとすれば、ログを暗号化するのは無駄なことかもしれません! 私は実装をNLogに移植することも検討していましたが、人生は途方もないままでした。プロジェクトを作成してソースをオープンして管理しているなら、私が特に興味を持っていることを教えてください! –
もう1つ言及しなければならないのは、web.configの暗号化キーセクションをAspnet_regiisで暗号化する必要があるということです。これは、キーがプレーンテキストではなく、やや安全性が高いことを意味します。 –
- 1. Java暗号化ログファイル
- 2. Railsログファイルの暗号化またはスクラブ
- 3. log4netで使用されるconnectionStringを暗号化するAdoNetAppender
- 4. テキスト暗号化/復号化方法Java
- 5. app.configを暗号化する方法は?
- 6. iphoneアプリケーションを暗号化する方法
- 7. JSONオブジェクトを暗号化する方法
- 8. Heroku - データベースを暗号化する方法
- 9. パスワードの暗号化方法
- 10. 暗号化キーを使用してメッセージを暗号化する方法
- 11. IBMイメージ・サービスのテキストを暗号化/復号化する方法
- 12. iOSでファイルを暗号化/復号化する方法は?
- 13. SAMLアサーションを暗号化および復号化する方法
- 14. チャンク内のデータを暗号化/復号化する方法は?
- 15. Azureストレージアクセスキーを暗号化および復号化する方法
- 16. コアデータのデータを暗号化/復号化する方法は?
- 17. Grailsドメインクラスの列を暗号化/復号化する方法は?
- 18. ユーザパスワードを暗号化する2ウェイ暗号化のハンドル/ストア暗号化キー
- 19. 暗号化方式
- 20. casear暗号化の暗号化で 'z'から 'a'に戻る方法
- 21. ストリーム暗号を使用してTCPデータを暗号化する方法
- 22. Cでファイルを使用してシーザー暗号を暗号化する方法
- 23. StAXでxmlの暗号化/復号化を行う方法は?
- 24. シーザー暗号暗号化Python
- 25. 良い暗号化/暗号化の本
- 26. OpenAM:RESTFUL API - 暗号化/暗号化パスワード
- 27. 暗号化を使用してRC6で暗号化と復号化を行う方法
- 28. 暗号化を保存する方法MySQLでPHPで双方向暗号化を行った
- 29. C#暗号化されたデータをJavascriptで暗号化する
- 30. Java暗号化:整数値を暗号化する
からダウンロードすることができますどのような正確に暗号化したいですか?ログ出力?またはlog4net APIへのアクセス?または、他の何か? –
ログ出力。 – paradisonoir