SSHハニーポットのCowrieをインストールしてみた
以前から気づいていたのですが、僕のハニーポットのauth.logにものすごい量のSSH認証失敗ログが記録されています。
インターネットの世界はHTTPだけでなく、SSHアタックも多いことと、最近Glastopfの攻撃アクセスが偏っていて、面白くなくなってきたので、SSHハニーポットのCrowrieをインストールしてみました。
ほぼほぼ公式ドキュメントどおりにインストールすることができましたが、だいたいの手順をご紹介します。 OSは公式ドキュメントどおりUbuntuです。
1. 各種パッケージのインストール
まずは下記コマンドでパッケージのインストールします。
$ sudo apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind
2. ユーザー作成
次に下記コマンドでユーザーを作成します。
$ sudo adduser --disabled-password cowrie Adding user `cowrie' ... Adding new group `cowrie' (1002) ... Adding new user `cowrie' (1002) with group `cowrie' ... Changing the user information for cowrie Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] $ sudo su - cowrie
入力するところは、そのままEnterで問題ないです。
3. ソースコードのチェックアウト
次にCowrieのソースコードをGitHubからクローンします。
$ git clone http://github.com/micheloosterhof/cowrie Cloning into 'cowrie'... remote: Counting objects: 2965, done. remote: Compressing objects: 100% (1025/1025), done. remote: Total 2965 (delta 1908), reused 2962 (delta 1905), pack-reused 0 Receiving objects: 100% (2965/2965), 3.41 MiB | 2.57 MiB/s, done. Resolving deltas: 100% (1908/1908), done. Checking connectivity... done. $ cd cowrie
再度にディレクトリを移動しておきます。
4. 仮想環境を設定
次に仮想環境の設定を行っていきます。 とはいっても簡単で下記コマンドを実行するだけです。
$ virtualenv cowrie-env New python executable in ./cowrie/cowrie-env/bin/python Installing setuptools, pip, wheel...done.
その後、仮想環境をアクティブな状態にして、パッケージをインストールしていきます。
$ source cowrie-env/bin/activate (cowrie-env) $ pip install --upgrade pip (cowrie-env) $ pip install --upgrade -r requirements.txt
5. 設定ファイルの作成
次に設定ファイルを作成するのですが、僕はめんどくさかったので、下記コマンドでデフォルトの設定ファイルを作成しました。
$ cp cowrie.cfg.dist cowrie.cfg
6. 起動
上記5まで終えたら、いよいよCowrieを起動します。
起動は下記コマンドを実行します。
$ bin/cowrie start Activating virtualenv "cowrie-env" Starting cowrie with extra arguments [] ...
7. NATの設定
起動まではできたのですが、このままではCrowieがlistenしているデフォルトの2222番ポートにアクセスが来てくれないので、下記コマンドでNATの設定を入れてあげます。
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
これをやるとこれまでSSH接続を22番ポートでログインしていた方はログインできなくなる可能性があるので、必要に応じて管理用のポートをリダイレクトしてあげるようにしてあげましょう。
下記コマンドは3333番ポートを22番ポートにリダイレクトする設定コマンドです。
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 3333 -j REDIRECT --to-port 22
これで3333番ポートにアクセスすれば、ひとまずSSH接続できるようになります。
ひとまずこれでSSH攻撃を観察してみようと思います。