Skip to main content

ログ取得ツール

Category: コンピュータ

SSLと緑色のアドレスバー

スクリーンショット 2016-01-19 21.01.25 私はEV証明書だとChromeのアドレスバーが緑色になると聞いていました。あの誇らしい緑色はEV SSLの証だと。でも実際にEV証明書を調達するにはまず会社か団体の組織を作らないといけない。登記とかして団体の存在を証明できないと取れないのよね。個人ではOVもダメで、DV証明書しか取れません。 DVってのはドメインを持ってれば良くて、これは別に本当のドメインでなくても、単純にホストを1台持ってれば良いのですね。Document Rootに特定の内容のファイルを置くとか、DNSのTXTレコードに特定の内容を書けるとか、admin@のメールアドレスでやりとりできるとか、そういう確認ができれば取れるようになっていて取得のハードルは実際低い。 で、DV証明書ってのは最近妙に安くなってきていて、これが年額1200円とかそのくらい。これは月に1回ペットボトルのジュースを買うよりも安い値段。試しに買ってみるのに充分な安さ。まったく激安なんですね。 で、試しに買って全部httpsにしてみたのはいいんだけど、DV証明書なのにアドレスバーが緑色になるんだけどうちのChrome(Mac)。バグってるのか? このブログとか、外部リソースを読み込んでるページは(このブログをPCから見た場合は右側のWorldCommunityGridのiframeのシールとかgoogle chartのQRコードの画像ね)普通に白くなる。さらに外部リソースを非SSLで読み込むようにしているとバツ印がつく。まあそりゃそうだな。 しかし緑色のアドレスバーをあんまり信用しないほうがいいというのは驚いたな。アドレスバーだと、組織名が出るかどうかで判断すべきだったのか。緑色は全部EV SSLだと思ってた。でもEV SSLでも組織名が出ないとこも多い(?)から、やっぱり判別できないようになっていたんだ。 しかし証券会社のログイン画面も1200円/年のwtnb.mydns.jpもアドレスバーの色合いが同じだなんて。だいたいメガバンクと言われるSMBCやUFJ、みずほのログイン画面は揃ってTLS1.0のSHA-1なので緑色ですらないというね。まあガラケーユーザを捨てられないんだろうけど… (追記) 2016/01/22 どうもやっぱり私が誤解していて、緑色の組織名が出るやつがEV SSL。ただ現状はちょっと問題があって、Chromeの基準が急激に厳しくなったせいで、EV SSLでも組織名の緑色が出なくなっているサイトが多い(OVやDVと区別がつかない!)ということみたい。鍵とhttpsの文字が緑色というのは単に暗号化が割と安全というだけの話でEV SSLであるという意味ではない。 つまり、こんにちのEV SSLは大部分がブラウザで見てDVと区別がつかないという状況らしい。何らかの区別がつくようにしないと、EV SSLが機能できないんでは? という気がする。 教訓としては、長期間使える証明書を買ってしまうと新しいブラウザに対応できなくなる。だから証明書買うなら短期間で期限が切れるやつを安く買うのがいいんだろうな。そして短期間でちょくちょく乗り換えていくのね。 …ずいぶんめんどくせー話なんだな。

sshのroaming

OpenSSHクライアントの脆弱性という話で、sshにこっそりroamingという機能が仕込まれていることを知った。その隠し機能に問題があり、さらにデフォルトで有効になっているという話。うーんこれは変なサーバにつなげなければいいだけの話なのかな。それとももっと深刻か。 このroamingが何の機能かというと、moshのように接続が切れてもセッションを続けて、次に接続した時にそのセッションを使える(切れちゃった後に復活できる)という機能のようだ。ただしOpenSSHの場合はサーバに対応する機能が入っていないという欠陥があって、まあ実際にこの機能がうまく動くケースはほとんどないみたい。そもそもRoamingに対応するサーバってあるんだろうか。有料のオプションだったりするのかな。 しかしまあ、、、割と魅力的な機能のように思う。隠す必要ないだろこれ。サーバの実装ができていないからドキュメント化しなかっただけだろう。 で、この種の機能を試すにはmoshを使ってみるのが一番簡単か、と思った。 moshでMacのクライアントからCentOS7のサーバにつなげることを考えると、

  • Mac: brew install mosh
  • CentOS7: yum install mosh

で、クライアント(Mac)から

  • mosh サーバ名

