Skip to main content

ログ取得ツール

nginx + WordPressのBrute Force Login対策

このサーバをnginxに移行するまでは、WordPressでBrute Force Login Protection(BFLP)というプラグインを使っていた。これはログイン失敗の履歴を取っていって、一定以上に達すると.htaccessにdenyと書いてくれるというすぐれもの。WordPressは攻撃の標的になりやすい運命を持っているため、こういうプラグインは割と便利に使える。PHPに入る前にApacheの設定で切ってしまうというのも良い。で、実害があるとも思わなかったため、nginxに移行したあともこのプラグインをアンインストールしなかったのです。

「実害」か…実はこれ問題があった。

nginxは.htaccessを見たりはしない。だからBFLPが検出して管理者にメールを送り、.htaccessにdeny行を追加したあとも攻撃者はひたすらログイン試行を続けることができる。このような状況で何が起こるのかというと、私のメールスプールがすごいことになるというわけだ。まじですか。

JavaのDIを愛するような奴はうんこうんこうんこ…

そんな奴にうちの大事な娘をやるわけにはいかん!! ← お茶パシャ〜

JavaのDIを愛する奴にロクな奴はいないの続き。この↓問題ね。

package org.abc.def;
@Component
public class Xyz extends BaseX {

package org.abc.efg;
@Component
public class Xyz extends BaseX {

別パッケージに同一名のクラスを作りたい場合の対応方法。

確かに@Componentに引数をつけて@Component(“blablabla”)とすれば、起動時のエラーはなくなる。ただし、Context.getBean(org.abc.def.Xyz.class)するときにエラーになる。例外の名前は忘れたけど…クソが。

ではどうするか。

正解は、クラスを与えて"blablabla"部分を求めるメソッドがあるから、そちらを呼んで"blablabla"側の文字列を使ってインスタンスを作る、でした。なんて便利なんだろう? 革命的な便利さだよ?

…これをアホと言う以外の評し方をするのが難しいよ。単にnewでいいじゃんか。書くことが増えてハマりやすく、不便になって、その挙句に遅いときた。いちいちログ出し過ぎなんだよ。クソが。

川崎2-2清水 (最近勝ってないよね…)

当然の権利を行使して会社を早退し、等々力へ。明るいうちに飲み干すビールがうまい。幸せなひととき。そして試合は始まり、そして終わったのだが…この試合の評価は難しい。パスは回せていたし、技術の差は歴然としていたと思う。しかし先制されて逆転して…そしてラストプレーで追いつかれて終了。アバンテ中は得点も失点も許可されていないはずなんだが?

前半はネットが最終ラインの位置まで降りてボールを配給し、パスがスパスパ回っていく。しかしネットがあの位置にいるのはちょっと不安があるんだよね。守備があんまり上手くないので、確実にファウルになるようなアタックになるんだよね彼は。今日もそれでカードもらったり危ない位置でFKを与えていた。清水に訪れた最初のチャンス、カウンターの対応にしくじってファーサイドに流れたボールを冷静にゴールに送り込まれて失点。これがJリーグ20000ゴール目となる記念すべき以下省略。主審はこの記念ボールを保管に回していた。さすが西村主審、そういうところはしっかりしています。

気づけば僕の手元のVMはdocker-machineだけになっていた…

会社の手元マシンにも自宅の手元マシンにもVirtualBoxを入れているんですが、気づけばVirtualBoxの中にいるVMはいずれも一つだけになっていた。

その正体はdocker-machineのboot2docker。結局dockerだけで済むから他にVMなんて作る必要はなかったんだ。

確かに、時にはdockerではどうにもならないこともあって、vagrant使うこともあるんだけどね。でも大抵はdockerでどうにかなる範囲なんだわ。boot2dockerは割と良くできていると思う。他にもRancherOSとかその他いろいろと競合はあると思いますが、まあ簡単だし、そこはあんまり重要じゃないところ。VirtualBoxである必然性もなくなっている。

dockerイメージはalpine無双の時代が長かったですが、そろそろ過ぎつつあるのかな。自分は今でもdebian:jessieとかubuntuとかcentos:centos7とかopensuseとか使うことが多いですけど、今のメインストリームは、成果物のバイナリのみを/に置いてentrypointにする、というもの。あと必要であればroot CAの証明書も配置する。busyboxもshもない。scratchからCOPYで置く。確かにそれが最強だよな…

androidのアプリ履歴

一括削除がないので消すのが大変だったが、暇な時間でひたすら消して消して消しまくり、、、 ついにきれいになりました! 達成感!! 今季最悪のUI大賞はこれで決まりかな… いやまだ上がいるという確信が…

多摩川の土手の改善

多摩川土手の川崎側の進化が止まらない。とりあえず二子のあたりと、等々力のファミマのあたりでの改善がスゴい。何より道が広いし、舗装もしっかりしている。いずれは全体的にああした仕様になるのだろう。待ち遠しいぜ。

二子〜丸子橋の東京側、丸子橋〜ガス橋の川崎側がひどいので、あのへんを最優先かな。東京側はかなりの大工事になるかも。あと多摩川大橋(国道1号)の上流川崎側はすごい改善したよね。立派な休憩所まである。

丸子橋から下流は東京側の方がだいぶ良いんだよな。丸子橋の近くの東京側は工事をしていたけど、もう終わっているのかも。今度見に行ってみようと思った。

giteaがLFSに対応してた

乗り換えるか否か…

giteaのlfs対応を見てみた。まあ、ひととおりのところは使えるみたい。droneから見るときはgogsと同じだと思えばいいのかな?

とりあえず、lfsを使うケースとしては、リポジトリサーバとしてバイナリをそのまま放り込んでraw urlでアクセスさせるとか、そういう使い方が考えられる。

raw url対応はどうか。

