Archives for : NW/Security

自宅サーバ構成(2017/12)

にやってドン引きされたであろうエントリの2017年度版です。フヒヒ。
基本前年のコピペです。

●FUJITSU TX100S1

このWebサイトの本体があるWebサーバです。(Solaris 11)
サーバ名は「 TERADRIVE 」です。

・NFSファイルサーバ

2TBのDISKをRAID-Z構成にしてNASとして使用しています。
また、DBやWebコンテンツなどもRAID上に格納し、DISK障害から保護しています。
ZFSはファイルシステムレベルでファイル共有の仕組みを持っている素晴らしいファイルシステムです。
ただ、それを乗っけるSolaris自体がもう終わろうとしているのが問題なのですが・・ううっ・・

・Squid

Proxyフィルタリングを行うことにより、
マルウェアの感染リスクがあるWeb広告をブロックしたり、有害サイトへのアクセスをブロックしています。

ここでいう有害サイトとは、『はちま起稿』、『オレ的ゲーム速報@刃』とかを指します。

このように迷惑なWebサイトにアクセスしようとしてもProxy側で遮断してしまいますので、
Twitterで意識の低い人が短縮URLで有害サイトを貼り付けた場合などに、
誤って開いてしまう事を防ぐことができます。

家の中からのインターネットアクセスをすべてこのSquidからに制限する事で、
例えばウィルスなどに感染した際の外部への勝手なアクセスを阻止できるのです。

が、考えたら家でIT機器使うの俺だけだったという寂しい事実が分かりましたので
セキュリティそこまで考えなくていいかなーとか思ってますし制限してません。

・Wake On LAN
宅内のPCは普段電源OFF状態にありますが、リモートから操作したい時があります。
(録画予約、ブラウザゲーなど)
そのような場合はTERADRIVEからWOLパケットを送出する事で、リモート環境から電源投入させる事が出来ます。
なお、電源投入の結果はTwitterより報告されます(後述)

電源投入の予約も出来るシェルスクリプトを作ったので
指定時刻に自動電源投入→録画→エンコード→アップロード→シャットダウン という完全自動運転も可能です。
#環境再構築前はやってたが、今はやってない。考えたら録画しても見ない。(言っちゃった)

・Jenkins
本来はCI/CD(継続的統合&継続的デリバリ)での自動ビルドなどに使われるツールだと思うのですが、
使い勝手が良いのですっごいcronとして使ってます。ってか私開発者じゃないし。

以下の処理を自動化しています。

・SSL証明書更新自動化(月次)
・NAS/DB/WWWコンテンツ/Redmineの自動バックアップ(日次・週次・月次)
・ツクールMVのバックアップとパブリッシュ(オンデマンド実行)
・WindowsのWake On LAN(オンデマンド実行・週次)

ただ、頻繁な処理は各サーバのcronにまかせてます。プロセス監視とかDDNS監視とか。

●Raspberry Pi 3 #1 (GameWatch)

主にEnterprise向けOSであり、最新技術に対する柔軟性の低いTERADRIVEを補完するサーバです。
ホスト名は『 GameWatch 』です。緩い役割的にはインターネット関連、って感じです。

・nginx
TERADRIVE に対するインターネットからのアクセスをSSLで暗号化するリバースProxyサーバです。
Let’s Encrypt によるSSL証明書発行を受けています。

何らかの原因でTERADRIVEがWWWサーバとして機能しない時はメンテナンスページを表示します。
また、WebサイトへのアクセスをReverse Proxy経由のアクセスに限定する事によりセキュリティを高めています。

・宅内DNS

IPアドレスでの管理が面倒だったり、自宅内からFQDNでサイト等にアクセスしたりする為、
dnsmasqによるDNSサーバを設置しています。
/etc/hostsだけ変えれば良いので、運用がBINDより超絶簡単。

・Twitter bot

サーバに異常(DISK障害、プロセスダウン)があった場合、
GameWatchからTwitterで私のアカウント宛に通報を行っています。
TERADRIVEで異常が発生した場合も、GameWatchを経由して通報されます。

また、@kishiwadapeople のTwitterアカウントを使って、
出演させて頂くイベント等の自動告知を行います。

Tweetpy とatコマンドによるシェルスクリプトで実装しています。

●Raspberry Pi 3 #2 (GameGear)

・redmine
ラズパイはGameWatchの1台だけだったのですが、
そこに載せてた自分専用RedmineがRubyのアップデートに伴い環境破壊されてしまいました。。
開発者からしたらRuby on Rails素晴らしいと思うのですが、
私のようななんちゃって鯖缶からするとう○こです。

復旧させようとしましたが上手くいかず、新しいラズパイを用意してRails環境を再構築することにしました。
ほんとうん○

で、redmineを何に使っていうかというと・・・