でCentOS7にログインできる。moshは通信のバックエンドにsshを使ってくれるみたいで、サーバ側で新たにサーバを立てる必要はない。moshのクライアントがssh接続後にmosh-serverを起動して、そのmosh-serverとのお話をする。CentOS7のパッケージにはsystemdの.serviceファイルも含まれていないから、独自のサーバがあるわけではないんだと思います。プロトコル上はUDPのやつがあるみたいですけどね。 使用感はsshとさほど変わりません。最大の特長のRoaming機能を見ていくと、moshで接続したままネットを切る。wifiをオフにするとか、そういう操作。やってみると、コンソールの上部に青色で接続が切れてます的なメッセージが出ます。秒読みがあったりして。そして、つなぎ直すと再び操作できる。 これ短時間なら(?)、sshでもTCPのセッションが切れない内は復活が可能なんですよね。moshを使っても、wifi接続を切ってからCtrl-^+.でmoshの接続を切ってしまうと、サーバ側でmosh-serverのプロセスが残りますがre-attachする操作が実装されていないため、screenのようにre-attachできると期待していると痛い目にあうことになる。 このre-attachがないというのも嫌な感じの状態になっていて、detach状態のサーバがあってPIDがいくつ、みたいな表示が出るんですよ。でもそこにattachできないから、表示されているPIDのmosh-serverを自分でkillして回らないとゴミプロセスが残った状態になってしまうという… まあこれならscreen使ったほうが便利ですね。re-attachがあればsshを捨ててmoshに移行すべきと主張するところでしたが…このへんがmoshが話題に上がってもいまいち普及していく印象を残せていない原因なのかもしれません。

3Dプリンタの世界

