Microsoft?からブルートフォースアタックを受けた話

4連休の前半が間もなく終わろうとした22:30、晩ご飯を食べまったりと本を読んでくつろいでいたらスマホがブルブル震えるんですね。ソシャゲの体力でも回復したのかと思いしばらく放置していたのですが、そろそろ横になろうかと23:00ごろ手に取ると……Mackerel先生からCPU負荷94%突破のお知らせが(^q^)

連休中に君の名前は見たくなかったw

とはいえ見てしまったからにはしょうがないと諦め内容を確認すると、どうやら個人で利用しているWordpress用サーバが炎上なうの模様。何らかの記事がバズった?と思いダッシュボードにログインするけどアクセス数はいつもと変わらず。特定のプロセスが激重の可能性も考えたけど、突然そんなことになるとも思えず、何となしにApacheのアクセスログをtail -fで確認すると…。

xmlrpc.php」への大量のアクセスΣ(゚Д゚)

$ tail -f /var/log/httpd/access_log
70.132.61.91 - - [20/Sep/2020:22:41:09 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.143 - - [20/Sep/2020:22:41:09 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.95 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.147 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.143 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.81 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.144 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.91 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.97 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.95 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"

(後述しますが上記のIPアドレスはCDNの物です)

これ以外のリクエストがほぼ見えない状態でログがガンガン流れてくのを呆然と眺めること数分。明らかにアタックを受けている。それも目の前で、リアルタイムに。はっと我に返りすぐさま対応せねばと思い至りTerminalに意識を戻します。……正直寝たいw
続きを読む

Docusaurusでドキュメントを作成しGitHub Pagesへ公開する

facebookが開発しているDocusaurusドキュサウルスを利用すると、Markdownを書いてちょちょいと設定すればナウい感じのドキュメントを作成することができるという噂を聞きつけ、今回はインストールから簡単な設定を行い、GitHub Pagesへ公開するところまでを駆け足でたどります。

具体的な事例は公式サイトに一覧が掲載されていますが、facebook製だけあってReact関連のプロジェクトはほとんどがDocusaurusみたいですね。

なおDocusaurusには現行バージョンの1.x系と、開発中の2.x系がありますが、今回は1.x系を利用します。2系はコマンドや設定が異なりますのでご注意ください。
続きを読む

「バロン」の肘パッドがラピュタのように崩壊したので交換した話

自宅では10年ほど前に購入したオカムラのオフィスチェア「バロン」を愛用しています。腰痛持ちなので椅子は良いものを使いたいと思い清水の舞台から飛び降りる覚悟で購入を決意し、メジャーどころのオフィスチェアを試座しまくったら最終的にバロンにたどり着きました。やはり日本人には日本メーカーのイスが相性良いのでしょうか?

※画像はメーカーサイトより

ここ10年はほぼノーメンテ、たまに掃除をするくらいでなんの故障や不具合の一つも無かったのですが、つい2ヶ月前ほど前から何の前触れもなく肘パッドに亀裂が入ってきました。最初はひとまずビニールテープで補修してごまかしたのですが、時間が立つほどに崩壊が進んでいくわけです。

最終的に下の素材が見えるレベルになりました。ラピュタのラストシーンを彷彿とさせる崩壊っぷりにさすがにまずいと思い一念発起。交換を決意したというわけです。

誰ですか、滅びの呪文を唱えたのは。先生怒らないから手をあげなさいヽ(`Д´)ノプンプン
続きを読む

MacBookAir2020を買ったのでHomeBrewで色々入れる

MacBookAir2020買いましたヽ(=´▽`=)ノ

1年以上前から買い換えようと何度も店頭に足を運んだのですが、バタフライキーボードが全然しっくり来ない、価格的にもそれならPro買うわといった感じでコスパも今ひとつ。そんなときに突然発表された2020年版がそれらの悩みをすべて解消した神モデルということで迷わず購入。新型コロナが蔓延する情勢不安な中でしたが商売道具をケチってはいけませんw 一体どうしたんだAppleらしくないぞw 顧客の要望を足蹴にし阿鼻叫喚に叩き落とす経営方針はどこにいったんだw 閑話休題。10日程度使った感想としては買ってよかった!これであと3年くらい戦える(๑•̀ㅂ•́)و✧

さて、使い始めるにあたりTimemachineのデータをそっくりそのままコピーしても良かったのですが、何年も使ってると不要なファイルや設定がたまりまくっているため、クリーンインストールしたと思って最初から設定を行うことにしました。今回はHomeBrewを中心にGUIアプリやTerminal環境を整備していきます。


続きを読む

[AWS] Serverless FrameworkでRESTfulAPIを作成する

AWSでRESTfulAPIをAPIGateway+Lambdaで作ろうとすると、ブラウザ上でGUIをいじくるわけですが操作感が独特で慣れるまでちょっとばかし辛いものがあります。そんな時に活躍してくれるのが「Serverless Framework」。YAMLをチョロっと書くだけでそのあたりの設定を良い感じに行ってくれます。

今回はドキュメントの内容に沿って、Serverless Frameworkの導入から実行までを行います。


続きを読む

はじめてのSocket.io #1 「リアルタイムなチャットを作る」

Node.jsのキラーソフトの一つとも言われて久しいSocket.ioを使ってリアルタイム通信を行います。コツさえ分かれば非常に簡単に開発できてしまうのでプロトタイプや小規模なプロジェクトにオススメ。

今回は以下の動画のように複数のクライアント間でリアルタイムに通信が行える簡易チャットをHTML+JavaScriptで作成してみます。

続きを読む

[バイク] 三崎港のマグロ丼と城ヶ島ツーリング #Ninja250SL

美味いマグロが食べたい!

11月16、17日の週末は両日ともに降水確率0%と、ここしばらく台風やら何やらで出かけられなかった分を取り戻すが如く、ツーリングに向かおうと心に決めていたのですが問題は目的地。富士山周辺も良さそうでしたが、久しぶりのツーリングだったこともあり、今回は片道1.5時間ちょいで到着する三浦半島の先っちょを目指すことにしました。

マグロがオレを呼んでいる(・∀・)

三崎港のマグロ丼

続きを読む

GoogleのCloud Translation API v3を触ってみる

自然言語の翻訳APIに興味が出てきたのでちょっと触ってみることにします。ここではすでにテキスト情報になっており、日本語から英語など別の言語に自動的に変換してくれる物を想定しています。

Google Cloud Translate

Google Cloud Translateサイトより

すでに様々なサービスが世に出ていますが、今回はGoogleの翻訳APIを試してみます。新しいバージョン3(以降v3)ではJava、Python、Node.jsから利用できますが、今回はNode.jsで利用します。

続きを読む

映画「すみっコぐらし とびだす絵本とひみつのコ」 ★★★★★(満点)

「すみっコぐらし」の劇場版がネット上で話題騒然です。

実際に劇場に行ったと思われる方のツイートを見ていると……いやいやいや、みんな盛りすぎでしょー。ストーリーらしいストーリーも無さそうだし、サンエックスのゆるきゃらがどうやったらそんな超展開になるんだよ(´・ω・`)

とはいえ、ここまで盛り上がっていると気になる物。お昼時は親子連れでいっぱいだろう中に異分子のおっさんが紛れ込むのも心が痛んだため、ほぼレイトショーの回で恐る恐る拝見したのですが、気がつけば、良い歳したおっさんが号泣していましたw 最後のスタッフロールの時間が短すぎますね……。もう少し尺を長くしてもらわないと顔を上げて歩けないじゃないですかw というかスタッフロールでも追加でジャブを入れてくるので呼吸出来ないw

満点です。今年見た映画の中で3本の指に入る作品でした。
一切の情報や期待を捨てて観に行くことをおすすめします。ちょっと疑心暗鬼なくらいがちょうど良いかもw
続きを読む

台風19号関連のツイート〜武蔵小杉のすみっこから

武蔵小杉の端っこの方、多摩川まで徒歩数分のところに住んでいます。ええ、そうなんです。川崎市から配布されたハザードマップで真っ赤になってるところですねw

テレビなどで報道のあった通りこのエリアは2019年の台風19号により街中が浸水することになりました。私自身は幸いなことに被害はほとんどなかったのですが、生まれて始めて避難所に向かい夜を明かす体験をし、自宅の周囲がドロや水で覆われまともに生活することが困難な状態に見舞われました。

その際の状況をTwitterへ事ある毎にポストしていたため、ひとまず関連するツイートをここにまとめておきます。

続きを読む

[へやキャン] メスティンで自動炊飯してみる

先日の台風19号で幸運にも被災を免れたのですが、やっぱりいざと言う時にどこでも寝食ができるスキルが欲しいと思ったのがきっかけで、キャンプ用品を徐々に揃えることにしました。

今回はアルミ製の「メスティン」をゲットしたのでこれでご飯を炊いてみます。メスティンは日本語で言うはんごうのことですね。ひとまず自宅で炊いてみることにします。

……いや、ちゃうねんでw 本来はもっと前向きな理由で揃えたかったんですよ。来年の夏は北海道ツーリングにキャンプ前提で行きたいとか、「ゆるキャン」が好きだったのでそのうちソロキャン行きたいとか常々考えてたんですけどね。最後に背中を押されたのがまさか台風になるとは夢にも思わず(;´∀`)
続きを読む

はじめてのAnsible #1 入門編

Ansible便利ですよね。
一度設定ファイルを作ってしまえばあとはコマンド一発で同様のサーバ環境が作れます。対象サーバも一度に何台でもまとめて設定できるのも便利。最近では人間が手作業で実行する日々の運用でも活躍するシーンが出てきました。サーバのみならずクライアント環境に対しても利用できちゃいます。

Ansibleのようなソフトウェアを構成管理ツールと呼びます。同様の物にChefPuppetなど色々ありますが、管理対象のマシンはPythonが入っていれば他に余計なソフトウェア(Agent)をインストールしなくて良いのがAnsibleの特徴でもあり良いところです。

というわけで、ここしばらくサボって使わないでいたらすっかり使い方を忘れてしまったので再入門と相成りました。以前はVagrantとセットで利用していたのですが、今回はmacOS上でPlaybookを実行し、Linuxサーバの構成管理を行います。

ちょっと文量が多くなってしまったので何回かに分けてお話する予定です。今回は基本的な利用方法になります。
続きを読む

[バイク] CB400SFで行く島根ツーリング! 出雲〜三瓶山〜仁摩編

ここ数年、お盆は暑すぎるので気温が落ち着いた10月前半ごろに帰省してるのですが、今年は仕事の関係で9月13〜19日の約一週間の日程で帰省しました。メインは生まれ故郷のツーリングスポット巡り。今回はバイクで帰省しなかったので現地でレンタルし、三瓶山から仁摩町を巡る、山も海も楽しめるよくばりさんなルートを楽しんできました。

続きを読む

カナヘイ展に行ってきた (大満足)

8月5日の昼下がり、カナヘイ展に行ってきました。

カナヘイ先生が昨年プロデビュー15周年を迎えたのを記念し、7月25日から8月6日まで松屋銀座で開催された展覧会。春ごろに発表されて以来ずっと気になっていたのですが、女子だらけの空間におっさんが行って空気を乱すのもなぁ…と迷っていたのですよ。ところがTwitterを眺めていると思ったよりも男性がいる(゚д゚)! これは行っても大丈夫なヤツか!?とドキドキしながら現地に向かいました。

いやね、うさぎとピスケが大好きなんですよw 自分とチャットしたことある人なら望むと望まないとに関わらず一度はスタンプくらってるハズw
続きを読む

Web版「Sign In with Apple」を実装する

今年のWWDCで発表された「Sign In with Apple」のWeb版(JavaScript版)を実装してみたいと思います。

今回、裏側はFirebaseを利用していますが、Authenticationは使っていませんので、一般的な環境でも参考になると思います。(執筆時点でまだFirebaseが未対応なので使いたくても使えないわけですがw)

※2019-09-23 「1.5 ユーザーを一意に特定するID」追記

続きを読む