CentOS 6.5 に kippo をインストールしてみる
digitalOceanクラウド上に安く簡単にkippoハニーポットを構築する | 徳丸浩の日記
http://blog.tokumaru.org/2014/01/digitaloceankippo.html
sshハニーポットをkippoで作ってみる - ろば電子が詰まっている
http://d.hatena.ne.jp/ozuma/20130829/1377703104
さくらのVPSに来る悪い人を観察する その2
http://www.slideshare.net/ozuma5119/vps-28984029
この辺りの記事を読んでとても面白そうだったので、SSH ハニーポットの kippo を CentOS 6.5 環境にインストールしてみました。
依存ライブラリのインストール
まずは kippo を動かすためのライブラリ等をインストールしていきます。
yum から gcc, python-devel, setuptools をインストール。
# yum install -y gcc python-devel python-setuptools
setuptools を入れると使えるようになる easy_install コマンドで pip をインストールします。
# easy_install pip
pip から pyasn1, pycrypto, twisted パッケージをインストール。
# pip install pyasn1 pycrypto twisted
これで必要なライブラリは一通り入りました。
SSH ポート番号の変更
SSH の標準ポート 22 番は kippo で使用したいので、本来の sshd が使用するポート番号を変更します。
# vi /etc/ssh/sshd_config
ここでは徳丸さんの記事に習って 10022 番ポートに変更しました。
#Port 22 Port 10022
変更したら sshd を再起動します。
# service sshd restart
※ 手元の TeraTerm ではここで sshd を再起動しても特に問題なく作業を続行できましたが、VPS などで試している場合、もし不安なら先に以下を実行して、iptables で変更後の SSH ポートを空けておいた方が無難かも知れません。
iptables の設定
iptables で変更後の sshd 用ポートと kippo の LISTEN ポートを開放します。
ここでは CentOS のデフォルトのルールをそのままにしてあるので、-A で末尾に追加しても上手く動きません。
なので -I で先頭にルールを追しています。
# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 2222 -j ACCEPT # iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 10022 -j ACCEPT
ポート 22 を kippo のデフォルトポート 2222 にリダイレクトするように以下のルールを追加します。
# iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
kippo のインストール
いよいよ kippo をインストールします。
まずは kippo の起動用ユーザを追加します。
# useradd kippo
作成した kippo ユーザになり、ダウンロードして展開します。
# su - kippo $ wget https://kippo.googlecode.com/files/kippo-0.8.tar.gz $ tar xzf kippo-0.8.tar.gz $ cd kippo-0.8
ログを有効にするため、設定ファイルを編集します。
$ vi kippo.cfg
ファイル末尾の以下の行のコメントアウトを解除。
[database_textlog] logfile = kippo-textlog.log
また、kippo でログインを可能とするユーザが以下のファイルで定義されています。
$ cat data/userdb.txt root:0:123456
デフォルトでは上記のように root ユーザがパスワード「123456」で定義されています。
このファイルを変更することでユーザを追加したり、パスワードを変更したりといった事ができます。
準備ができたら kippo を起動してみます。
$ ./start.sh
Starting kippo in background...Loading dblog engine: textlog
Generating RSA keypair...
done.
無事起動できました。
起動で来たら先ほど設定ファイルで有効にした以下のログを tail しておきます。
$ tail -f ./kippo-textlog.log
この状態で別の SSH クライアントを起動してポート 22 に接続し、root / 123456 でログインすることができます。
ログイン後、コマンドを実行してみると kippo-textlog.log に以下のように何を実行したかが記録されている事が分かります。
$ tail -f ./kippo-textlog.log b52fc974918911e3b432000c29ca5f43 [2014-02-09 21:57:18]: New connection: 192.168.81.1:50270 b52fc974918911e3b432000c29ca5f43 [2014-02-09 21:57:26]: Login succeeded [root/123456] b52fc974918911e3b432000c29ca5f43 [2014-02-09 21:57:26]: Terminal size: 150x45 b52fc974918911e3b432000c29ca5f43 [2014-02-09 21:57:29]: Command [w] b52fc974918911e3b432000c29ca5f43 [2014-02-09 21:57:32]: Command [ls] b52fc974918911e3b432000c29ca5f43 [2014-02-09 21:57:37]: Command [ls -l]
取りあえず試したのはここまで。
CentOS でも結構簡単に導入出来る事が分かったので、いろいろ遊んでみたいと思います。