更新日:2024/04/21
ハニーポットプロジェクト
こちらは2016年から数年間実施していたハニーポットに関する内容となります。現在では古くなってしまった情報が多いため、考え方だけ理解していただければと思います。
目的
- 攻撃者の操作を見ることで、どうやって攻撃しているのかを学ぶ
- 世の中のハニーポットで何ができるのかを知る
方針
少し前の資料じゃが、IPAの出しているサマリーと、その元ネタのドキュメントが以下じゃ。
数は多くあれど、まだまだ整備が進んでいるとは言えないレベルみたいじゃのう。
まず、おさえておくべきポイントは、ハニーポットにもいろいろ種類があることじゃな。軸が2種類あって、
- 高インタラクション OR 低インタラクション
- サーバサイド OR クライアントサイド
インタラクションの高低は、ハニーポットをエミュレータとして実現するものが低い方で、リアルなリソースを相手にするのが高い方らしい。高い方は事故るとやばいのう。攻撃されて乗っ取られると、OSレベルで再インストールしないと安心できなくなってしまう。低い方は基本的にアプリケーションレベルに閉じられるので、まだ気が楽じゃな。
サイドについては、まあサーバの方はハニーポットと聞いて頭に描くものがそれじゃろう。クライアントの方は、ブラウザの通信に関するハニーポットのイメージ。プロキシツールとどう違うのか、イマイチまだ見えとらん。
この4種類の中で最もアプリケーションの数が多いのが、低インタラクションなサーバサイドのもの。今回はまず、この低インタラサーバなアプリケーションをいくつかセットアップすることにするぞい。
構築ロードマップ
- HoneyPotの選定
- サーバおよびOSの選定
- サーバ構築
- HoneyPot構築
運用としてすべきこと
- HoneyPotで捕まえた情報の見方を習得する
- 定期的に捕まえた情報をチェックし解析する
- 定期的にサーバが攻撃されていないかチェックする
HoneyPotの選定
冒頭の英語のドキュメントを紐解きつつ、以下のハニーポットをセットアップすることにしたぞい。このドキュメントの11ページ目に、アプリケーションごとの比較表が掲載されておるんじゃが、一番右の列「USEFULNESS FOR CERT」の評価が高いものを選んだ格好になっておる。なお、cowrieにしたのはこのへんにkippoの弱点が紹介されておったからじゃ。
- Dionaea:汎用型ハニーポット
- cowrie:sshのハニーポット(kippoの後継)
- Glastopf:Webサーバのハニーポット
構築
dionaeaインストール
事前準備# apt-get update # apt-get install aptitude # apt-get install manDependencies
# aptitude install libudns-dev libglib2.0-dev libssl-dev libcurl4-openssl-dev libreadline-dev libsqlite3-dev python-dev libtool automake autoconf build-essential subversion git-core flex bison pkg-configObtain Dionaea
# cd /opt/ # git clone https://github.com/rep/dionaea.git dionaeaInstall LibLCfg
# git clone https://github.com/pb-/liblcfg.git liblcfg # cd liblcfg/code # autoreconf -vi # ./configure -prefix=/opt/dionaea # make installInstall LibEmu
# cd /opt # git clone https://github.com/cperdana/libemu.git libemu # cd libemu # autoreconf -vi # find ./ -type f | xargs sed -i "s/-Werror//g" # ./configure -prefix=/opt/dionaea # make # make installInstall LibEv
# cd /opt/ # wget http://dist.schmorp.de/libev/Attic/libev-4.04.tar.gz # tar -xvzf libev-4.04.tar.gz # cd libev-4.04 # ./configure -prefix=/opt/dionaea # make installInstall LibPcap
# cd /opt/ # wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz # tar -xvzf libpcap-1.1.1.tar.gz # cd libpcap-1.1.1 # ./configure -prefix=/opt/dionaea # make # make installInstall Python 3.4.3
# cd /opt/ # wget http://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz # tar xzf Python-3.4.3.tgz # cd Python-3.4.3 # ./configure --enable-shared -prefix=/opt/dionaea --with-computed-gotos -enable-ipv6 LDFLAGS="-Wl,-rpath=/opt/dionaea/lib -L/usr/lib/x86_64-linux-gnu/" # make # make installInstall Cython
# cd /opt/ # wget https://pypi.python.org/packages/c6/fe/97319581905de40f1be7015a0ea1bd336a756f6249914b148a17eefa75dc/Cython-0.24.1.tar.gz#md5=890b494a12951f1d6228c416a5789554 # tar xzf Cython-0.24.1.tar.gz # cd Cython-0.24.1 # /opt/dionaea/bin/python3 setup.py installOpensslのインストール
# cd /opt/ # wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_1p.tar.gz # tar xzf OpenSSL_1_0_1p.tar.gz # cd openssl-OpenSSL_1_0_1p # ./Configure shared --prefix=/opt/dionaea linux-x86_64 # make # make installInstall Dionaea
# cd /opt/dionaea # autoreconf -vi # find ./ -type f | xargs sed -i "s/-Werror//g" # ./configure --with-lcfg-include=/opt/dionaea/include/ \ --with-lcfg-lib=/opt/dionaea/lib/ \ --with-python=/opt/dionaea/bin/python3.4 \ --with-cython-dir=/opt/dionaea/bin \ --with-udns-include=/opt/dionaea/include/ \ --with-udns-lib=/opt/dionaea/lib/ \ --with-emu-include=/opt/dionaea/include/ \ --with-emu-lib=/opt/dionaea/lib/ \ --with-gc-include=/usr/include/gc \ --with-ev-include=/opt/dionaea/include \ --with-ev-lib=/opt/dionaea/lib \ --with-nl-include=/opt/dionaea/include \ --with-nl-lib=/opt/dionaea/lib/ \ --with-curl-config=/usr/bin/ \ --with-pcap-include=/opt/dionaea/include \ --with-pcap-lib=/opt/dionaea/lib/ \ --with-ssl-include=/opt/dionaea/include/ \ --with-ssl-lib=/opt/dionaea/lib/ # make # make installこれでインストール完了。 コマンドを実行して、動作するか確認してみる。
root@v9723:/opt/dionaea# /opt/dionaea/bin/dionaea --help Dionaea Version 0.1.0 Compiled on Linux/x86_64 at Jul 24 2016 02:14:42 with gcc 4.8.4 Started on v9723.vir.kagoya.net running Linux/x86_64 release 2.6.32-042stab113.17 Dionaea Version 0.1.0 Compiled on Linux/x86_64 at Jul 24 2016 02:14:42 with gcc 4.8.4 Started on v9723.vir.kagoya.net running Linux/x86_64 release 2.6.32-042stab113.17 -c, --config=FILE use FILE as configuration file -D, --daemonize run as daemon -g, --group=GROUP switch to GROUP after startup (use with -u) -h, --help display help -H, --large-help display help with default values -l, --log-levels=WHAT which levels to log, valid values all, debug, info, message, warning, critical, error, combine using ',', exclude with - prefix -L, --log-domains=WHAT which domains use * and ? wildcards, combine using ',', exclude using - -u, --user=USER switch to USER after startup -p, --pid-file=FILE write pid to file -r, --chroot=DIR chroot to DIR after startup, warning: chrooting causes problems with logsql/sqlite -V, --version show version -w, --workingdir=DIR set the process' working dir to DIR examples: # dionaea -l all,-debug -L '*' # dionaea -l all,-debug -L 'con*,py*' # dionaea -u nobody -g nogroup -w /opt/dionaea -p /opt/dionaea/var/run/dionaea.pid root@v9723:/opt/dionaea#dionaeaの設定ファイルの場所(特に変更はしない)
oot@v9723:/opt/dionaea/etc/dionaea# pwd /opt/dionaea/etc/dionaea root@v9723:/opt/dionaea/etc/dionaea# ll 合計 40 drwxr-xr-x 2 root root 4096 7月 24 02:14 ./ drwxr-xr-x 3 root root 4096 7月 24 02:14 ../ -rw-r--r-- 1 root root 14033 7月 24 02:14 dionaea.conf -rw-r--r-- 1 root root 14033 7月 24 02:14 dionaea.conf.dist root@v9723:/opt/dionaea/etc/dionaea#
dionaeaの起動
2016/07/24 02:34:26 開始!
以下だとターミナルを立ち上げっぱなしにしないといけないので、-Dオプションをつけるとデーモンとして実行してくれる。
root@v9723:~# /opt/dionaea/bin/dionaea -r /opt/dionaea Dionaea Version 0.1.0 Compiled on Linux/x86_64 at Jul 24 2016 02:14:42 with gcc 4.8.4 Started on v9723.vir.kagoya.net running Linux/x86_64 release 2.6.32-042stab113.17 python sys_path 0 = "default" imports 0 = "log" 1 = "services" 2 = "ihandlers" ftp root = "var/dionaea/wwwroot" active-ports = "63001-64000" active-host = "0.0.0.0" tftp root = "var/dionaea/wwwroot" http root = "var/dionaea/wwwroot" max-request-size = "32768" sip udp port = "5060" tcp port = "5060" tls port = "5061" users = "var/dionaea/sipaccounts.sqlite" rtp enable = "yes" mode 0 = "bistream" 1 = "pcap" pcap path = "var/dionaea/rtp/{personality}/%Y-%m-%d/" filename = "%H:%M:%S_{remote_host}_{remote_port}_in.pcap" personalities default domain = "localhost" name = "softphone" personality = "generic" actions bank-redirect do = "redirect" play-hello do = "play" params file = "var/dionaea/.../file.ext" surfids sslmode = "require" host = "surfids.example.com" port = "5432" username = "surfids" password = "secret" dbname = "idsserver" virustotal apikey = "........." file = "var/dionaea/vtcache.sqlite" mwserv url = "" maintainer = "" guid = "" secret = "" mysql databases information_schema path = ":memory:" submit_http url = "" email = "" user = "" pass = "" hpfeeds hp1 server = "hpfriends.honeycloud.net" port = "10000" ident = "" secret = "" dynip_resolve = "http://hpfriends.honeycloud.net/ip" logsql mode = "sqlite" sqlite file = "var/dionaea/logsql.sqlite" logxmpp carnivore server = "sensors.carnivore.it" port = "5223" muc = "dionaea.sensors.carnivore.it" username = "anonymous@sensors.carnivore.it" password = "anonymous" config anon-events events 0 = "^dionaea\.connection\..*" 1 = "^dionaea\.modules\.python\.smb.dcerpc\.*" 2 = "^dionaea\.download\.offer$" 3 = "^dionaea\.download\.complete\.hash$" 4 = "^dionaea\.module\.emu\.profile$" 5 = "^dionaea\.modules\.python\.mysql\.*" 6 = "^dionaea\.modules\.python\.sip\.*" 7 = "^dionaea\.modules\.python\.p0f\.*" 8 = "^dionaea\.modules\.python\.virustotal\report" anonymous = "yes" anon-files events 0 = "^dionaea\.download\.complete\.unique" nfq nfaction = "0" throttle window = "30" limits total = "30" slot = "30" timeouts server listen = "5" client idle = "10" sustain = "240" p0f path = "un:///tmp/p0f.sock" fail2ban downloads = "var/dionaea/downloads.f2b" offers = "var/dionaea/offers.f2b" ihandlers handlers 0 = "ftpdownload" 1 = "tftpdownload" 2 = "emuprofile" 3 = "cmdshell" 4 = "store" 5 = "uniquedownload" 6 = "logsql" 7 = "hpfeeds" services serve 0 = "http" 1 = "https" 2 = "tftp" 3 = "ftp" 4 = "mirror" 5 = "smb" 6 = "epmap" 7 = "sip" 8 = "mssql" 9 = "mysql" START {'venet0': ['127.0.0.2'], 'lo': ['127.0.0.1', '::1']} STARTING SERVICES venet0 127.0.0.2 <class 'dionaea.services.httpservice'> <class 'dionaea.services.httpsservice'> ....................................................................................+++ ...+++ <class 'dionaea.services.tftpservice'> <class 'dionaea.services.ftpservice'> <class 'dionaea.services.mirrorservice'> <class 'dionaea.services.smbservice'> <class 'dionaea.services.epmapservice'> <class 'dionaea.services.siptcpservice'> processors filter-emu config allow 0 protocol 0 = "smbd" 1 = "epmapper" 2 = "nfqmirrord" 3 = "mssqld" next emu config emulation limits files = "3" filesize = "524288" sockets = "3" sustain = "120" idle = "30" listen = "30" cpu = "120" steps = "1073741824" api connect host = "127.0.0.1" port = "4444" filter-streamdumper config allow 0 type 0 = "accept" 1 type 0 = "connect" protocol 0 = "ftpctrl" deny 0 protocol 0 = "ftpdata" 1 = "ftpdatacon" 2 = "xmppclient" next streamdumper config path = "var/dionaea/bistreams/%Y-%m-%d/" allow # protocol smbd epmapper nfqmirrord mssqld # type config emulation limits files = "3" filesize = "524288" sockets = "3" sustain = "120" idle = "30" listen = "30" cpu = "120" steps = "1073741824" api connect host = "127.0.0.1" port = "4444" allow # protocol # type accept # protocol ftpctrl # type connect deny # protocol ftpdata ftpdatacon xmppclient # type
ログの見方
▼テキストログ
# tail -f /opt/dionaea/var/log/dionaea.log
▼SQLiteで保持しているインシデントサマリー
# /opt/dionaea/bin/python3 /opt/dionaea/bin/readlogsqltree /opt/dionaea/var/dionaea/logsql.sqlite
▼キャプチャ・ダウンロードしたバイナリの置き場所
# ls -l /opt/dionaea/var/dionaea/binaries
cowrieインストール
▼Ubuntuでcowrie
KAGOYAのiptablesはちょっと変わってるね。
以下はVM上でやった内容と、KAGOYAでやった内容が混ざっています。
# vi/etc/iptables.rules --------------------------------------------------------- -A INPUT -m state --state NEW -m tcp -p tcp --dport 10022 -j ACCEPT --------------------------------------------------------- # /etc/network/if-up.d/iptables # apt-get update -y && apt-get upgrade # apt-get install git python-dev python-openssl openssh-server python-pyasn1 python-twisted authbind # vi /etc/ssh/sshd_config --------------------------------------------------------- #Port 22 Port 10022 --------------------------------------------------------- # service ssh restart # adduser cowrie pass: cowcow2 # touch /etc/authbind/byport/22 # chown cowrie /etc/authbind/byport/22 # chmod 777 /etc/authbind/byport/22 $ su cowrie $ cd $ git clone https://github.com/cowrie/cowrie.git $ cd cowrie $ cp -p cowrie.cfg.dist cowrie.cfg $ vi cowrie.cfg --------------------------------------------------------- #hostname = svr04 hostname = CanadianClub #listen_port = 2222 listen_port = 22 --------------------------------------------------------- $ vi start.sh --------------------------------------------------------- # 最終行に以下を追記 authbind --deep twistd -l log/cowrie.log --pidfile cowrie.pid cowrie ---------------------------------------------------------
参考サイトだと cowrie/utils 配下の ./createfs.py を fs.pickle にリネームさせる手順があるけど、そんなディレクトリはないのでスルー。
というか、cowrie/data 配下に fs.pickle がデフォルトで配置されてるね。
$ cd data $ vi userdb.txt --------------------------------------------------------- root:x:!root root:x:!123456 #root:x:* root:x:giants richard:x:* jim:x:fout ---------------------------------------------------------
さて準備完了! 実行してみましょう。
$ /home/cowrie/cowrie/start.sh Starting cowrie with extra arguments [] ... An error has occurred: 'Couldn't listen on 0.0.0.0:22: [Errno 13] Permission denied.' Please look at log file for more information.
ははー。しっかりエラーですよ。
どうも1024未満のポートはroot権限でないとダメで、cowrieはroot権限で実行すると怒られるという板挟みらしい。
だからkippoも22から2222ポートにリダイレクトさせてたのか。
確かにポートを22から2222に戻すと、このエラーは出なくなった。
▼1024未満のポートではroot権限でないとダメよな記事
$ vi cowrie.cfg --------------------------------------------------------- listen_port = 2222 #listen_port = 22 ---------------------------------------------------------
$ /home/cowrie/cowrie/start.sh Starting cowrie with extra arguments [] ... An error has occurred: 'No module named Crypto.PublicKey' Please look at log file for more information.
新しく出たエラーはモジュールインストールすれば解消するみたい
# apt-get install python-pip # pip install --upgrade pip # pip install crypto # pip install pycrypto
iptables設定(VMの場合)
# cd /etc/network/if-up.d/ # sudo vi iptables --------------------------------------------------------- #!/bin/bash iptables -F iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT iptables -A INPUT -s 192.168.56.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT #iptables -A INPUT -p tcp --dport 2222 -j ACCEPT iptables -A INPUT -p tcp --dport 10022 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 22ポートから2222ポートへのリダイレクト iptables -A PREROUTING -t nat -p tcp --dport 22 -j REDIRECT --to-port 2222 --------------------------------------------------------- # sudo chmod 755 iptables # iptables -L -n --------------------------------------------------------- Chain INPUT (policy DROP) target prot opt source destination ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 192.168.0.0/24 0.0.0.0/0 ACCEPT all -- 192.168.56.0/24 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt: 10022 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ---------------------------------------------------------
iptables設定(KAGOYAの場合)
# vi /etc/iptables.rules --------------------------------------------------------- *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 10022 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT COMMIT *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222 COMMIT ---------------------------------------------------------
めでたく準備完了です。なんか2222ポートでも繋げてしまうけど、実害ないからいいや。
cowrieのログの監視は以下から。id/passの試行から、実行したコマンドまで確認できます。
$ tail -f cowrie/log/cowrie.log
Glastopfのセットアップ
参考サイト
Prerequisites
# apt-get update # apt-get install python2.7 python-openssl python-gevent libevent-dev python2.7-dev build-essential make # apt-get install python-chardet python-requests python-sqlalchemy python-lxml # apt-get install python-beautifulsoup mongodb python-pip python-dev python-setuptools # apt-get install g++ git php5 php5-dev liblapack-dev gfortran libmysqlclient-dev ------------------------------------------------------- パッケージ php5 は使用できませんが、別のパッケージから参照されます。 これは、パッケージが欠落しているか、廃止されたか、または別のソース からのみ利用可能であることを意味します。 パッケージ php5-dev は使用できませんが、別のパッケージから参照されます。 これは、パッケージが欠落しているか、廃止されたか、または別のソース からのみ利用可能であることを意味します。 E: パッケージ 'php5' はインストール候補ではありません E: パッケージ 'php5-dev' はインストール候補ではありません -------------------------------------------------------Ubuntu 16だとこのエラーが出るみたい。 KAGOYAはUbuntu 14.04なので、このエラーは出ず正常終了しました。 # apt-cache search php を実行してみると以下のような感じなので、php5をphp7.0に変えてあげる。
------------------------------------------------------- # apt-cache search php ... php-zipstreamer - Stream zip files without i/o overhead php-zmq - ZeroMQ messaging bindings for PHP php7.0-bcmath - Bcmath module for PHP php7.0-bz2 - bzip2 module for PHP php7.0-enchant - Enchant module for PHP php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary) php7.0-imap - IMAP module for PHP php7.0-interbase - Interbase module for PHP php7.0-intl - Internationalisation module for PHP php7.0-mbstring - MBSTRING module for PHP php7.0-mcrypt - libmcrypt module for PHP php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary) php7.0-soap - SOAP module for PHP php7.0-sybase - Sybase module for PHP php7.0-xsl - XSL module for PHP (dummy) php7.0-zip - Zip module for PHP phpab - lightweight PHP namespace aware autoload generator phpbb3 - full-featured, skinnable non-threaded web forum phpbb3-l10n - additional language files for phpBB ... ------------------------------------------------------- # apt-get install g++ git php7.0 php7.0-dev liblapack-dev gfortran libmysqlclient-dev # apt-get install libxml2-dev libxslt-dev # pip install --upgrade distribute
Install and configure the PHP sandbox
# cd /opt # git clone https://github.com/mushorg/BFR.git # cd BFR # phpize # ./configure --enable-bfr # make && sudo make install
Install glastopf
# pip install glastopf ------------------------------------------------------- File "<environment marker>", line 1, in <module> NameError: name 'sys_platform' is not defined /tmp/pip-build-UaQkot/glastopf/distribute-0.6.35-py2.7.egg Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-build-UaQkot/glastopf/setup.py", line 2, in <module> use_setuptools() File "/tmp/pip-build-UaQkot/glastopf/distribute_setup.py", line 152, in use_setuptools return _do_download(version, download_base, to_dir, download_delay) File "/tmp/pip-build-UaQkot/glastopf/distribute_setup.py", line 132, in _do_download _build_egg(egg, tarball, to_dir) File "/tmp/pip-build-UaQkot/glastopf/distribute_setup.py", line 123, in _build_egg raise IOError('Could not build the egg.') IOError: Could not build the egg. ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-UaQkot/glastopf/ -------------------------------------------------------
なんかエラー出た。もう一つやり方があるみたいなので、そっちでやってみる。
# cd /opt # git clone https://github.com/mushorg/glastopf.git # cd glastopf # python setup.py install
こっちはうまくいった。
# cd /opt # mkdir glastopf_honeypot
起動
cd /opt/glastopf_honeypot sudo glastopf-runner
glastopf-runnerを実行したディレクトリに展開してしまうので注意。--workdirオプションつければいけるかと思ったらこんなん出た。
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 97, in connect return dialect.connect(*cargs, **cparams) File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 385, in connect return self.dbapi.connect(*cargs, **cparams) sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
設定ファイル
/opt/myhoneypot/glastopf.cfg
ファイル中に記載されているポートがいくつかあるので、必要に応じてiptables等、穴開け設定してあげる。
- 80
- 20000
- 5432
- 587
- 5659
運用
捕まえたものの解析はいまいまはできないので、目下気をつけるのは定期的にサーバが攻撃されていないかチェックすることじゃの。できることと言ったらこんなところじゃろうか。
- dfコマンドでディスク容量の定期チェック
- サーバ管理画面のリソース状況のグラフを定期チェック
- netstat -nap でおかしなポートが開かれていないか
分析ツールとして以下のようなものがある。ハニーポットとは別のサーバで建てることをオススメするぞ。これらの分析ツールにアクセスしたときのログが混ざってしまうとノイズになってしまうからのぅ。
- Cowrieのログを分析するツール:Kippo Graph
- Dionaeaのログを分析するツール:DionaeaFR
- the end of this article -