ハニーポット運用日記 ~その1~

概要

ハニーポットを運用してみたくなったのでしてみようという日記です。 本記事ではハニーポットの概要説明、サーバのレンタル、ログ分析用のElasticsearch、kibanaの導入までを行います。

ハニーポットとは

①運用者がVPSとかにハニーポットを作る
②攻撃者がハニーポットに攻撃を仕掛ける
ハニーポットがログを出力する
ハニーポット運用者(※1)がログを観察する
運用者がログを観察することで、どのような攻撃が仕掛けられるか分析することができる。

(※1) ハニーポットの運用者は巷ではハニーポッターと呼ばれるらしい

ハニーポットの運用時に気を付けること

ハニーポットの種類

脆弱性があるように見せかけつつ脆弱性を作らないようなシステムを構築する必要がある。 初心者がそれを一から構築するのは無理なので、ハニーポットツールを利用するのが一般的。

用途別にいろいろある。以下にツール例と特長をまとめる。

ツール名 特徴
T-Pot 複数のハニーポット技術を統合しており、侵入者とのやり取りを最大限に引き出すことができるオープンソースハニーポット
Cowrie SSHTelnetサーバのエミュレータで、攻撃者がシステムにログインしたと思わせることができる。
Kippo Cowrieの前身であり、現在はあまり使われていないSSHサーバのエミュレータ
Honeyd ネットワークの脆弱性スキャンのシミュレーションに特化したハニーポット
Dionaea 主にマルウェアを収集することを目的としており、複数のプロトコルとサービスをエミュレートし、侵入者との対話を可能にする。
Glastopf ウェブアプリケーションハニーポットであり、ウェブベースの攻撃を検出することに特化している。
Snort オープンソースの侵入検出・防御システム (IDS/IPS)。ネットワークトラフィックを監視し、不正アクセスや攻撃を検出する。ハニーポットとしても使用することができる。

レンタルサーバについて

syn-ack.hatenablog.com

規約を確認した限り、特にハニーポットの利用を禁止するような文言はなかったのでさくらVPSを利用することにしました。
ただし、他のユーザーやインターネット上の他のシステムに影響を与えないよう、十分なセキュリティ対策を講じる必要があります。

さくらVPSは2週間のお試し期間があるので、初めて試すには都合がよいと思います。

https://faq.sakura.ad.jp/s/article/000001231

  • サーバのスペック ハニーポット自体を動かすだけであれば1GB等の低メモリで十分ですが、 それ以上に重要なのがログ分析です。 ハニーポットのログ分析には Elasticsearch、Kibana、Logstash(以下で説明) が使われていることが多いようです。

Elasticsearchが動く要件はRAM2G以上なので、さくらVPSで4GBのサーバー(Ubuntu)をレンタルすることにしました。

サーバのレンタルから手元の環境からログイン

  • サーバのレンタル まず、さくらのVPSに新規登録します。登録したら、新規追加からサーバの作成をします。

  • 管理ユーザのパスワードの設定 管理ユーザ名はデフォルトでubuntuです。管理ユーザのパスワードは、ubuntuユーザのパスワードという意味です。 入力したら、「管理ユーザーのパスワードをダウンロード」をしておきましょう。

  • 公開鍵の設定 お手元の環境でssh鍵を作っておきましょう。以下はmyhoneypodという名前の鍵を作っている例です。

ssh-keygen -t rsa -b 4096 -f ~/.ssh/myhoneypod

作成したら、myhoneypod.pod(自身で設定した名前)の中身を以下に入力します。

後は支払い方法の選択等をします。

作成できたら、手元のLinux環境(WindowsユーザはWSLなど)で、作成したサーバにログインします。

ssh -i ~/.ssh/myhoneypod ubuntu@IPアドレス

以下は、サーバにログインした前提で進めていきます。

Logstash、Elasticsearch、Kibanaの準備

  • Logstash、Elasticsearch、Kibanaとは www.elastic.co

  • Logstash イベントを監視し、ログをしかるべき場所に出力するツール

  • Elasticsearch オープンソースで開発されている分散型データベースシステム

  • Kibana Elasticsearch内に格納されているデータを可視化できるツール

  • Logstashのインストール

apt install logstash

が、レンタルサーバの場合だとlocalhostにアクセスするところで詰まるので、設定を加えてあげる必要があります。

sudo vi /etc/elasticsearch/elasticsearch.yml
#network.host: 192.168.0.1
network.host: 0.0.0.0

level69.net

ここまでで、Elasticssearch、kibanaのインストールが完了しました。 次回は、実際にこれらを活用してログを可視化してみたいと思います。

参考