ずばり艦これイベントの攻略記録です。イベント海域への出撃はすべて記録に残すことにしていますので、
記録ツールとしてredmineを採用したのです。1チケット1海域。
集合知ゲーの艦これでは、先行される上級提督様の情報を集めて攻略作戦を組み立てていく必要がありますが、
集めた情報をredmineに切り貼りしていくことで、自分専用の攻略サイトが出来上がったりするのです。
#いや、その分かかる時間も多いけど・・。

あと複雑な任務フローのチャート整理にも使ってます。

進捗ダメです・・・

リバースプロキシを経由して(私だけが)インターネットからアクセスできるようにしています。

・圧縮Proxy
最近やたらとDMM Mobileが遅くなってしまったのでVPNで接続し、この画像圧縮Proxyを経由させる事で、
体感速度を向上させようとしたものです。
暗号化されたSSLには非対応ですので、例えば主戦場たるTwitterなどの恩恵はあまり受けられません。
来た通信は画像圧縮の上、更にSquidに転送されます。

その他、ネットで流行っているツールの試用とかはこのRaspberry Piで行っています。

●YAMAHA RTX1200

以前使っていたRTX1100から上位機種へリプレースしました。
インターネットへ安定接続したり、リモートから宅内環境にアクセスするためのVPNルータです。
VPN経由で接続させる事により、SSHやリモートデスクトップのセキュリティを高めています。

iPhoneから艦これ専用PCにアクセスするために存在(いや、それだけではないが)していましたが、
今は公式でAndroidから艦これがプレイできるので専用PCは撤去しました。
業務用なので詳細なパケットフィルタが書けますから、ファイアウォールとしても利用しています。

●TP−LINK RE450

無線ルータからRTX1200に買い替えましたので、無線用にアクセスポイントを購入しました。
動作自体は快適そのものでコスパ抜群なのですが、後にトンデモナイ仕様が発覚し・・・

TP−LINK製品をお使いの皆様へのお願い

なのでRTX1200でゴミパケットを落とし無害化して利用しています。なんて時代だ。

●Windows PC

主にPT2を使った地デジの録画をしたりします。
MacBookを買ってからはあまり起動しなくなってしまいましたが、たまーにゲームとかもします。
OSはWindows10です。どうでも良いけどホスト名は『 DreamCast 』です。

●MacBook Pro 2017

今の主力です。
ホスト名は『 MSX 』です。
出来ることは何でもコレでやっていますが、何でも出来るのでWindowsの使用頻度がどんどん落ちています。
(あれ・・考えたらTwitterと艦これしかやってないんじゃないか・・・?)

VMware Fusionを導入しており、Windows10の仮想マシンを内蔵しています。
ちなみにそれのホスト名は『 Jaguar 』です。

 

書いてる途中で「一体俺は何の為にやってるんだろう・・」というさもしい気持ちになってまいりましたが、
全てはお勉強のためなのでございます。

ちなみにこれらの技術はお仕事ではほぼ使わない内容となっており、完全な趣味ITなのであります。
ざんねん!!

TP-LINK製品をお使いの皆様へのお願い

なんか製品回収みたいなタイトルになりましたが、
ウチはTP-LINK社と一切関係ない事を最初に申し上げておきます。まー、当たり前か。

このエントリを作成するにあたって、出典を明示していくつかTweetを引用させて頂いておりますが、
問題ある場合はご連絡下さいませ。→@kishiwadapeople

あと、ツッコミどころがありましたら多分訂正いたしますのでご指摘下さいませ。

はじめに(結論)

インターネット資源の適正利用のためTP-LINK製品をお使いの皆様に於かれましては、
TP-LINK製品を送信元とするインターネット向け通信を遮断して頂きたい。

つまり、ルータのパケットフィルタ設定でTP-LINKのIPアドレスからインターネット向けアクセスを拒否して欲しいのです。
これを行わない場合、TP−LINK製品を接続しただけで中国のDDoS攻撃に協力してしまうことになります。

または、ファームウェアを最新に更新し、後述する問題を緩和して頂きたい。
あまり緩和されませんでした。(2018/01/21追記)

Macでスリープ解除時にWiFi切断される事象の頻発が認められたので、
品質的な問題で廃棄しました。(2018/01/29追記)

経緯

ここつい数日前に以下のようなTweetを拝見したのが始まりです。

えっ、マジで。俺1週間前にTP-LINK製品(無線APのRE450)デビューしたばっかだよ?
中国製だけど評判良さそうなので大丈夫かなーとか思いながら買ったのに!
気になったので調べてみることに。

以下の公式サイトによると、

<更新>TP-Link製無線LAN中継器によるNTPサーバーへのアクセスに関して
http://www.tp-link.jp/news-details-17792.html