  • サイズ0のファイル(非LFS)が1024バイト読める
    • なぜ?
    • gogsもそれは同じだった
      • 簡単なバグで原因は分かった気がする。gogsのほうにissueを書いてあげたけど、直すかなあの人…
    • それ以外のサイズにするとちゃんとしたデータが読める
  • LFSのraw urlは普通のやつとは別形式
    • メタデータっぽいものが読める

というわけで、あんまりraw urlは信用できないっぽい。まー、しばらくはgogsかな。gogsはraspi向けビルドも分かりやすい置き方だから助かる。むかしgogsでarm用のをraspiで使おうとしたらNGだったことがあるんだよね。それでraspi向けビルドを使うようにしている。

droneの遊び方

先日こういう話があったばかりだが、、、

CIツールのdroneは仕事でよく使っている。非常に便利なものであって、広まって欲しいなと思っているんです。

そこで、自分でローカルで遊ぶのはどうやるんだろう、と思った。昔はdroneにCLIがついていて、MacでそのCLIをコンパイルしておいて、docker-machineで立てたdockerを相手にローカルディレクトリの.drone.ymlを実行するみたいなことができたんだけど、今はもうできなくなっているようだ。

そこで、docker-composeでコンテナを立てることを考える。drone自身はアカウントを持たないので、ログインするアカウントとして連携できるリポジトリサーバが必要。リポジトリサーバは色々対応しているが、こちらもローカルで立てるんなら、gogsが最も手軽だろう。

そこで、適当にディレクトリを掘って、こういうdocker-compose.ymlを作る

https://gist.github.com/wtnb75/a273b8c03131fe8a7b561a2177a11406

そして、実行する。

# DRONE_SECRET=$(uuidgen) docker-compose up -d
Creating network "drone_default" with the default driver
Creating gogs
Creating drone
Creating agent
# open http://$(docker-machine ip):3000
# open http://$(docker-machine ip):8000

3000の方がgogsで、8000の方がdrone。gogsはsqliteでセットアップする。他のDBMSにしたい時は適宜docker-compose.ymlをいじってDBのコンテナを立てればいいと思います。URLやドメイン名はdocker-machine ipのIPアドレスを使うといいだろう。リポジトリを作ってpushしてみよう。

川崎0-0広州恒大 (悪条件)

明るいうちはかなり穏やかだったんですけどね。会社を強引に抜け出して向かってみると雨がぱらつき、何か嫌な予感が…そして雨や風はぐんぐん強まっていく。アジア最強の呼び声高い広州をホーム等々力に迎えたACLグループリーグ。川崎はここまで3引き分けと勝ちがない中にも、相手に勝ち点3を与えずにローポイントグループを作り出すことに成功してきた。3試合終わって3ポイントの3位、1位と2位は1勝2分で5ポイントだから、残り3試合もあるし、逆転の可能性は十分すぎるほど残っている。

この気候条件にいつもと違うボール。こりゃ技術の差が出やすい条件だなぁと。川崎は憲剛を後半に温存する作戦。時間限定なら後半の方が効くだろうな、というのは全くその通り。

広州は風向きを見たためか、コイントスでサイドを変更。やってきますね。

試合が始まってみると気候条件をモロに受けて川崎はいつものようなパス回しはできない。浮き球を多用するも、なかなかつながらない。広州の選手のポジションも良くて、川崎のパスやドリブルを要所でザクザクカットしていく。ただ川崎も最後のラインは割らせない。ロースコアゲームの予感を漂わせて前半は終了した。基本、雨風が強くて、雨が弱まると代わりに桜が舞う。とにかく何かしら舞う感じでね。中国から来た人もこんな天候で、災難でしたね。先週だったら暖かかったのに。

川崎1-1甲府 (川崎72-63三遠)

桜がちょうど満開となったこの日。天気は悪くて花見日和とは言い難かったが、陸前高田ランドもあって誰もがご機嫌なこの日。ホームに甲府を迎えて久々のリーグ戦。怪我人が多いのは誰しも気になるが、とにかく期待は高まって試合はキックオフした。ドローンが飛んでましたね。

ゴール裏にいたので試合はあんまりよく見えなかったけど、そんなにうまく回ってる感じはしなかったなぁ。大島不在の影響かな。ネットと憲剛、森谷…まずまず行けそうなメンツではあったが。前線は森本を使った方が小林悠がやりやすいんではないかと思った。それでも相手GKが活躍するくらいのところまでは攻めることができていた。ハイネルも噛み合ってきている。ロスタイムの打ち合いはお互いの甘さが出たかな。まあすぐにACLの広州戦があるから、しっかりアジャストしてもらいたいところ。私はというと…ACLのチケット買い忘れた…アジャストできてないじゃん。ACLは席割りが変わるとかいう話。これは異常だったACLの席割りが普通になるってことと理解しているが、どうなるだろうか?