--- title: ハニーポット構築記 description: KogCoderのハニーポット構築記 tags: KogCoder, ハニーポット, Honey Pot langs: ja-jp --- # ハニーポット構築記 :::success この記事は、[Kogakuin Univ Advent Calendar 2017](https://adventar.org/calendars/2091 "Kogakuin Univ Advent Calendar 2017")の23日目です。 - prev uragou :pro: [ubuntuが無線LANを認識しないとき & 第9回 ICTSC予選 感想](http://uragou.hatenablog.com/entry/2017/12/22/003643 "ubuntuが無線LANを認識しないとき & 第9回 ICTSC予選 感想") - next choll_kog :pro: [](# "") ::: 昨日は[KogCoderのアイドルの記事](http://uragou.hatenablog.com/entry/2017/12/22/003643 "ubuntuが無線LANを認識しないとき & 第9回 ICTSC予選 感想")でした。 アイドルも言っているように、KogCoderのICTSC本戦への出場が決定しました。大会までまだ時間があるのでそれまでにネットワークの勉強をします。KogCoderとしてのICTSC予選の回答の記事は、近日中に公開予定です。 ## 概要 :::info さくらVPSのUbuntu16.04上にDionaea及びDionaeaFRを構築します。 ::: KogCoderはDionaeaというハニーポットを運用しています。 この記事では、運用を開始するまでの流れと、ハニーポットのログの分析、今後の展望に付いて書きます。 ## ハニーポットとは? ハニーポットとは、実際のシステムのように見える囮となるシステムを用意し、それに対する攻撃を観測及び記録するシステム全般を指します。 ### 分類 ハニーポットは2つの視点から分類することが出来ます。 一つ目は、ハニーポットがサーバーとして振る舞うか、クライアントとして振る舞うかです。二つ目は、ハニーポットがどんな環境で動作するかです。 #### 振る舞い ##### サーバーハニーポット WebサーバーやSSHサーバーなどのサーバーを用意し、それにアクセスする攻撃者を記録します。 ##### クライアントハニーポット 不審なサーバーにアクセスし、マルウェア感染などの攻撃を受ける様子を記録します。 #### 環境 ##### 高対話型ハニーポット 実際の環境を用意し、攻撃を観測します。攻撃者からハニーポットだと特定されにくいですが、構築が大変であったり、本当に乗っ取られてしまったりする可能性があります。 ##### 低対話型ハニーポット ハニーポット用のソフトウェアを用いて仮想的な環境を作り、攻撃を観測します。攻撃者に見破られる可能性はあるものの、比較的かんたんに構築でき、攻撃を受けた際のリスクも低いです。 ## KogCoderで運用するハニーポット Kogoderでは、現在3種類のハニーポットの運用を予定しており、いずれも低対話型サーバーハニーポットである、 [**Dionaea**](https://github.com/rep/dionaea "Dionaea GitHub")、[**Cowrie**](https://github.com/micheloosterhof/cowrie "Cowrie GitHub")、[**SNARE**](https://github.com/mushorg/snare "SNARE GitHub")の3つです。 現在運用しているのはDionaeaのみで、残り2つに関しては年度内に運用開始予定です。 ### Dionaea [Dionaea](https://github.com/rep/dionaea "Dionaea GitHub")は、SMB、HTTP(S)、FTP、MySQLなど、様々なシステムに対応したハニーポットです。 ### Cowrie [Cowrie](https://github.com/micheloosterhof/cowrie "Cowrie GitHub")は、SSHに特化したハニーポットです。 ### SNARE [SNARE](https://github.com/mushorg/snare "SNARE GitHub")は、[Glastopf](https://github.com/mushorg/glastopf "Glastopf GitHub")の後継として作られた、Web専用のハニーポットです。 ## Dionaea ここでは、本番環境での構築に関してざっくりと書きますが、実際には検証環境でテストしてから本番環境に構築して下さい。 ### 設置場所の選定 設置場所を考えます。自前のサーバーを用意できるならばそれでも良いですし、VPS等を借りて運用することも出来ます。ただし、VPSで運用する場合、規約違反になる可能性があるため、必ず確認の上、構築して下さい。 ハニーポットにするサーバーは、ネットワーク的に分離するなど、適切な対処をしてください。 ネット等で調べると、さくらVPSではハニーポットの設置を許可しているようなので、さくらVPSにて構築することにしました。(ただし、これはさくらVPSでの運用が問題ないことを保証するものではありません。) ### 初期設定 先生におねだりしてさくらVPS上にサーバーを用意することが出来たため、初期設定をしていきます。詳細は省略しますが、いくつか詰まった点を書いておきます。今回は、さくらVPS上にUbuntu16.04のサーバーを構築します。 #### ポート開放 Ubuntuでポート開放をする際にufwが便利ですが、さくらVPSでは初期状態では設定が反映されません。 [この記事](http://blog.mogmet.com/how-to-enable-ufw-on-sakura-vps/ "さくらのvpsのubuntuでufwが有効にならない")を参考にiptablesの設定を削除しました。 ### Dionaeaのインストール 既存の記事がいくらでもあるため詳細は書きません。 [GitHub](https://github.com/rep/dionaea "Dionaea GitHub")からcloneしてmakeすればできます。一部足りないものがあるが、エラーを見て対応すれば大丈夫です。(わからなければググってください) ### 設定の変更 #### logの設定 logのlevelを必要なだけに設定する。allだとえげつない量出るので少なくともdebugは出さないことを推奨します。 #### アドレスの設定 待ち受けるIPアドレスを設定する。 ### 実行 実行用ユーザーを作成しておき、uオプションとgオプションでそれぞれ実行ユーザーとgroupを指定して実行します。バックグラウンドで起動させるならDオプションを付与します。 ### 動作確認 nmap等で動作確認します。 ここまでで、Dionaeaを動かすことが出来ました。 ## Dionaeaのログを観察する このままでもハニーポットとして運用できますが、1日あたり1000件以上来るログを、手作業で確認するのは困難です。 そこで、Dionaeaのログを可視化してくれるDionaeaFRというものを構築します。 ### DionaeaFRの構築 基本的には[このサイト](http://bruteforcelab.com/visualizing-dionaeas-results-with-dionaeafr.html "Visualizing Dionaea’s results with DionaeaFR")を参考にすれば構築できます。 ただし、自分の環境では、django-tables2のバージョンを1.10にしないと動きませんでした。 ### 観察結果 本当はここにDionaeaFRでの分析結果を載せたかったのですが、DBのパーミッションを間違えてデータがDBに書き込まれていないことを、今日DionaeaFRを立ててから気づきました。 テキストでは残っているので、手作業で解析した結果を載せます。 KogCoderでは約1ヶ月Dionaeaを運用していますが、アクセスログ数は以下のように成りました。 | プロトコル | 回数 | | :-: | :-: | | SMB | 33949 | | HTTP | 917 | | FTP | 167 | | 合計 | 35033 | また、アクセス元のIPアドレスは、5350箇所で、その内訳は以下のとおりです。96カ国からアクセスを受けましたが、上位15カ国のみ掲載します。 | 国 | 数 | | :-: | :-: | | Vietnam | 900 | | United States | 708 | | Indonesia | 613 | | China | 528 | | India | 477 | | Taiwan | 419 | | Thailand | 252 | | Russian Federation | 195 | | Mexico | 101 | | Hong Kong | 99 | | Philippines | 98 | | Japan | 71 | | Venezuela | 65 | | Brazil | 57 | | Ukraine | 53 | | その他 | 714 | | 合計 | 96 | ## 今後の展望 大会等で忙しく、具体的な攻撃内容まで確認できていないため、分析を行います。 また、構築予定の残り2つのハニーポットを構築します。 その後、DionaeaFRも便利ですが、一部動かない機能等もあるため、自前の分析基盤の構築も予定しています。 ## 参考文献 森久和昭(2017)『サイバー攻撃の足跡を分析する ハニーポット観察記録』秀和システム