ハニーポットを作成しましたが設定などメール送信したり、分析用コードを作成のためにpythonライブラリを色々入れたりしてました。
これだと再構築したりするときに同じ手順を踏んで構築ができないので作り直して作成方法を記録することにしました。
環境
さくらVPS
石狩サーバ
SSD 25GB
メモリ 512MB
月額 ¥643
年額一括払い ¥7092
年額で払うと月額 ¥591
月600円で運用が可能です。
2週間無料ですので、作成してみて2週間以内に解約すればお金はかかりません。
試しに構築だけしてみてもいいでしょう。
下記バナーからさくらVPSに行けます。
作成手順
1. Ubuntuインストール
そして、契約した環境を選択します。
さくらVPSの契約の仕方は上記さくらのVPSのホームページに行くと契約の仕方がかいてあるので参考にしてください。
OSインストールをクリックします。
一度環境を作っていると、「OS再インストール」ボタンになります。
OSインストール形式は標準OSを選択します。
OS選択はUbuntu20.04 amd64を今回は選びます。
管理者パスワードを設定します。
sshのログインで使います。
パケットフィルター設定はssh接続とウェブサーバへ攻撃してもらうための、TCP22とTと80/443を許可します。
SSHとWebを選択すればOKです。
一番下まで行き、OSインストールを実行してしばらく待つと下図のように「完了しました」と出ます。
これでUbuntuがインストールされました。
2. Ubuntuにログイン
ここからUbuntu環境に入り設定構築をしていきます。
下記リンクの書籍を基に作成しました。
書籍ではUbuntu16.04ですので、少々コマンドが変わってきますが手順は変わりません。
githubも公開しています。
githubを見ても構築できます。
GitHub - morihisa/WOWHoneypot: 簡単に構築可能で、シンプルな機能で動作を把握しやすくした、サーバ側低対話型の入門用 Web ハニーポット。
また、こちらのサイトにも詳しく載ってるので参考にすると良いでしょう。
Honeypotを植えてみた(備忘録) - セキュリティ猫の備忘録
Ubuntuにログインしていきます。
XXXは契約時に割り当てられたipアドレスが入ります。
ログインに成功すると
ubuntu@XXXXXXXX ~$
と表示されればログイン成功です。
まずは、ubuntu環境を整えます。
3. aptでubuntuを最新の状態にします。
sudo apt update
sudo apt upgrade
4. 一般ユーザ作成
これは管理者権限ですので、一般ユーザを作成します。
sudo adduser [任意の名前(もちろん英数字です)]
[]内は自分の好きな名前で構いません。
sshで作成したユーザ名でログインします。
ssh 設定したユーザ名@XXX.XXX.XXX.XXX
または、ログインしたままで
su - 設定したユーザ名
これでもいけます。
下記の表示されたらログイン成功です。
設定したユーザ名@XXX.XXX.XXX.XXX $~
5. SSH接続のセキュリティ設定
次にSSH接続で管理者権限でログインしないように下記リンクを基に設定をしていきます。
設定したユーザアカウントでSSHログインをする際に公開鍵認証を利用するために「.ssh」ディレクトリの中にauthorized_keysファイルを作成し、公開鍵を追記します。
作り方の詳細は下記サイトがわかりやすいです。
さくらVPSでの設定は下記サイトを参考にすると良いです。
そして、権限設定で下記コードを入力します。
~$ mkdir ~/.ssh
~$ chmod 700 ~/.ssh/authorized_keys
~$ touch ~/.ssh/authorized_keys
~$ chmod 600 ~/.ssh/suthorized_keys
最後にログイン確認します。
~$ sh -i ~/.ssh/authorized_keys ユーザ名@XXX.XXX.XXX.XXX
ログインできたら完了です。
6. ファイアウォール設定
ファイアウォール設定をするため、rootユーザでログインします。
開放するポートは、ログイン用のSSHで利用する22/tcp、WOWHoneypot用の80/tcpと8080/tcpです。
Ubuntuでも設定をして、忘れずに1.のUbuntuインストール時のパケットフィルター設定も22、80、8080を開けるようにしておいてください。
開けないとWeb公開ができません。
まずは、念の為ufwをインストールしていきます
~$ ufw default DENY
~$ ufw allow 22/tcp
~$ ufw allow 80/tcp
~$ ufw allow 8080/tcp
~$ ufw enable
※y/nと確認がくるので、yを入力
次にポートフォワーディングの設定をします。
before.rulesファイルを開いたら、「*filter」の記載されている行よりも上に以下4行を追記します。
#viで下記場所のbefore.rulesファイルを開きます。
~$ sudo vi /etc/ufw/before.rules
追記する4行は以下になります。
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p rcp --dport 80 -j REDIRECT --to-port 8080
COMMIT
追記して、before.rulesを保存したら、再起動します。
~$ reboot
7. WoWHoneypotダウンロード
gitでハニーポットを一式ダウンロードします。
8. 動作確認
WOWHoneypotを起動します。
~$ cd wowhoneypot
~$ python3 ./wowhoneypot.py
起動すると、文字列が色々と出てきて最後の5行が以下のように出力されます。
実際に動いているか、契約した時のIPアドレスにgoogleなどのブラウザでアクセスして、以下のようなページアクセスできれば成功です。
いくつかのホームページパターンがアクセスするごとに出てきます。
この状態ですと、Ubuntuにログアウトと同時にサーバが落ちるので、ログアウトしても動き続けるようにするには、nohupコマンドを使用します。
nohupコマンドについてはこちらのサイトで詳しく載っています。
以上で完成です。
ログファイルは、logディレクトリのaccess_logファイルに記載されています。
また、この記事での起動の仕方ではnohupで起動して、wowhoneypotディレクトリの中にoutput.txtが作成されますので、output.txtファイルからも確認できます。
慣れれば、20〜30分でできるかと思います。
自分はubuntuバージョンの違いで多少参考サイトや書籍と違うコマンドだったり、公開キー設定で時間を取られて2時間くらいかかりましたw