Loki Web 蜜罐の導入と設定ガイド

概要

Loki は、軽量な Web 蜜罐ソリューションです。Spring Boot ベースのアーキテクチャを採用し、攻撃者の行動パターンを記録・分析するために設計されています。SQLite データベースをストレージとして使用し、Thymeleaf でテンプレート処理を行うため、リソース消費が少なく迅速に展開できます。

環境構築

実行に必要なコンポーネントは以下の通りです:

  • JDK 1.8 以上
  • Maven バージョン 3.6 以降
  • Git クライアント

リポジトリの取得

git clone https://github.com/TheKingOfDuck/Loki.git
cd Loki

初期設定

src/main/resources の下にある設定ファイルを編集します。以下は変更した構成例です:

server:
  port: 9000
  multiPorts: 8081-8090,9000-9500
  ssl:
    enabled: false
    key-store: keystore/loki.jks
    key-alias: secureAlias
    key-store-password: SecurePass#2024
spring:
  mvc:
    throw-exception-if-no-handler-found: true
datasource:
  url: jdbc:sqlite:db/honeypot.db
  driver-class-name: org.sqlite.JDBC
loki:
  adminPath: /admin/monitor
  adminPort: 9999
  username: adminUser
  password: AdminSecure!2024
  templates: /view/templates/
  statics: /web/assets/
templates:
  list:
    apache:
      - maps:
          port: '80'
          path: 'apache/index.html'
          code: '200'
          header:
            Server: Apache/2.4
            X-Powered-By: PHP/7.4
          respbody: 'unauthorized_access'
    tomcat:
      - maps:
          port: '8080'
          path: 'tomcat/index.html'
          code: '200'
          header:
            Server: Apache-Coyote/1.1
          respbody: 'forbidden'
    nginx:
      - maps:
          port: '443'
          path: 'nginx/index.html'
          code: '403'
          header:
            Server: nginx/1.18
            Set-Cookie: SESSIONID=random123
          respbody: 'blocked'

ビルドとデプロイ

プロジェクトをパッケージ化するためのコマンドを実行します:

mvn clean package -DskipTests

生成された JAR ファイルを以下のように起動します:

java -Xmx512m -Xms256m -jar target/loki-security.jar

利用シナリオ

シナリオ A:複数サービス環境の模倣

異なるポート番号で個別の設定を読み込むことで、複数のバックエンド技術を同時に擬似表示できます。例えば、HTTP リスナー(ポート 80)では Web サーバーを、HTTPS リスナー(ポート 443)ではデータベース接続インタフェースを模擬可能です。

運用上の推奨事項

テスト目的での活用時には、実稼働ネットワークから完全に分離した環境を使用してください。また、収集されるログには認証情報が含まれる可能性があるため、アクセス制御と暗号化による保護が必須となります。

連携可能なシステム

Loki を他のセキュリティコンポーネントと組み合わせることで、より強力な防御体制を構築できます:

  • 中央集権型蜜罐管理ダッシュボードの構築
  • 収集データを威胁インテリジェンスプラットフォームに転送
  • SIEM ソリューションとのシナジーによるリアルタイムアラート機能の実装

タグ: web-honeypot spring-boot Thymeleaf SQLite mvndatabase-config

9月18日 07:09 投稿