ハニートラップと言ってもSSHアタックに対してのトラップの事w
デフォルトの22番ポートへのアタックの多いこと(--;)アカウントrootでログインやパスワードをpasswordや12345なんて設定してインターネット上に公開してるサーバなんて・・・と思うんだけど
「興味があってサーバ構築してみました!」
なんて言ってる人のサーバは意外とそんな設定なんだろうなぁ・・・。
そんな訳でポート番号を変更するんだけど、攻撃者がどんな事をしてくるのか気になったので何か方法が無いかと探してたら、『Cowrie』っていうSSHのハニートラップツールを見つけたので早速CentOS 7にインストールしてみた。
さて、とりあえずINSTALL.mdを眺めてみると、apt-getとか書いてあるのでUbuntuやDebianあたりがターゲットな手順だな(^^;)
とりあえず、必要なパッケージをインストール。いつもの通りyumコマンドでえいやっ!とインストールする。
yum -y install python-virtualenv mpfr-devel openssl-devel libmpc-devel libffi-devel kernel-devel kernel-headers
このくらい入ってたらなんとかなるんじゃないかな?開発ツールとか入れてないなら、面倒なのでgroupinstallしちゃえば良いんでは・・・
yum -y groupinstall "Development Tools"
次はユーザの作成。cowrieはrootでは実行出来ない(しない方がいい?)ので専用のユーザを作成
useradd cowrie
マニュアルがパスワード無しで作ってるのでとりあえず無しで^^;気になる場合はパスワードを設定したらいいかと・・・。
という訳で作成したcowrieユーザになってインストール開始
su - cowrie
git clone http://github.com/micheloosterhof/cowrie
cd cowrie
virtualenv cowrie-env
むむ?virtualenvってなんじゃろ?
どうやら、Pythonの仮想環境らしい。開発とかする時にバージョンやパッケージが違う環境が必要な時にサーバインストールからしてたら時間の無駄になるので、仮想的に環境を構築する為のツールっぽい。詳しくは調べてないので違ったらごめん <おぃ!
ちゃんと仮想環境になったらプロンプトの前に(cowrie-env) なんてのが付くようになる。
この状態でCowrieを構築していく。
(cowrie-env) $ source cowrie-env/bin/activate
(cowrie-env) $ pip install -r requirements.txt
(cowrie-env) $ cp -p cowrie.cfg.dist cowrie.cfg
(cowrie-env) $ vi cowrie.cfg
とりあえずhostnameくらいは修正。
Listen_portはデフォルトの2222で待ち受けは22にしとく
次は・・・SSHのキーを作ってるのだと思う。。。(^^;)
(cowrie-env) $ cd data
(cowrie-env) $ ssh-keygen -t dsa -b 1024 -f ssh_host_dsa_key
認証用の偽ユーザを作成。デフォルトでrootとか書いてあるので参考にして必要なのを追加する。あっ、本当に使ってるユーザやパスワードは設定したらあかんよ。
(cowrie-env) $ vi data/userdb.txt
PYTHONPATHを設定
(cowrie-env) $ export PYTHONPATH=/home/cowrie/cowrie
とりあえず起動するか確認。
(cowrie-env) $ ./start.sh
正常に起動したら、とりあえず停止するかも確認
(cowrie-env) $ ./stop.sh
virtualenvから抜ける
(cowrie-env) $ deactivate
supervisordらしいのだけど、よくわかんね。とりあえずyumではインストールできないのでgithubにあるrpmをダウンロードしてインストール
exit
cd /usr/local/src
wget https://github.com/tootedom/authbind-centos-rpm/raw/master/authbind/RPMS/x86_64/authbind-2.1.1-0.1.x86_64.rpm
rpm -ivh authbind-2.1.1-0.1.x86_64.rpm
touch /etc/authbind/byport/22
chown cowrie:cowrie /etc/authbind/byport/22
chmod 770 /etc/authbind/byport/22
そろそろ疲れてきたが、あと少しだ。
次にfirewall-cmdで22番ポートを開いて22番ポートから2222番ポートへ転送してやる設定をする
firewall-cmd --permanent --add-port 22/tcp
firewall-cmd --permanent --zone=renbird --add-forward-port=port=22:proto=tcp:toport=2222
firewall-cmd --reload
さて、最後にCowrieを起動させる
su - cowrie
cd cowrie
./start.sh cowrie-env
この状態でワクワクして待ってると22番ポートに釣られた残念な人がホイホイやってくるはずw
で、どんな事をされちゃったのかを確認したい場合は
cd /home/cowrie/cowrie/bin
playlog ../log/tty/YYYYMMDD-hhmmss-XXXXXXXX-XX.log
ってすると、残念な人が実行したコマンドが全て再現される。(´∀`*)ウフフ
さらに、残念な人がダウンロードしたファイルは/home/cowrie/cowrie/dl/に直行されるので残念な人には実行する事は出来ない(らしい)
ちなみに、0時過ぎにインストールが完了して0時56分に既に1人目の残念な人が釣れてた(^^;)
本当はFortigateとかで日本以外のIPは全部落とすとかしてやるのが一番固い気はするけどねw
という訳で、SSHハニートラップ Cowrieのインストール・設定はここまで!
FortiGateの保証が少し前から訴求出来なくなってるので、買う時は保証付きで買ってちゃんと更新しとく方がいいよ。
壊れた時に金さえ払えばなんとかしてくれるんだろ?ってのは受付けてくれなくなったので注意が必要!特に法人で使う場合は。。。うむ、個人でFortiGate買う奴は希少か(笑)
FortiGateの本ってこれくらいしか無いのかねぇ?
こんな事をしてると真剣な人にアタックされてサーバ壊されちゃったりする可能性もあるので、ほどほどで止めよう(^^;)