この現象は、中継器がNTPサーバーへのアクセスを試みることで、インターネット接続の有無の確認を行うために発生しております。
高い頻度でチェックを行うことでインターネット接続の確認がリアルタイムに可能となり、またユーザーの利便性向上のため、管理画面にて接続状況を表示するため使用しております。
このような動作はネットワーク機器における一般的な挙動ですが、
弊社製品は頻度が高いためこの動作によって各NTPサーバーに負荷を与えてしまっておりました。

と釈明しています。

・本来時刻合わせであるNTPを使って用途外であるインターネット接続性を確認する理由
・そもそもL2機器(IPアドレス関係ない)である単なる中継器がインターネット接続性を知る必要性
・TP-LINK社が自前で持つサーバではなく、無関係のNTPサーバをタダ乗り利用している理由

などと突っ込みどころは無数にあるのですが、
ネットワーク機器における一般的な挙動」などと言い切ってるのが本当にリカイフノウです。
中国のネットワーク機器ではそうなんでしょうか。意味わかんね。

 

これらが何故良くないかを簡単に(注:雑に)図示しました。

TP-LINK製品といえばAmazonでも頻繁にタイムセールに並び、
コスパの良さから中継器などはベストセラー扱いを受けたりする製品です。
(だからワタクシも買ったのですが・・w)
日本でもめちゃくちゃ多くの人が使っているかと思われます。

先の英語の文献では2016年に1億6100万台を販売したとありましたから、
超単純計算で月間715MBの1億6100万台分→1秒間に42GBのNTPリクエストが、
”標的”のNTPサーバに襲いかかるわけです。

まあ売った製品が全部動いているわけでもないでしょうから、
仮に実稼働台数を100万台(注:何ら根拠はない)としても秒間267MBのNTPリクエストです。
要するに事実上のDDoS攻撃なのです。(しかも中国による。)

DDoS攻撃はその仕組み上、回避するのが大変難しい(か、莫大な費用を払って対策する)ので、
やられた方は泣き寝入りに近いことになります。

事実、今回”標的”となった福岡大学のNTP運用も限界を迎えており、クローズしようとしています。

●公開NTPサーバの運用と課題
http://enog.jp/wp-content/uploads/2017/10/20171027_ENOG47_tanizaki.pdf
注:2005年くらいから悲鳴を上げているので別にTP-LINKのせいだけではない
(ただし名指し指摘はされている)

検証と対策

先述したとおり、私はTP-LINKのRE450をAPモードで使用しています。
ルータ(RTX1200)のパケットフィルタでTP-LINKから送信されるパケットを落とす設定を入れて、
そのログを観測してみました。

これは2017/12/22 00:30:05〜10の約10秒間のログなのですが、
物凄い勢いでNTPリクエスト(1〜2回/秒程度)されているのが分かります。
※<IPアドレス>:123がNTP通信にあたります。

なお、133.100.9.2というのが先述の福岡大学のNTPサーバです。
しっかり通信しています。

普通の家庭用ルータではインターネット向けのログはわざわざ見られませんし、
ましてやインターネット向けのNTPアクセスはまず止めてませんから、
これらの攻撃的アクセスは秘密裏に行われるわけです。

っていうかこのニュースを知って調査し、ルータで通信を落とすまで、
私の環境からも”攻撃”に加担しちゃってた訳です。なんともはや・・。

ちなみにTP-LINKのいう

中継器がNTPサーバーへのアクセスを試みることで、
インターネット接続の有無の確認を行うために発生しております。

ですが、以下の管理画面の「インターネットステータス」がそれにあたると思われます。
(緑帯のところね)


・・・え、マジでこれだけのために?(しかも「不明」って)

なお、TP-LINKからの通信を許可しても拒否しても結果は変わりませんでした。
(連続で成功しないと変わらない、とかだろうか?)

SNSでは不買みたいな話題にもなってますし、このようなありえない実装が
明るみに出ちゃった以上TP-LINK製品の使用は避けるべきです。

が、せっかく買ったのに勿体無いというのも分かります(私もそうだ)から、
とりあえずパケットフィルタだけはして欲しいのです。

L2機器である無線AP(中継器)の役割においては、
IPアドレスは通信に関係ない(設定画面の表示や時刻合わせするためだけに使われる)ので
TP-LINK発のIP通信を全部止めても全く影響ありません。遠慮なくパケットフィルタして大丈夫です。
#DHCP機能などを兼用させる場合、関係なくもないが少なくともインターネットアクセスは不要
#TP-LINKルータの場合は・・・どう設定すんのかね?

取り急ぎNTPとDNSだけ止めれば良いが、中国のモラルだと正直何されるか分かったものではないので、
大事な情報をすっぱ抜かれる前にIPアドレス指定で止めておいたほうが無難でしょう。
#TP-LINK製品に限らず、中国のパクリゲームアプリなども同様だと思う。
#↑若干の偏見があるのは認めるので、人様に迷惑かけない程度に好きに設定して下さい。

