ハニーなトラップ

ニートラップと言ってもSSHアタックに対してのトラップの事w

デフォルトの22番ポートへのアタックの多いこと(--;)アカウントrootでログインやパスワードをpasswordや12345なんて設定してインターネット上に公開してるサーバなんて・・・と思うんだけど

「興味があってサーバ構築してみました!」

なんて言ってる人のサーバは意外とそんな設定なんだろうなぁ・・・。

そんな訳でポート番号を変更するんだけど、攻撃者がどんな事をしてくるのか気になったので何か方法が無いかと探してたら、『Cowrie』っていうSSHのハニートラップツールを見つけたので早速CentOS 7にインストールしてみた。

 

github.com

 

さて、とりあえずINSTALL.mdを眺めてみると、apt-getとか書いてあるのでUbuntuDebianあたりがターゲットな手順だな(^^;)

とりあえず、必要なパッケージをインストール。いつもの通り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-60D バンドル ※初年度保守付き FG-60D-BDL-US

フォーティネット FortiGate-60D バンドル ※初年度保守付き FG-60D-BDL-US

 


FortiGateの本ってこれくらいしか無いのかねぇ?  

FortiGate完全攻略

FortiGate完全攻略

 

 

こんな事をしてると真剣な人にアタックされてサーバ壊されちゃったりする可能性もあるので、ほどほどで止めよう(^^;)