ハニーポット運用日記 ~その1~
概要
ハニーポットを運用してみたくなったのでしてみようという日記です。 本記事ではハニーポットの概要説明、サーバのレンタル、ログ分析用のElasticsearch、kibanaの導入までを行います。
ハニーポットとは
①運用者がVPSとかにハニーポットを作る
②攻撃者がハニーポットに攻撃を仕掛ける
③ハニーポットがログを出力する
④ハニーポット運用者(※1)がログを観察する
運用者がログを観察することで、どのような攻撃が仕掛けられるか分析することができる。
(※1) ハニーポットの運用者は巷ではハニーポッターと呼ばれるらしい
ハニーポットの運用時に気を付けること
- ハニーポット自体に脆弱性を作らないこと 脆弱性が見るからにないと攻撃者が去ってしまうので、脆弱性があるように見せかけることが必要。でも脆弱性自体は作らない。
- ハニーポットのサーバについて 自宅サーバは危ないのでレンタルサーバやVPSの利用を考える。その場合は利用規約に則ること
ハニーポットの種類
脆弱性があるように見せかけつつ脆弱性を作らないようなシステムを構築する必要がある。 初心者がそれを一から構築するのは無理なので、ハニーポットツールを利用するのが一般的。
用途別にいろいろある。以下にツール例と特長をまとめる。
ツール名 | 特徴 |
---|---|
T-Pot | 複数のハニーポット技術を統合しており、侵入者とのやり取りを最大限に引き出すことができるオープンソースのハニーポット。 |
Cowrie | SSHとTelnetサーバのエミュレータで、攻撃者がシステムにログインしたと思わせることができる。 |
Kippo | Cowrieの前身であり、現在はあまり使われていないSSHサーバのエミュレータ。 |
Honeyd | ネットワークの脆弱性スキャンのシミュレーションに特化したハニーポット。 |
Dionaea | 主にマルウェアを収集することを目的としており、複数のプロトコルとサービスをエミュレートし、侵入者との対話を可能にする。 |
Glastopf | ウェブアプリケーションのハニーポットであり、ウェブベースの攻撃を検出することに特化している。 |
Snort | オープンソースの侵入検出・防御システム (IDS/IPS)。ネットワークトラフィックを監視し、不正アクセスや攻撃を検出する。ハニーポットとしても使用することができる。 |
レンタルサーバについて
規約を確認した限り、特にハニーポットの利用を禁止するような文言はなかったのでさくらVPSを利用することにしました。
ただし、他のユーザーやインターネット上の他のシステムに影響を与えないよう、十分なセキュリティ対策を講じる必要があります。
- SAKURA internet 規約 www.sakura.ad.jp
さくら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
Elasticsearchのインストール Ubuntuの場合、Elasticsearchのインストール方法は以下の記事が参考になります。 self-development.info
Kibanaのインストール Kibanaのインストール方法は途中まで以下の記事が参考になります。 はじめての Elasticsearch - Qiita
が、レンタルサーバの場合だとlocalhostにアクセスするところで詰まるので、設定を加えてあげる必要があります。
sudo vi /etc/elasticsearch/elasticsearch.yml
#network.host: 192.168.0.1 network.host: 0.0.0.0
ここまでで、Elasticssearch、kibanaのインストールが完了しました。 次回は、実際にこれらを活用してログを可視化してみたいと思います。
参考
- Cowrie cowrie.readthedocs.io
- T-Pot github.com
- ハニーポットで見るログイン試行 jpn.nec.com
- Kibana "What is Kibana?" www.elastic.co
- Getting Started with Logstash www.elastic.co
- 【ELK】Elasticsearch, Logstash, Kibana でログを可視化してみた blog.pfs.nifcloud.com
- 15分で作る、Logstash+Elasticsearchによるログ収集・解析環境 knowledge.sakura.ad.jp