正直攻撃に加担させるからコスパ良くしてるんではないかとすら思う。(←これは妄想の域)

ファームアップした(2018/01/21追記)

ファームアップにより事象が改善するというTP-LINK社からの発表がありましたので、
適用してみました。RE450 V1では、171215がそれにあたります。

確か管理画面にアクセスした場合にだけインターネット確認をする仕様にしたとかで、
いや、NTP通信自体はやめねえのかよとか思いましたが、まあ能動的な攻撃は抑止できるでしょう。

http://www.tp-link.com/jp/download/RE450_V1.html#Firmware

1. インターネット接続状況の確認方式の変更により余計な通信が減少しました。

これね。

適用後、ルータのログを削除してからしばらく放置し、ログを確認しました。
見やすくするためNTP通信のみに絞ってます。

管理ページにアクセスした時だけNTPアクセスするようにしたらしいけど・・・
・・・うん。治ってないネ!もういいです。氏ね。

あとがき

まず、TP-LINK製品をお使いになられる上ではデフォルト、接続しただけで他人様に迷惑をかける
極端な表現で言えば未対策のTP−LINK製品を接続しただけで中国のDDoS攻撃に協力してしまう 事をご認識頂きたい。
そして「はじめに」で述べた対策を講じて頂きたい。

インターネット資源の適正利用がなされる事を願ってやみません。
私の情報発信力なんてたかが知れてるので、IPAか何処かが注意喚起してくれないかなあ・・・。

情報処理安全確保支援士試験合格

タイトル漢字ばっかりですね。すごいですね。

IPA主催の国家試験「情報処理安全確保支援士試験」に合格しました。わあい。

一度経験済みですので、勉強としては午前II問題をチラ解きしたり、
IPAサイトの午後I、II過去問を解いたり、
ポケットスタディ 情報セキュリティスペシャリスト 第2版』(名著!)の
速効サプリを繰り返し読み返したり。2日缶詰したくらいでしょうか。


午前で100点取れなかったのが惜しいですが、
前回ギリギリだった午後IIが午後Iを上回る高得点に。

・・・今回簡単じゃなかったです?
個人的にマルウェアが比較的得意分野というところはあるのですが、
午後IIでなんか「最新の定義を適用した〜」って5回くらい書いた気がするんですけど。
#午前IのマルウェアによるARPの盗聴は逃げました。

私は2016年10月の試験で情報セキュリティスペシャリストに合格していますから、
受けなくても良かったんですが知識の維持的な意味で受けておきました。
午前I免除期間も更新(これは大きい)されるし、名前変わったから一時金出るかもしれないし。(ゲス)
#出ないだろうなぁ・・

1度の合格だとマグレかも知れませんが、2度受かったなら大丈夫でしょう。うんうん。

さて、試験内容は一緒って明示されてるくらいですから、
「情報セキュリティスペシャリスト」から「情報処理安全確保支援士」に
名前変わっただけに見えますが、微妙に試験以外の内容が異なりまして・・

(1)平成29年(2017年度)春期試験から実施予定の「情報処理安全確保支援士試験」の合格者

(2)「情報セキュリティスペシャリスト試験」又は「テクニカルエンジニア(情報セキュリティ)試験」合格者

(合格年度問わず)

※(2)の登録資格は、制度開始から2年間の経過措置期間のみ有効(2018年8月19日申請締切)です。
https://www.ipa.go.jp/siensi/

『情報処理安全確保支援士(登録セキスペ)』へ登録しようと思った場合、
セスペ試験合格だと経過措置期間である2年後には登録できなくなりますが、
支援士試験合格だとこの期間指定がありません。

例えば数年後にカイシャから登録しろって命じられた、ですとか、
数年後に何となく登録したくなった(ねーよ)といった場合に、
登録出来るか出来ないかが変わってくるのです。
(いや、もう一回支援士試験受けて合格すれば良いんですが。)

支援士登録と維持には個人で到底負担出来ない費用(15万/3年)がかかるので、
カイシャに費用を負担して頂くのが正しい流れでしょう。

弁護士みたいな士業でありながら、できたてホヤホヤなので、
現状何か独占的な特典があるわけではありません。

今後、他のIPA試験みたいに登録セキスペ者の有無が、
官公庁案件の受注条件になっていくものと思われます。
セキュリティ界では信用大事なのでハッタリにはなるかも。

 

まー、残念ながらウチのカイシャ(というかウチの部署)は色々高らかに宣言してる割に、あまり情報セキュリティには興味なさそうなので当面負担なんてないでしょう。

ちゃんと情報セキュリティを重んじてるマトモなカイシャの皆様、
是非登録費用の負担を検討してあげて下さいね!