最近は暇さえあればずっと3Dプリンタで遊んでいて、Webサイトの訪問頻度もthingiverseが上位に来ています。 3Dプリンタで遊ぶ場合に必要な知識を少し書いておこうと思います。参考にする人いるのかな?? まず、3Dプリンタにはいろいろな手法があるそうですが、現在出回っている廉価なものはRepRap系のプリンタで、積層型(?)と呼ばれるタイプのものです。プラッチックのフィラメント、ABSとPLAの2種類がありますが、これらを熱で溶かして前後左右上下に動くヘッドから出してくっつけていくタイプのものです。上下に動くと言っても、プリント中は下に動かすことはなくて、下から順番に積み上げていく。基本的には1色しか使えない。複数の色を使えるものもあるそうですが…。機種としてはReplicatorとかda VinciとかM3Dとかがあります。積層型が廉価なのは特許が切れたからというのもあるらしい。 特許は切れるから価値があるんだろうね。 素材のABSとPLAではそれぞれ特長がありますが、PLAのほうが素直に作れるという話なので私はPLAのフィラメントしか持ってません。ブツができる板のことをベッドと呼ぶらしいですが、このベッドに3Mのマスキングテープを貼って、その上にプリントしていく。このマスキングテープがなかなか秀逸で、100円ショップのマスキングテープやもともとの台に直接とか試しましたがやはり前評判通りの3Mのやつが最強だった。ちゃんとプリント側も台側もくっつくし、なおかつはがしやすいし、何度でも使える。 ABSはベッドを温めていないと反ってしまうという話ですが、まあPLAでも反りますよ。これでもマシなのかな。私は温めていませんし。interlockのパズルを出した時は、無理やりくっつけたら反っているために2度と離せなくなってしまいました。まさにinterlock。 モデリングには123D DesignかOpenSCADを使う。GUIで作っていくのが123D Designで、コードで書いていくのがOpenSCAD。だいたいパラメータがあってシンプルな道具はOpenSCADで書くのがいいと思う。あなたがプログラマであるならなおさら。OpenSCADは使いやすいですよ。言語はちょっとクセがあるけど、外側をつなげて作ってから削っていけば割と思い通りに形を作れる。いっぽうで123D Designはスケッチで平面に書いてExtrudeで3Dにして移動して回してくっつけて引いてfilletで丸めて…という感じにスムーズに作業できるのがいい。 OpenSCADは以前はモデルの図形に使う文字に日本語のフォントを使えなかったらしいけど、私が使い始めたときには普通に使える状態だった。123D Designは日本語フォントで文字を描くことはできない。他のソフトで.svgかなんかに書きだしておいて、.svgを123D Designでスケッチとして取り込めばいいんだけど、かなり面倒な作業になる。 これらのモデリングソフトを作って.stlファイルというのを作る。.stlファイルは色のない3Dの図形を記述できる言語。ポリゴンになってるのかな。よく分からないけど、この.stlファイルまでは配布できる形式。thingiverseでも配布形式はたいてい.scad(OpenSCADのファイル)か.stlだ。parametricと書いてあると.scadで配布してるなというのが分かる。中身を見ると前半にパラメータが変数に入っていて、これを自分用に書き換えることができるのね。 私はしばらくはドアとかフスマの枠につける部屋干し用のハンガー掛けのモデルをせっせと作っていろんな場所につけていったんですが、家族はあんまり使ってくれませんでした。自分がハンガーをひっかけるときはよく使ってますけどね。落ちにくくなって便利なんだけどな。うちの枠は7mmとか9mmしか奥行きがないから、うまく引っかからないんだよね。それが長年の悩みだったんで、3Dプリンタがそれを解消してくれたんだよ。あとは定番のスマートフォンスタンドとかを何種類かやったなぁ。いい練習になりました。 この種の実在のものと合わせる場合はノギスで測定しておくと良いです。私も安いノギスを買いました。これが便利。ノギスは定規やメジャーじゃ測定できないところの測定ができるからね。精度も高いし。 で、.stlができたら、次はスライサと呼ばれる種類のソフトが出てくる。スライサは私はSlic3rを使うことが多い。Slic3rはたまにサポート材がうまく入らないことがあって、その場合はCuraを使う。これらのスライサで.stlから.gcodeというファイルを作る。.gcodeはヘッドの移動や溶かしたフィラメントの吐き出しとかを記述しているコマンド。 Slic3rが出す.gcodeは速い。まあパラメータの調節がうまくいってるだけなのかもしれないけど。Curaが出す.gcodeは遅いし、最初の予定時間はかなり遅い方に常に外れるのがムカつく。しかもちょっと無謀に思える軌道を描くことがある。それでもなぜかできちゃうんだけどね。 この.gcodeができたらあとはドライバ的なソフトに食わせればいい。私が持っている3Dプリンタは3Dプリンタの中では非常に安い部類のThe Micro 3D(M3D)というもの。これをMacで使えるMicroPrintというOSSがgithubにあって、MicroPrintに.gcodeファイルを食わせればあとは待つだけだ。Slic3rが吐く.gcodeをMicroPrintに食わせると進捗がうまく表示されないので、コメントを追加する自作のスクリプトを使う。スクリプトはこちらに→ gist プリントの操作はこんな感じ↓ まずMicroPrintのToolでExtrudeを選んで、フィラメントをノズルに食わせる。このフェーズで数分かかるかな。M3Dには内部ポートと言ってベッドの下に純正フィラメントを格納することもできるが、なかなかフィラメントの入れ替えがうまく動かず(待つ必要があることや自動で吸い込まれたり吐き出されることを知らなかったため)乱暴に扱って数回で壊れてしまった。その数回も、詰まりとか引っかかりのためにほとんど失敗した。そのため現在は外部ポートしか使っていない。Extrudeが完了したかどうかは目で見て判断する。ノズルから出てくるものが入れたフィラメントと同じ色になったら止める。勝手に吸い込まれるので、なんとなく触っていると入っていくのが分かる。排出も勝手に吐き出されるので、軽く引っ張って取り出せるところまで放っておくほうが良い。 外部ポートを使う場合には補助的にこれに近い形のモノを(これも3Dプリンタで出せる)作って、フィラメントを置いている。この状態にするまではいろいろ試行錯誤して、そのため失敗も多かった。現状になってからは失敗プリントは割と減った。ただ大きめのモノはプリンタの性能のためか、かなりの確率で失敗する。まあ子供が机から落としたりしたからね…Calibrationしてなんとかなった。 フィラメントは純正のものをいくつか買ったけど、今は別で買った、暗いところで光るやつを使うことが多い。昼間は白くて、暗くすると蛍光グリーンで発光する。これは子供にも好評で、よく布団の中に持って行って光らせて遊んでいる。自分でもこのフィラメントで作った「r型ペントミノ」をキーホルダーにしている。オジサン世代には見れば意味が分かる、特徴的な形。 そしてMicroPrintか。こいつに.gcodeファイルを読み込ませて、Printボタンを押す。だいたい温度はデフォルトの215℃よりも少し高めにして235℃にすることが多い。経験則。 失敗プリントはいくつかパターンがあって、こんな感じ↓

Marshmallow…最高だった

