■EMDIVIの件で自宅環境について再考してみる。 日本年金機構の情報漏えい事件から、我々が得られる教訓 http://www.lac.co.jp/security/report/pdf/20150609_apt_j001t.pdf 「高度標的型攻撃」対策に向けたシステム設計ガイド https://www.ipa.go.jp/files/000042039.pdf 「標的型メール攻撃」対策に向けたシステム設計ガイド https://www.ipa.go.jp/files/000033897.pdf 「新しいタイプの攻撃」の対策に向けた設計・運用ガイド https://www.ipa.go.jp/files/000017308.pdf 【注意喚起】組織のウイルス感染の早期発見と対応を http://www.ipa.go.jp/security/ciadr/vul/20150610-checklog.html ■エンタープライズではない自宅環境なので端的に考えると、 事件発生を見越した対策を行っているかという方向で考える。 事件・事故前提の組織体制構築 社員や職員の意識改革と教育 事故対応チームの組織化 セキュリティ監視と不正通信の洗い出し 事件発生を見越した演習 ■従来型の防御として、ClamAVでもEmdiviをTrojanとして検知可能。 また、自宅環境には一太郎どころかWindowsが無い。勿論、ADも無い。 $ sudo strings /var/lib/clamav/daily.cld | grep -i emdivi Win.Trojan.Emdivi:1:*:26646174653d3f*5645523a*097c094e543a*097c094d454d3a2025644d*097c09474d5428 ■公開サービスはすべて外出ししてある。 ISPルータで内部からのみの一般的なNATをしている。 Ciscoルータで、一般的なUDPはDNS、NTP、TCPはプロキシのみ許可。 メールは自宅内のシステムメールのみ。 ■Fortiguard Centerでは亜種も管理されている様子。 firefox http://www.fortiguard.com/encyclopedia/#term=emdivi W32/EMDIVI.XXY!tr.bdr W32/EMDIVI.LEW!tr.bdr W32/EMDIVI.Q!tr.bdr W32/EMDIVI.YJ!tr.bdr W32/EMDIVI.YB!tr.bdr W32/EMDIVI.T!tr.bdr W32/EMDIVI.POL!tr.bdr W32/EMDIVI.K!tr.bdr ■デフォルトのSnortにも「Emerging Threats(ET)」ルールにも本日現在まだ無い。 まあ、IDSなのでスルー。 wheezyにsnortの導入、「local.rules」の追加 http://labunix.hateblo.jp/entry/20130512/1368360371 Snortに「Emerging Threats(ET)」ルールを導入する。 http://d.hatena.ne.jp/labunix/20121224 $ grep -i "emdivi" /etc/snort/rules/*.rules $ /usr/sbin/snort -V 2>&1 | awk '/Ver/ {print $0}' o" )~ Version 2.9.2.2 IPv6 GRE (Build 121) $ wget http://rules.emergingthreats.net/open/snort-2.9.2/emerging.rules.tar.gz $ tar zxvf emerging.rules.tar.gz $ find rules/ -type f -print | sudo grep -i emdivi `xargs` ■ここからが本題。 それでも侵入されたという前提で出口対策を考えてみると。 FWで内部から外部に通過出来るのはDNS、NTP、 プロキシ経由の許可ポート(Webなど)のみで証跡が残る仕組み。 awffullで定期的に集計、監視して不審な通信を発見しやすくする。 私の環境では毎日。システムメール通知もあり。 $ sudo grep "^log\|^access" /etc/squid/squid.conf logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh access_log /var/log/squid/access.log combined Squeezeにawffull(Webalizerの派生)を導入 http://labunix.hateblo.jp/entry/2012/04/01/204538 ■ところで、DNSはフォワーダー専用のchroot-bindなので、 配下のローカルアドレス以外にアクセスがなければOK。 これも「wc -l」で件数のみ毎日システムメール通知すれば良さそう。 debian Wheezyにbind9を導入、chroot-bindを設定する。 http://labunix.hateblo.jp/entry/20130518/1368806582 $ sudo grep queries /var/chroot/bind/etc/bind/named.conf.options category queries { "default-log"; }; $ sudo grep "query:" /var/log/bind.log | grep -v 10.1.1. ■NTPはNICTの「/24」サブネット宛しか許可していないし、 内部は別のFWで直接外部のNTPサーバを参照することは出来ないし、 内部の指定したIPしか時刻同期の参照は出来ない。 IDS/IPSで検知せずに上位の冗長化構成サーバの 「peersstats」にNICTのIP以外のログがなければOK。 これも参照回数を含めて毎日システムメール通知すれば良さそう。 $ sudo find rules/ -type f -print | grep "NTP " `xargs` | wc -l 67 $ dig ntp.nict.jp | awk '/^ntp/ {print $1,$NF}' ntp.nict.jp. 133.243.238.243 ntp.nict.jp. 133.243.238.163 ntp.nict.jp. 133.243.238.244 ntp.nict.jp. 133.243.238.164 $ sudo awk '{print $3}' /var/log/ntpstats/peerstats | sort | uniq -c 36 133.243.238.164 ■プロキシはSquid+SquidGuard+ClamAV構成。 ローカルアドレス宛はプロキシ除外だけでなく、 ブロックするように変更しようとしたけどうまくいかなかったので、 やっぱり内部FWのACL変更でいいや。 ■ところで、内部専用とはいえ、システムメールはamavis-new+spamassassin+clamavで ウイルスチェック、スパムチェックを行っている。 また、Fortigateでもスパムチェック、ウイルスチェックをする予定。 「ALL_TRUSTED」も変更予定としよう。 spamassassinでヘッダ情報に「X-Spam」を追加する http://d.hatena.ne.jp/labunix/20120501 $ head -30 mbox | grep "^X-[SV]" | sed s/`hostname -f`/myhome_domain/g X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=ALL_TRUSTED,DKIM_ADSP_NXDOMAIN, X-Virus-Scanned: Debian amavisd-new at myhome_domain ■今日はここまで。