Shin x blog
Twitterクラッキングによるアカウント乗っ取りを図にした
- 2009-12-18 (金)
今日の15:00頃にtwitter.comがクラッキングされて、全く異なるトップページが表示されていたようです。
私が見た時は単に接続ができない状態だったのですが、DNSを不正に書き換えられてtwitter.comが別サーバに向くようになっていました。
すでに各サイトで技術的な解説はされているので、タイムラインで懸念されているアカウント乗っ取りについて図を書いてみました。
通常時
OAuthを使っていない多くのTwitterクライアントは、Basic認証を使ってアカウントの認証を行っています。つまりTLを取得するなり、postするなり、twitter.comへのリクエスト毎にアカウントIDとパスワードを毎回送信しています。
今回のクラッキング(DNS書き換え)
今回のようにDNSを書き換えられて、twitter.comがクラッカーのサーバを指し示すようになると、当然ながらリクエストがクラッカーのサーバに送信されます。
Twitterクライアントは、それがクラッカーのサーバとは知らないので、せっせとアカウントIDとパスワードを送信してしまいます。
もしクラッカーのサーバに送信されたIDとパスワードを保存する仕組みを持っていたら、がっつり収集されてしまいます。
復旧後
現在は無事に復旧して、twitter.comは本来のサーバを指すようになっています。
しかしクラッカーのサーバには収集したIDとパスワードがたんまりと残っています。もしその気になればIDとパスワードを使ってアカウントを乗っ取るのは造作もないことです。
じゃあ、どうするか?
じゃあ、パスワードを変更すれば良い、というのが一般的なアプローチです。
パスワードさえ変えてしまえば、クラッカーが収集したパスワードではログインできませんので、一件落着です。
しかし、Twitter自体にも問題があって「パスワードを変更するとアカウントがロックされてしまう」というような話があります。
もう2ヶ月も前の話なので、今は大丈夫かもしれません。ただアカウントをロックされる可能性もあるので、パスワード変更も積極的にはおすすめできなかったりします。
ということで何とも動きが取りづらいのが正直なところです。。。アカウントロックの問題が解消されているのであれば、パスワード変更した方が良いのですが。
- コメント (Close): 2
- トラックバック: 3
御座候のTwitter botを作りました
御座候という回転焼き(a.k.a. 「今川焼き」「大判焼き」「二重焼き」「びっくり饅頭」)を知っていますか?
関西ではメジャーな甘味であちこちの駅やショッピングセンターに店舗があります。
あんこがぎっしり詰まっているのですが、それほど甘みが強くないのでペロッといけちゃいます。寒くなってきたので、温かい御座候と渋めのお茶の組み合わせはたまりません。
そんな御座候。毎日でも食べたい勢いなのですが、事務所の近くには店舗が無く、Twitterで想いをつぶやく日々(1, 2)が続いていました。
せめて、写真だけでも!ということで、Twitterでbotを作りました。良かったらフォローして下さい。
フォローしておけば、良い感じの時間に御座候に関する内容をつぶやきます。タイムラインに御座候アイコンが登場すると嬉しくなります:-D
ちょい技術話
GAE+Pythonで作りました。
日本語文字列の扱いでちょっと躓いたりしましたが、やっぱりGAE+Pythonは良いです。あとPHPの良さも再認識したりもします。
今回も色々なサイトのノウハウを拝借したので、ある程度溜まったら自分からもアウトプットします。
というわけで、これからの季節にぴったりな御座候。タイムラインにもどうぞ。
ちなみに私は赤あんが好きです。
- コメント (Close): 0
- トラックバック: 1
関西アンカンファレンスのバナーが出来上がりました
- 2009-12-15 (火)
- event
いよいよ週末開催となる関西アンカンファレンスのバナーが出来上がりました。
関西アンカンファレンスを一緒に運営している @keko さんと@ricochin さんに作って頂きました。ありがとうございます!
図柄は、、、関西の方ならお分かりですね。あえて解説はしないので、分からない方は当日誰かに聞いて下さい:-D
バナーは転載okです。blog等に貼って、関西アンカンファレンスをみんなで盛り上げましょう−!
- コメント (Close): 2
- トラックバック: 0
rootで rm -rf /* したら
身の毛もよだつコマンドですね。
もう5年以上前の話。
お客様の本番サーバでこれをやってしまいました。そのシステムはWeb+DBなシステムでLAPPを1サーバで構成していました。つまりDBもそこに含まれていたわけです。
そもそもやりたかったのは、とあるディレクトリ内のファイルを削除するだけでした。
# rm -rf *
とすれば良かったのですが、なぜか丁寧にやろうというか何というかこう入力した「つもり」だったんですね。
# rm -rf ./*
で、実際に実行されたのが以下。
# rm -rf /*
実行して数秒しても返ってこないので、アレ?と思って、焦って CTRL+C しても後のカーニバル。
そこから先はイマイチ覚えてないけど、[cd /][ls -la /usr]とかしても「No such file or directory」「command not found」やらが出て、とにかく異常事態。
とにかく心配なのはDB。バックアップはあったけど、人が取る運用でかつ定期的にキチンと取れていなかった(この運用設計も大きな問題だけど)。ただ唯一の救いは紙ベースの伝票がある業務だったので、最悪それを全部打ち込めば復旧可能ではありました。
お客様にはとにかくお詫びをして、何千枚の伝票を入力する覚悟を決めて、RAID1の片肺を持ち帰って復旧を試みました。
データ自体は残っているはずなので何とかなるはずとは思いつつ、色々試行錯誤した結果、DBクラスタのあるディレクトリは別パーティションを切っていたので、無事にマウントすることができました!
あとはOSとアプリケーションを再セットアップして、DBクラスタをコピーして何とか事なきを得ました。
あれから root での rm は怖くなっていて、今でも指さし確認をするように一呼吸置いてから実行するようにしています。皆さんも気を付けましょう。
他にやってしまった人達
失敗話は盛り上がります。このエントリを書くきっかけになりました:-D
@cocoitiban: @shin1x1 chmod -R 777 . / やったことあります。スペースのやろうが・・・。
スペースorz
お、何と入力を間違えたのでしょ。試しにlsでやってみると、ぞっとしました。。。
- コメント (Close): 6
- トラックバック: 0
関西アンカンファレンスの申し込みを開始しています
- 2009-12-10 (木)
- event
先日ご案内した関西アンカンファレンスですが、申し込みを開始しています。
■開催概要
・日時:2009/12/19(土) 10:00 – 16:00(開場:09:30)
・場所:大阪医療技術専門学校(第4校舎 5階)
※校舎が複数ありますが、会場は第4校舎になっています。くれぐれもご注意下さい!
・参加費:1,000円(学生は、500円。学生の方は学生証をお持ち下さい。)
・定員:70人
昨日の申し込み開始から多数のお申し込みを頂いており、参加枠があと僅かとなっています。
かなり面白いイベントになりそうなので、「行ってみようかな」という方はお早めにお申し込みを!
- コメント (Close): 0
- トラックバック: 1
同じエントリへのはてブがバラバラに付く
- 2009-12-08 (火)
- PHP
近頃、同じエントリへのはてブが別々のブックマークになっていませんか。
WordPressでこの現象の対応方法を考えました。
utm_sourceというURLパラメータが
いつの頃か、FeedBurnerやTwitterFeedからのリンクに「utm_source=feedburner」といったURLパラメータが付くようになりました。これ自体はGoogle Analytics用なので、特に害は無いのですが、リンク先のblog側からすると1点だけ困ることがあります。
はてブがバラバラに付く
冒頭に触れたように、同じエントリに対するはてブなのにURLパラメータが付くことにより、別のPermlinkとして判定され、別のブックマークになってしまいます。つまり同じエントリへのはてブなのに、はてブ数が合算されません。
例えば以下のリンク先は同じエントリに対するはてブなのですが、FeedBurnerが付けるURLパラメータがあるため、5つに分かれています。
同じエントリなのに別々のブックマークになっています。
小さな事といえば小さな事なのですが、なんだかちょっぴり悲しいですよね。
URLパラメータを取り除く
これはPermlinkに不要なURLパラメータが付いているのが原因なので、それを取り除いてしまおうという話です。
方法は至ってシンプルで、utm_source=がURLパラメータにあれば、mod_rewriteでURLパラメータナシURLにリダイレクトするだけです。
WordPressなら.htaccessに以下の記述を入れるだけです。/blogの箇所は各サイト毎に変更して下さい。また、この例ではPermlinkとして「*.html」という形式を想定しています。他のPermlinkの人は変更して下さい。
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog/ # ↓を追加 RewriteCond %{QUERY_STRING} utm_source= RewriteRule ^(.*\.html)$ /blog/$1? [R,L] # ↑を追加 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] </IfModule>
対処療法
対処療法的ではありますが、この方法を使えば、FeedBurnerからのリンクでもPermlinkを揃えることができ、はてブが分散することもありません。
他のサービスで特殊なURLパラメータが付けられても、記述を追加していけば、URLパラメータを取り除くことができます。
なおFeedBurnerやTwitterFeedを利用している人がそれぞれのサービスで設定変更する方法は、以下のリンクが詳しいです。
- コメント (Close): 0
- トラックバック: 4
冬が来るとPythonを書きたくなる
- 2009-12-06 (日)
- Python
12月に入り、すっかり冬めいて来ました。
寒風吹きすさぶ中、家に帰って入るおこたの温かさ、たまりませんね。
さて、そんな冬がやってくると忘れてはならないのが、Pythonです。
寒くなってくるとなぜかPythonを書きたくなるのは一部では周知の事実ですね。
例えば、私。
2007年
2007年冬、帯にある「Google言語」の文字につられて「みんなのPython」を買いました。正月休みはこれを読んでPythonで遊びました。
2008年
2008年冬、CakePHP漬けだったのになぜかPython関西勉強会で発表する機会があり、Djangoと戯れました。DjangoPHPというナゾのネタをやったのを先週思い出しました。
2009年
そして2009年冬、なぜか突然Python + GAEを始め、勢いでこんなエントリを書いたりしました。
どの年も突然はしかのようにPython書きたい病が発症しています。共通項はどれも冬の到来。これはもう何か因果関係があるように思えてなりません。
ということでPython書きたい病に感染した皆さん、冬期休暇はPython漬けを堪能しましょう。
この病の問題点は正月休みが明けた頃にびっくりするくらい症状が回復してしまうことです。今年は変種となり、早々と回復してしまわないようにと思います。
- コメント (Close): 2
- トラックバック: 1
たまには$を書かない日を -No Dollar Sign Day-
PHPを日々書いている人へ。
たまにはPHPから離れて他の言語でプログラムを書いてみましょうという話です。
Webシステムのプログラムを書く手段としてPHPは実用的なのですが、他にも様々な言語が存在しているのは周知のとおりです。PHPにはPHPの、他の言語には他の言語の良いところ悪いところがあり、それらは普段使っている言語を離れて他の言語を知ることによって、初めて気付かされます。
また他の言語での実装方法を知ることにより、PHPで実装する際に別の角度からプログラムを見ることができ、さらに深い理解を得ることができます。
PHPを極めていくことはとても良いことなのですが、ある程度頭で描いた仕様が実装できるようになったのなら、是非他の言語を触ってみることをおすすめします。
では実際どの言語を触ってみるのが良いかという話になるのですが、普段PHPでWebシステムを開発しているなら、おすすめはPython + Google App Engine(GAE)です。
Python + GAE
Python+GAEがなぜおすすめなのかというと、とにかく環境が整っていることです。
言語は他のLLでもコンパイル言語でも何でも興味がある言語で良いと思うのですが、開発したものを動作、公開する環境として、GAEは本番サーバが無料で提供されていることが大きいです。
またGAEのSDKは本当に良くできています。
開発用サーバが内包されていてすぐに開発を始めることができます。本番サーバにデプロイするのもコマンド一発で勝手にやってくれます。FTPソフトを起ち上げる必要はありません。
そしてWebシステムな便利やライブラリが揃っている、詳細なドキュメントがあるなど至れり尽くせりなわけです。
Pythonはとても学びやすい言語で、言語のリファレンスもPHP同様にWebで公開されています。文法はPHPとは異なるものの、その違いがかえって「異なる言語を学んでいる」気にさせてくれます。$やセミコロン、{}が無いとこんなにもすっきりと書けるのかと感じています。
もちろんRubyでRailsを学ぶもの良いのですが、環境面でGAEほど整ったものが無いので、現時点ではPythonの方が良いのではないでしょうか。(好き好きですけどね:-D)
作るのはWebシステム
これも好みですが、他言語で何かを作るならWebシステムが良いです。
全く違うシステムを作るのも良いですが、あまり知らないシステムだと言語+仕様の両方を学ぶ必要があり、途中で息切れしてしまうかもしれません。Webシステムであればある程度やるべきことは分かっているので、それを他言語でどう実装すれば良いかという点に集中できます。
PHPならこう書くけど、Pythonだとどうすれば良いのかなーという感じです。
あとWebシステムなら作ったものを公開することもできるので、これも1つのモチベーションになりますね。
言語仕様を一から覚えない
新しい言語を学ぶには言語仕様をきちんと理解すべき、というような意見があります。
もちろん言語仕様を学ぶことは大切なことでそれは百も承知なのですが、いきなりそこだけをやっていると大した面白みが見いだせずに息切れしてしまう可能性大です。
なので、まずは作りたいものを決めて、それに必要なところだけをやっていけば良いぐらいの気持ちで良いと思います。
思い出してみて下さい。PHPを覚えだした頃、いきなり言語仕様から学びましたか?
おそらく多くの人はやりたいことがあって、それを実現するために断片的にPHPを勉強していったと思います。よって他言語を覚えるときも同じアプローチでいけば良いのではないでしょうか。
ただ、PHPを覚えだした時と違うのは、プログラムについてある程度の知識がある状態だということです。なので自然と言語仕様にも興味が出て来ます。また、PHPとの比較で新たな発見もあると思います。そういった時はリファレンスや書籍で少しづつ勉強していけば意外にすんなりと学んでいくことができます。
Python + GAEが楽しい!
今週末はPython + GAEでTwitter botを作りました。
Pythonを触るのは初めてでは無いのですが、いつもちょろっと触って忘れるを繰り返していたので、今回は何かしら公開できるものが出来上がるまで続けるつもりです。
PHPだけを学んでいた人でも、ある程度Webシステムが作れるようになっていれば、その経験は他言語を学ぶ際に大きな糧となります。もしPHPをやる前に挑戦して挫折した言語があれば、もう一度その言語をやってみるとびっくりするくらいに理解が進むかもしれません:-D
というわけで、たまには他の言語でプログラムを書いてみましょうという話でした。
Python + GAE 参考リンク
- コメント (Close): 0
- トラックバック: 2
大阪でアンカンファレンスを12月か1月にやります
- 2009-11-27 (金)
- event
最近ちまたで噂のアンカンファレンスを大阪でやります。
アンカンファレンスって何?な方には、先日石川で行われた北陸アンカンファレンスがとても参考になります。
基本スタイルは全くそのまま拝借なので、関連URLを見て頂ければイメージが湧くかと思います。
- 北陸アンカンファレンス2009 (#HokuUn) : ATND
- IT アンカンファレンスをやってみたい! – IT戦記
- 秋元@サイボウズラボ・プログラマー・ブログ : 北陸アンカンファレンス開催報告・振り返り
- 北陸アンカンファレンス2009 発表リスト – T/O
今は「頭ん中」でおなじみの@msngさんと色々と準備を始めているところです。
以下、自分の頭ん中にあるイメージを。
何するの?
一言で言うと「アンカンファレンス形式でIT/Web系の発表をする、聞く」イベントです。
アンカンファレンス形式については冒頭のリンク先がとにかく分かりやすいので、ここでは自分なりの解釈を。
アンカンファレンス形式の一番の利点は何と言ってもこれ。
「その場で自分で発表を決められる」ことです。
初めて行く勉強会で事前に発表枠を申し込むのって物怖じしてしまいますよね。で、行ってみると「あーこの雰囲気なら自分でも発表できたかも」という経験ありませんか。
アンカンファレンスだとその場の雰囲気で自分で発表を決められます。発表時間もいちおう枠(北陸にならって15分枠の予定)はあるけど、分解して5分にしたり、くっつけて30分にしたり何でもありだから、これも自由にできる。テーマもざっくりIT/Web系というゆるい縛りがあるだけなんで、まあ何でもアリ。
あと2会場(トラック)は準備するつもりなので、聞く側は好きなテーマを選択できるし、発表する側も「サーセン、つまんなかったら隣行って下さいね。」と自分の中でプレッシャーを軽減できのも良い。
こんなに発表しやすいイベントは他には無いかも。
セッション内容
もちろん発表する人の自由なんですが、自分ではこんなのも面白いかなと思ってるものを。(普通の発表もokですよ:-D)
発表を練習するセッション
発表自体にフォーカスを当ててとにかく発表の練習をするセッション。
発表途中でもどんどん突っ込みok。「聞き取りにくい」「分かりにくい」「PCばかり見てる」「もっと笑顔で」等々普段の勉強会では気を遣って言って貰えないことを優しく突っ込んで貰って、発表をもっと上手く楽しくできるように練習する。
発表のやり直しもokだし、参加者みんなで順番に前に立って練習もアリ。
発表資料をみんなで作るセッション
当日いきなり「発表したい!」と思った人達が集まって一緒に発表資料を作るセッション。
時間に余裕があれば↑の練習も。
ツール紹介
PCをプロジェクタに繋いで、自分のPCに入っているお気に入りのツール、サイトを紹介していくセッション。
他人が使っているツールって知りたいですよね。変わったツールでなくても定番でも何でもok。人それぞれ微妙に使い方とか違うから見てて面白い。
プログラムや画像作成とかを軽く実演するとかなり楽しそう。誰かvimでやって下さい:-D
ディスカッション(a.k.a. 雑談)
まあなんかテーマ決めてわいわい話す。馬が合う人がいればその後の枠取って二人で発表してみるとか。
とにかく発表!
何となく自分の中にあるテーマがこれ。
もちろん色々な発表が聞けるのがこのイベントの面白いところだけど、きっと発表した方が楽しいと思う。
練習でも未完成ネタでも何でも良いから発表してみましょう。このイベントで発表デビューとかあるとすごく嬉しいです:-D
以前、発表すると良いよ、というエントリを書いたのでご紹介。
なんとなくの概要
会場は、大阪市内の予定です。
日程は、会場次第になるのですが、予定では12 or 1月の土日祝の1日を考えてます。
時間は、ゆったりめで取りたいので、11:00〜17:00くらいですね。
参加申し込みは、事前登録制で何かしら方法を用意します。
参加対象者は、IT/Web系に興味があればどなたでもokです。このエントリでは発表することをpushしてますが、もちろん聞きに来るだけも大歓迎ですよ:-D
あと専用のTwitterアカウントを作りました。@kansaiun です。ハッシュタグも同じく #kansaiun で。
今後イベント詳細をつぶやいていきますので、フォローしてやって下さいm(_ _)m
関西を盛り上げましょ
以前から「狭い関西なんだから色々なコミュニティと一緒に何かできないかなー」と考えていたのですが、その一歩としてとても良いイベントになると思います。とにかくその場で発表枠を取って自由に発表するというのはどんな展開になるか楽しみです:-D
会場、日程、申し込み方法等はこれから決定次第、順次告知していきますので、発表ネタを考えてお待ち下さい!
- コメント (Close): 9
- トラックバック: 3
PostgreSQL Conference 2009 Japanで発表してきました。
JPUG10周年記念イベント「PostgreSQL Conference 2009 Japan」で発表してきました。
コアな内容や大規模向けな内容のセッションが多い中、明らかに場違い感満載な内容だったわけですが、とりあえず無事に発表できてホッとしています。
この場を借りて発表の機会を頂いたPostgreSQL Conference 2009 実行委員会の皆さんにお礼を言いたいと思います。ありがとうございました。
今回は自身では実に反省点の多い発表でして、発表のあとは一人へこんでいたのですが、そんな発表にも関わらず聞いて頂いた皆さんありがとうございました。
冒頭の写真は、発表の後にオレゴン州出身の方から頂いたシールです。ちょうどへこんでいたところだったので、とても勇気づけられました!ありがとうございます:-D
# www.heartinoregon.comのシールのようです。
以下、雑感をつらつらと。
雰囲気
普段参加しているLL系のイベントとは雰囲気が異なり、特に初日のビジネスDayは堅めでしたね。初日は仕事の関係で午後から参加したのですが、セッション中の堅めな雰囲気に翌日の自分の発表が不安になったりしました。
ただこの雰囲気はセッション後の懇親会では一変し、わいわいがやがやと良く知る賑やかな雰囲気となりました。これはかなり安心しました:-D
あと発表者、参加者ともに年齢層はWeb系に比べると若干高めだった気がします。
公式ハッシュタグが用意されていたのですが、発言している人は少なめでしたね。スタッフの方を除くとポツポツという感じで、さらに発言されているのは海外の方の方が多かったように思います。
あと発表のスライドにTwitterのIDを書いている人がすごく少なかったです。これは個人での発表というより組織の代表者として発表している人が多かったのもあるかもしれません。
プレゼン
自分で発表するようになってから、他の人の発表を見ると、内容もさることながら、話し方やテンポ、仕草などを見るのが楽しいです。
今回は特に自分の発表でへこんだ後に聞いたDavid Wheelerさんの発表が素敵すぎました。英語はほとんど分かってないのですが、この発表では(他に比べると)理解することができました。スライド・言葉だけでなく、表情や仕草などで何かが伝わってくるこのプレゼンは良い勉強になりました。
他の方のプレゼンも色々と学ぶところがあり、そういったプレゼン手法を見ているだけでも楽しいイベントでした。
やはり上手い人のプレゼンにはおもてなしの心があるんだなーと感じましたね。
国際的なイベント
2日目のクロージングにてスタッフの方のお話に「国際的なイベント」という言葉がありましたが、まさにそういったイベントになっていたと思います。
海外のイベントには参加したことは無いので、ここまで海外の方の比率が多いイベントに参加したのは初でした。
印象的だったのは、発表の途中で突っ込みが入ったり(しかもその突っ込みにさらっと回答する)、質疑応答が白熱したりする光景でした。こういったものは日本と海外との違いということで語られていたり、動画などで見たりはしていたのですが、直に見るのは初めてだったので新鮮でした:-D
こういったプレゼンは是非自分たちでもやっていみたいです。
そういえば参加したセッションもほとんどが英語のセッションで、海外に行ったらこんな感じかなと想像しながら聞いてました。国内からの参加者でも英語を話す人が多かったです。やっぱり英語勉強したいです。
あと初日の同時通訳もすごかったです。よく国際会議とかで見てるイヤホンで聞いているアレですが、ホントに発表者が話して少しのタイムラグでどんどん訳が聞こえてきます。いやあすごい。
運営について
こういった素晴らしいイベントを運営されたスタッフの皆さんには頭が下がるばかりです。自分もつい先月にCakeMatsuriを運営していただけに、とにかくお疲れ様でしたという気持ちで一杯です。
素晴らしい運営の中で、気になった点を。
思うに発表者へのサポートがもう少しあると良かったように思います。PCとプロジェクタとの接続やピンマイクの使い方・調整など、手すきのスタッフの方が発表前に横についてサポートして上げれば、もっと安心して発表することができたと思います。
海外からの発表者についてはもちろんサポートされている方がおられたのですが、国内からの発表者はわりと放任主義な感じがしました。
自分が運営に関わるイベントでもできているわけではないので、自戒も込めて。
とにかく濃いイベント!
発表内容はどれも濃く興味深い内容が満載でした。特に監視を含めた「見える化」系の話やSE-PostgreSQLの考え方、破損データからレコードを取り出す方法などが面白かったです。
あとライトニングトークがどれも内容がしっかりしていて、5分で聞くにはもったい無い内容ばかりでした:-D
DBのイベントということで色々なバックエンドを持つ人が集まっていたため、色々な話を聞くことができたのが収穫でした。できればもっと色々な人とお話したかったです:-D
最後に、実行委員会の皆さん、参加された皆さん、お疲れ様でした&ありがとうございました!
- コメント (Close): 0
- トラックバック (Close): 0
- 検索
- フィード
- メタ情報