Android 6が降ってきたのでMarshmallowにしてみた。マーシュマロウ…普通にマシュマロですが、マーシュマロウと読んでしまいますね。マーシュ・マーロウなんて、ハードボイルド探偵の名前っぽいですね。 誰か「あんたがマーシュ・マーロウか?」 おれ「マーロウなら?」 割とレスポンス感が向上してキビキビ感が増した気もする。まあこのへんは性能向上というよりはエフェクトのパラメータだけかもね。ロック画面の時計のフォントの印象はかなり変わった。 Mathdoku+のクリア画面が出なくなった。これは痛い。ゲーム自体はできるが、クリアしても何も出ないのね。もう2年くらいアップデートされてないアプリだから、対応してくれるってこともないんじゃないかなという気がする。悲しいものだ。このままサヨナラ可能性が…さて通勤時間どうやって過ごそうか。 あと証券会社のアプリが動かなくなって、昼休み中に株取引ができなくなった。これも割と痛いね。→いつの間にか動くようになってた いまんとこ、このくらいかな。すんなりアップグレードできたほうだろうけど。

Androidのホーム画面の2種類のリンク

ホーム画面にブックマークを張っておくと、ホーム画面からすぐによく見るWebサイトにアクセスすることができる。例えばYahoo!のJリーグの速報なんかはサポーターの多くがホーム画面に置いていると思います。 最近、Chrome以外のブラウザも試しに入れてみて、ホーム画面のリンクでブラウザの選択が出るアイコンと出ないアイコンがあることに気づきましてね。同じように見えるのに挙動が違うのはなんでだろう、ということをちょっと見てみたんですよ。 そんで。 このリンクというかブックマーク、実は2種類のやり方があり、それぞれで挙動が違うということが分かった。 一つはChromeのメニューから「ホーム画面に追加」で作る方法。これが最もオーソドックスなやり方だと思いますが、このやり方で作ったリンクをタップすると他のブラウザがインストールされていても必ずChromeが開きます。 もう一つはウィジェットの追加で1x1のブックマークを選択し、ブックマークのリストの中からサイトを選んで置く方法。これはブックマークに登録していなければ登録できず、あまり使われていないと思います。ただこちらの方法だとブラウザ選択が入って、Chromeでないブラウザを選択することもできます。デフォルトアプリの設定が効くので、必ず他のブラウザが開くようにもできますし、アプリの設定でデフォルト設定を解除したりすることも簡単です。 この2つの方法で作ったリンク、それぞれアイコンの色が微妙に違う感じでできるみたいです。faviconがあるとまた違うのかな? なんだかよく分かりませんが。しかしこれ、.weblocみたいなファイルで表現していると思っていたんだけど、違うんだろうな。

やっぱAmazon Glacierはクソだったな!

写真のバックアップにGlacierを使っていたが、使ってみてしみじみ思うのは、使いにくい! ということ。普通にS3に置けばいいじゃんか。 Glacierは出た当初はS3よりも一桁安かったが、価格改定でS3の値段が下がり、今ではこんなもんだ。(2015-04、ap-northeast-1(tokyo)価格)

Storage$/GB
Glacier$0.0114
S3$0.0330
S3-RRS$0.0264

つまり1/3にしかならない。RRS(Reduced Redundancy Storage)という信頼性を低めたやつであれば1/2にすぎない。それで使用感があそこまで悪ければ、使いたくなくなるというもの。使いはじめてからユーザとのインタフェースにS3を使い、勝手にGlacierに送ってくれる機能が入ったが、私にとっては後の祭りだった。 こんなんS3使うでしょ。値段が気になったところで階層化の設定を入れればいい。 とりあえずs3cmdが使いにくいので、golangでs3cmd相当の機能を書いた。自分としては、けっこう快適に使えている。→go-s3cmd 実際のところはs3fsやs3fuseがあまり良くできていなくて、マウントしてファイルにアクセスすることはできないという状況ではあるがまあ、それはおいおい考えていこう。 というわけで、ここ数年の写真は全部S3に入れてます。問題はGlacierにしか置いていない、昔の写真。これも同じようにS3に復元しとかないと気がすまない。特に私はGlacierに入れるときに適当にファイルやディレクトリを選んでtarで固めるということをしてしまっていて、どのアーカイブが古い写真なのか判別できなかったりする(!)。だいたいバックアップ取るときは障害時の全復元しか考えてなかったからな… で、今はGlacierに奪われていたデータをのんびり取り戻している。あの価格設定もヤバい。一ヶ月に無料で復元できるデータ量が全体の5%までとか。バックアップなんて何世代も取ってるわけないし、んなもん5%で足りるわけないだろー。全部取り出すのに20ヶ月かかるじゃん! そしてピーク転送レートがどうのとか、トラップのニオイしかしないよ。まあ最後だからあまり気にせず払うけども。そしてこの面倒臭さはどう表現したらいいのか… というわけで今回の教訓は、バックアップ取るときは部分的な復元も考慮に入れておこう、でした。

