Algodoo開発日記

Twitter→medaka0623

9/13アップデート詳細

こんばんは、medakaです

 

平素よりAlgodooOnlineをご利用いただきまして、誠にありがとうございます。

9/13(金)に行ったアップデートについての説明をしたいと思います。

 

 

1. 広告Bot対策

 

f:id:medaka0923:20190913181853j:plain

海外スパムへの対策です。

掲示板に「日本語を含まない返信」を書き込もうとした場合に、CAPTCHA(文字をグニャグニャにした画像)をひらがなに直して入力しないといけなくなります。

入力する文字列は「あいうえお」の並び順をランダムに変えたやつなので、日本人or日本に理解のある海外勢なら楽に突破できるかと思います。

なお、ログインユーザーに対してはこのスパム対策は行われません。

 

前回からの方針転換について

今までの広告Botに対しては、IPアドレスによる出禁を中心に対処してきましたが、これには様々な課題がありました。

  • 個別の対処しかできない
  • 一回書き込まれないと対処できない
  • 動的IPをBANした場合、関係ない第三者のアクセスができなくなる可能性がある

これらの理由から、「何回も同じIPから書き込まれた際に、個別に対処する」場合しか効果はなく、メインで使うのは割とめんどくさいです。直接こちらで手をかけることになるからめっちゃ清々しいけど。

ってことで、これからは「スパムを事前に防ぐ」方向で対処していきたいと思います。

 

 

2. ログインページからのページ遷移について

 

今までは、ログイン後はホームページに遷移していたのですが、今後は前にいたページに戻ることになります。

ついでにマイページに「ログアウトする」ボタンを追加しました。

 

 

2がめっちゃ短いですが以上になります。

ではまた!

 

引っ越ししました その2

こんにちは、AlgodooOnline管理人のmedakaです

 

当ブログはYahoo!ブログ「Algodoo開発日記」の移行先として開設したのですが、言うほど書くことなくて放置してました。

 

この度、AlgodooOnlineの開発者ブログの移行先として当ブログを引っ張って参りました。

移行理由は、端的に言いますと「AWSの無料枠の料金体系を勘違いしていたため」でございます。

 

これまで、うちのブログサイトはこのような運用をしていました。

 

f:id:medaka0923:20190910103913j:plain

 

EC2を2個運用してます。こいつでアクセスの処理とページ生成を行ってます。

2個運用してるのは、負荷分散と冗長化のためです。

「片方倒しても復活するタイプの双子」っていうイメージで大体あってます。

 

2つのEC2に均等にアクセスを振り分けることで、負荷を分散します

また、EC2はそれぞれの別のデータセンターで動いてるので、片方のデータセンターで障害が起きてもサイト自体は問題なく動きます。

 

…といった説明がAWSの入門書に書いてあったので、試しにこれでWordpress(ブログ)を運用してみることになりました。

 

すると、次の月に見に覚えのない請求メールが届きました。

そう、AWS初心者あるある「知らないうちに無料試用枠の上限をはみだす」に陥ってしまったのです!

 

 なんと、EC2の無料枠は合計750時間以内(=31日と6時間)で、1ヶ月つけっぱなしだと1台が限度なのです

2台で1ヶ月(30日)運用すると、合計1440時間になって無料枠から溢れます。

考えてみれば当たり前なんですが、「入門書の工程で無料枠をオーバーするはずはない」と高を括っていたのでまんまと引っかかりました。

 

たとえ一端の初心者でも、Amazonは無料枠からはみだした690時間分の料金を容赦なく請求してきます。血も涙もありません。

結果、もろもろ含めて無料枠超過分の約35ドル(4000円くらい?)請求されました…

高すぎるって?そうだよ他にもやらかしてたんだよ!!

  • テスト用に立ててたEC2をつけっぱにする
  • 無駄にドメイン買う
  • 紐付けしてないElastic IPを放置するetc...

 

ってことで、前述のブログ環境はいったん停止しまして、はてなブログで再始動することにします。

高い勉強代でしたね。

 

ではまた!

9/6(金)に発生した広告Botと、今後の注意喚起

平素よりAlgodooOnlineをご利用いただきましてありがとうございます。管理人のmedakaです

おととい 9/6(金) に湧いた広告について説明いたします。

まずは前提知識から。
AlgodooOnlineサーバーはこんな感じで運用されてます

f:id:medaka0923:20190910120702j:plain

うちのサーバーはDDoS攻撃とかに耐えられるほどのスペックが無いので、クラウドフレアというセキュリティサービスを利用しています
クラウドフレアを利用したWebサーバーへのアクセスは、いったん世界中に配備されているデータセンターに送られます
そこで攻撃と判断されると、そのアクセスは遮断され、Webサーバーには何も届きません

遮断するアクセスは、こちらで勝手に決めることができます
AlgodooOnline では、広告と判断した書き込みを行った人間(というかその端末)は出禁にしてます

んで、今回の広告なんですが、書き込んだ時刻のログはこうなってました

f:id:medaka0923:20190910120717j:plain

一応こいつにもプライバシーはあるので、IPアドレスは隠してます
黒線の長さからなんとなく分かると思いますが、秒単位で連続して違うIPアドレスからアクセスが来てます
その他諸々の状況証拠(自主規制)からして多分同一人物だと思うのですが、「Tor」で送信元が秘匿化されている可能性があります

「Tor」というのは、複数の端末(ノード)を経由してからアクセスすることで、接続経路をわからなくする仕組みのことです
要するにこういうこと

f:id:medaka0923:20190910120726j:plain

 

クラウドフレアやWebサーバーのログには、送信元ではなく最後に接続したノードの端末情報(IPアドレスとか)が残ります。
送信元を特定することはほぼ不可能です

なので、ログに残ったIPアドレスを元に出禁にしようととしても、ノードが一個使えなくなるだけでほとんど効果はありません

一番確実な対策は、クラウドフレア側で「Tor経由のアクセスを全部ブロック」することですが、Tor使ってる人が全員悪人というわけではないので正直あんまりやりたくないです

次同じような書き込みが来たらTor禁止にするかもですね

そういうことなので、しばらく同一犯による犯行が起こる可能性は否定できません
三度目は多分無いでしょうけど

ではまた!

引っ越しました

はじめまして、Medakaです

 

今回、Algodooのブログを、Yahooブログから引っ越しすることになりました

理由は色々ありますが、一番大きいのはこれがやりたかったから!

 

 

あとこれ!

 

素晴らしい…

Yahooだとどっちもそのままだと出来ないんですよね

ってことでお引っ越し今から記事を移植していこうと思います

 

ではまた!