Aterm WG1200HP

NECの無線LANルータ。買ってみた。 いや、今までも無線でやってましたよ。でも、自宅の回線の設定が変わったら無線でつながらなくなった。いやつながるんだけど、外に行けるのがUDPだけになってしまった。名前解決やHTTP/2のサイトにはつながるんだけど、普通のWebにつながらない。まあ安物のルータだったからな。無線LANは規格も新しくなってるし、ちょうど買い替えどきだと思ったこともあって、あっさり新しいものにすることにした。クライアント側(MBPとNexus5)だけ新しくなってもしょうがなかったし。有線もいまどきGbEじゃなきゃおかしいと思った。 今は802.11acってのが出てるんですね。gも出てたのか。だいぶ時代に取り残されてました。 この製品にはNFCタグとQRコードが印刷された紙がついてきてて、Nexus5はタグに近づけるだけで設定が入り、即効でつながった。coolだ。ただQRコードは細かすぎてなかなか読めないし、読めたところでNECのサイトのURLが入っているだけだった。そのURLの先で設定項目が投入される何かが動くのかもしれないが、そういうのは嫌だよね。自宅の無線LANにつなぐだけのために外に出たくないじゃん。 このNFCタグは変更できるんだろうか。変更できればパスワードやSSIDの変更もはかどるね。本体への刻印はどうしようもないかも。まあSSID等はランダム値だから破られにくいだろう、というのはあるので変えてない。 地味にいいのが、まあ今までがおかしかったんだけど、会社にVPNで繋がるようになった。今までなぜかつながらなくて、まあいいかって感じで過ごしていた。いざとなればAndroidマシンからLTE経由でテザリングして、そこの回線からならつながったから。まあ滅多に繋ぎたくなることもなく。 あと、接続までの時間も速くなったし、性能も良好。満足度は高い。やっぱブランド物はちゃんと作ってあるわ〜

2014年で最も恥ずかしかったこと

WordPressにはエントリごとのパスワード保護の機能があるんですね。試してみます。 2014年、いろいろありましたが、最も恥ずべきことはこのサーバがクラックされたことですかね。 それもsshdのブルートフォースで突破されて何かに悪用されたみたい。外向きのトラフィックが異常に出ていたので、それを検出したサービス側がこのサーバを落としてくれた。 まあ最悪ですね。スキャンをたくさん受けていた時代があったので、ポートは変えていたんですけども。ポート変えてからしばらく来なくなったので放っておいたのかな? ひと通り対策したと勝手に思っていたけど、PermitRootLoginを有効にしたままだった。そんなつもりなかったんだけどね。ありえんでしょ。確かに最近またスキャンがポロポロ来てたなぁと(以前ほどではないが)。rootのパスワードなんて使わないので自分でも忘れてましたが、パスワードマネージャに登録がないので単純なパスワードだったんでしょう、たぶん。 sshに関しては、パスワード認証を有効にしたままというのも問題が大きい。ただこれは言い訳させてもらうと、システム側で公開鍵をアップロードする手段が用意されていないので、手元のPCに置いてある秘密鍵を紛失した(手元PCの故障やら乗り換えなんてよくあることでしょ?)ときのことを考えるとパスワード認証を切ることができなかったんです。 結局VPSなのでまっさらな状態にしてもらってからインストールし直しました。ついでに以前からやろうと思っていたCentOS7系にOSを変更。systemdが気持ち悪い。chefによる自動デプロイの整備までは時間がなかった。まだ完全ではない状態だけど、以前よりはマシかな。 PermitRootLoginは当然切るとして、↑↑の理由でパスワード認証はまだ切れないと思うし、私の場合普通のユーザ名もそんなに珍しいものじゃないんで、弱い部分は残ったまま。どうするのがいいんでしょうね。電話からログインすることもあるのでIPアドレスの制限はかけられないし。 とりあえずポートをさらに変更した上で、DenyHostsというのを入れました。/var/log/secureを定期的にチェックして、スキャンしてきたホストを/etc/hosts.denyに書いていくというデーモンです。まあ、ないよりは良かろう。 あとは監視ですよね。落とされてからしばらく自分でも気付かなかったので。 しかしこれは本当に恥ずかしいエントリですね。