その設定は何のため?

 
 昨日,なかなか刺激的でためになる話ができたのでログっておく。
 
 切っ掛けは俺の大雑把な Tweet からなんだけど伏線がある。
 まずはその伏線。
 ちとログ追うのが大変だったので概要だけ。朝のうちに俺が FTP に対して
 http://twitter.com/Vipper_The_NEET/status/22482957738


それが根本的にまずいんですよねー。プロバイダ等がまだ FTP 使ってる。先月号ハッカージャパンの連載で書いたように,FTPなんて初歩の知識で盗聴してアカウント抜けるのにね。 RT: @asakawaya: 同意なんですが、パンピーが使う「ほーむぺーじ作成ツール」が対応してないので
10:05 AM Aug 30th Echofonから
 てな感じの話をしていた。
 
 http://twitter.com/Vipper_The_NEET/status/22483598490

確かにsftpだとアクセスできる範囲がshellログインしたときと同じになるので上位ディレクトリ構造がフンダララとかややこしいことになるのはなる。
2010年8月30日 10:14:49 Echofonから
 てな話に
 
 http://twitter.com/asakawaya/status/22483857037

FTPSが普及する事を切に希望 RT @Vipper_The_NEET 確かにsftpだとアクセスできる範囲がshellログインしたときと同じになるので上位ディレクトリ構造がフンダララとかややこしいことになるのはなる。
10:18 AM Aug 30th webから
 
 http://twitter.com/d6rkaiz/status/22484921404

@Vipper_The_NEET 最近のsshdchroot装備してますよ? それだとダメですか?
2010年8月30日 10:33:34 Echofonから Vipper_The_NEET
 
 http://twitter.com/asakawaya/status/22489313736

sshdchrootに対するFTPSの利点はftpdの設定だけで、ディレクトリの許可設定できることです。最近のはコマンド実行禁止なのでUL/DLしかできない。 RT @d6rkaiz: @Vipper_The_NEET 最近のsshdchroot装備してますよ?
  11:36 AM Aug 30th webから
 
 なんてことを教えてもらったり。FTPS はつみみでした('A`)
 いろいろ便利になってるんだねー,といった風味。あとはセキュリティ監査のときに管理画面にタグ通るとアウトにするくせに FTP には何もいわないとか,ウチは逆にコントロールされてたらタグセーフで FTP は減点しますねえ。推奨されないとか言います,みたいな話をしてた。
 
 それを踏まえて。
 
 切っ掛けになったのは俺のこの大雑把な発言。
 http://twitter.com/Vipper_The_NEET/status/22482175354

TelnetSSHに置き換わったように,FTPもsftpとかSCPとかに置き換わるべき
9:54 AM Aug 30th Echofonから
 
 これに対してツッコミがもらえた。
 http://twitter.com/okada_k/status/22488311277

@Vipper_The_NEET そう言うべき論は良く無いね。何が良くて何が悪いのか、理屈をちゃんと必ず省略せずに説明しなければ駄目だ。僕は今でもtelnetを使うしftpも使う。
2010年8月30日 11:22:13 Echofonから Vipper_The_NEET
 
 これ超大事なこと。セキュリティ屋としてやってしまいがちなのは「とりあえずこういう設定してね」な指導。何故そうなるのかまで説明するのって少なくない?
 理屈をちゃんと省略せずに説明しなければ駄目だ。これはとても大切な指摘になった。ありがとう。
 
 俺らみたいのがセキュリティな文章を書くとき,利用者に向けてしっかり説明しているかというと,ちと怪しい。振り返ってみれば確かに端折る事が多い。限られた誌面に詰め込むとどうしてもそうなるという部分もあるけど,可能な限り説明して納得してもらった上で話を続けていくべきだ。
 
 で,俺はとりあえず簡単にパっと見で解ってもらおうと思っていたのでこんな風にレス。
 http://twitter.com/Vipper_The_NEET/status/22488607128

@okada_k そのネタにキモーイガールズが使えるかなーとか思ったんだよね。「エー いまどきパスワード平文で流してるのー キモーイ 平文はLAN内限定よねー キャハハハ」みたいな。これもいまいちだけど。
11:26 AM Aug 30th Echofonから okada_k宛
 
 これも説明を圧縮する考え方。なので,ちゃんと説明してることにはならない。
 だからこんなレスをもらう。強調は俺。
 http://twitter.com/okada_k/status/22488738480

@Vipper_The_NEET キモーイガールズみたいな安易なのは絶対駄目だ。telnetの何が駄目でsshの何が良いのか。そして、sshの設定の要件までちゃんと説明するべき。これは絶対だ。
2010年8月30日 11:28:18 Echofonから Vipper_The_NEET
 
 http://twitter.com/okada_k/status/22488919305
@Vipper_The_NEET 僕は、そう言うtelnetは駄目、ftpは駄目って言う風潮だけから、超適当なsshの設定になってるサーバを何台も見て来てる。
2010年8月30日 11:30:51 Echofonから Vipper_The_NEET
 
 http://twitter.com/okada_k/status/22488972429

@Vipper_The_NEET sshパスフレーズがかかっていない鍵を社内で共用とか、そう言うのもある。で、scpだけ許可なのかと思ったらshellアクセスも可能だったとか。sshを使ったらそれだけで安心みたいな印象を与える記事は全て糞だ。
2010年8月30日 11:31:36 Echofonから
 
 http://twitter.com/okada_k/status/22489080039

@Vipper_The_NEET あとは、sshだから、接続元を制限しない的運用の方が、接続元が制限されたtelnetが空いているいるよりもずっと危険な筈なのに、これを言っても誰も理解してくれない。それもこれもお前らのようなエセセキュリティ記者の記事の所為だ!><
2010年8月30日 11:33:10 Echofonから Vipper_The_NEET
 
 これはガツンとくるね。実際のところそこまで説明してこなかったから。最初の導入時の設定までで終りになっちゃうことがとても多い。ポリシーに合わせてアクセスコントロールするところまではなかなか踏み込めなかった。
 
 http://twitter.com/okada_k/status/22489143357

@Vipper_The_NEET まあ、最後のは冗談としても、ちゃんと原理、原則を示してあげなければ、今の若い奴らは「sshにしとけば安心」で終わってしまう。それでは何にもならない。
2010年8月30日 11:34:01 Echofonから Vipper_The_NEET
 
 現場の叫び。これは俺らみたいなコンサルまでなかなか上がってこないので非常にためになる指摘。こういうの直にもらえるからすごいね。
 
 俺のレス
 http://twitter.com/Vipper_The_NEET/status/22489182107

うわあ('A`) そういう設定がされるのかあ RT: @okada_k: @Vipper_The_NEET sshパスフレーズがかかっていない鍵を社内で共用とか、そう言うのもある。で、scpだけ許可なのかと思ったらshellアクセスも可能だったとか。sshを使ったらそれだけで
2010年8月30日 11:34:35 Echofonから
 
 http://twitter.com/Vipper_The_NEET/status/22489209690

@okada_k このあたりはもっとしっかり伝える必要があるな。注意して書くようにしよう。
2010年8月30日 11:34:59 Echofonから okada_k宛
 
 ぶっちゃけそこまで細かく書いたことないと思う。今後の改善点。
 でもって
 http://twitter.com/okada_k/status/22489414652

@Vipper_The_NEET うむ。よろしく頼む。とにかく、telnetが空いてるだけでセキュリティ的に駄目なんて言う教科書的な監査では、何も解決しない。
2010年8月30日 11:37:55 Echofonから Vipper_The_NEET
 
 よろしく頼まれたのでがんばる。
 
 で参考になりそうなこと。ssh って一言で言ってもいろんなことができる。つまり高機能ってことで。しかもデフォルトでいろんな機能がオンになってるし,弱い暗号を使えるようになっていたりもする。なので,しっかり設定して使わなければいけない。その高機能さを理解せずに使うくらいなら,もっと単純なものを単純な設定で起動してアクセスコントロールしたほうがマシ,という視点。
 http://twitter.com/okada_k/status/22489800779

sshはとても高機能なので設定によっては非常に危険な物だ。sshであっても、接続元を制限しながら使うべきだし、設定には細心の注意を払うべき。telnetftpの方が単機能な分、バカでもそれなりに設定できる可能性が高い。
2010年8月30日 11:43:28 Echofonから
 
 その発想はなかった。
 というかそもそもこれ言われるまで知らなかったのだよ。強調は俺。
 http://twitter.com/okada_k/status/22489933088

@Vipper_The_NEET いや、sshも接続元を制限して使うべき。telnetは勿論だ。つーか、telnetが何で駄目なのか、ちゃんと説明しないと。最近のtelnetは(それほど強力じゃないが)暗号化もされるし、別に忌み嫌う必要も無いと思うんだがなぁ。
2010年8月30日 11:45:23 Echofonから Vipper_The_NEET
 
 びびる俺
 http://twitter.com/Vipper_The_NEET/status/22490236397

暗号化しらなかた!!ちくしょう俺時代に取り残されてるRT: @okada_k: @Vipper_The_NEET いや、sshも接続元を制限して使うべき。telnetは勿論だ。つーか、telnetが何で駄目なのか、ちゃんと説明しないと。最近のtelnetは暗号化もされるし
2010年8月30日 11:49:53 Echofonから
 
 参考資料提示。RFC 2946。
 http://twitter.com/okada_k/status/22490713704

@Vipper_The_NEEThttp://bit.ly/cFgyC2
2010年8月30日 11:56:48 Echofonから Vipper_The_NEET
 
 このあたりでいろいろ考える。要するにアクセスコントロールしてない段階でパスクラ喰らう可能性が高まるわけで,そのあたりのリスクマネジメントをどう考えるか,というところになってくる。
 例えば,俺ん家ではワールドワイドに ssh をオープンしてるわけで,アクセスコントロールは弱い。しかも証明書ではなくパスワードにしてある。これは外出先で証明書をインストールしなくてもログインできることを優先したからで,回線も絞れないから制限してないというわけ。もちろん,そのリスクは折込済みで運用しているので,リスクコントロールはできている。はず。
 逆に,しっかり締めておくべきところで大解放していたらそれはそれでまずい。何故まずいか,となると,上のほうの「何が良くて何が悪いのか、理屈をちゃんと必ず省略せずに説明しなければ駄目だ。」につながる。何故そういう設定をするのかをシッカリ考えなきゃダメで,考えるためには基礎知識が必要となる。その基礎知識部分,前提条件となるところからシッカリ説明してるか,と言われれば,自信が無い。
 
 というわけで改善しなければならんねというところ。
 
 ポイントになりそうなツイートをいくつか。
 http://twitter.com/okada_k/status/22492487070

そう言えば、sshでルートログイン、且つ、shell接続が許可されてるマシンはとても多い。勿論、rsyncとかの為にルートログインだがリモートで実行出来るコマンドが限定されてるとかなら問題ないが、普通に何も制限無くルートログインができるマシンってどうよ?
2010年8月30日 12:23:02 Echofonから
 
 http://twitter.com/Vipper_The_NEET/status/22492879618

え!? デフォルトでオフなんじゃないの!? ふつうに考えてリモートからrootでログインとかありえねえ・・・ RT: @okada_k: そう言えば、sshでルートログイン、且つ、shell接続が許可されてるマシンはとても多い。勿論、rsyncとかの為にルートログインだがリモート
2010年8月30日 12:29:07 Echofonから
 
 http://twitter.com/okada_k/status/22493243542

@Vipper_The_NEET いや、PermitRootLoginはデフォルトでオンだよ。つーか、sshって言うのがいったい何なのか理解していれば、そんな質問は出ない筈。rshからsshへの変遷の歴史とか、基礎からやり直せ。
2010年8月30日 12:34:42 Echofonから Vipper_The_NEET
 
 どうやらデフォルト設定が変更されていたらしい。俺が自分ちの ssh 設定したのは 2006 年ごろだったと思う。ところがその後,2008 年初頭?にはデフォルト設定が変更になっていたらしい。
 
 http://twitter.com/okada_k/status/22497465729

@Vipper_The_NEET PermitRootLoginがオンな事の簡潔な説明見つけたw http://bit.ly/9VKzNA
2010年8月30日 13:46:01 Echofonから Vipper_The_NEET
 
 全く知らなかった。コミュニティ全然追いかけてなかったから。この話がなかったらデフォルトでオフだと思って設定ミスしていたかもしれない。
 
 さらに現場の叫びが続く。
 http://twitter.com/okada_k/status/22491023414

つーか、僕的には、メール関連のTLS対応をもっと速く進めて欲しい。接続元を制限している限りsshとかは正直どうでもいい。
2010年8月30日 12:01:02 Echofonから
 
 はげどう。通信経路が不安で公衆無線LANが怖い俺にとってはさっさとやって欲しいところだけど対応しているクライアントが少なかったりプロバイダもやる気がなかったりしてグダグダ。
 
 話はパスワードの運用に。
 http://twitter.com/okada_k/status/22493753306

まあ、これは邪道だけれど、僕的な設定では、ルートやshellが使えるIDのパスワードは、パスワード生成ツールは使うが、できるだけ覚え易いちょっと簡単な奴を選ぶ。紙に書き留めたり、プリントアウトされる方が、辞書攻撃よりも怖いから。
2010年8月30日 12:42:46 Echofonから
 
 何気なく答えた俺のレス。
 http://twitter.com/Vipper_The_NEET/status/22493966153

あとパスワード定期変更に違和感ある RT: @okada_k: まあ、これは邪道だけれど僕的な設定ではルートやshellが使えるIDのパスワードはパスワード生成ツールは使うができるだけ覚え易いちょっと簡単な奴を選ぶ。紙に書き留めたりプリントアウトされる方が、辞書攻撃よりも怖いから
12:46 PM Aug 30th Echofonから
 
 対するレス。
 http://twitter.com/okada_k/status/22494222910

@Vipper_The_NEET いや、一定期間で定期変更すべきレベルのアカウント(POPオンリーの物とか)もあるとは思うよ。まあ、現場に行くと、パスワードがポストイットにメモられて、モニタに貼ってあるの本当な訳で、それを加味して考えるべきでしょう。
2010年8月30日 12:50:23 Echofonから Vipper_The_NEET
 
 確かに長期運用するアカウントや,共有のアカウントとか役職に紐付いたアカウントのような個人に紐付かないものは定期的に変えたほうがいい。抜けたメンバー等への対応という意味もある。退職や異動のタイミングでもやっておくといい。
 
 パスワードに依存せず,アクセス権のコントロールのほうがいい場合もあるという話。
 http://twitter.com/okada_k/status/22494383176

大企業とかなら、セキュリティ専門チームをおいてそう言うのを監視できるだろうが、数百人程度の会社じゃ無理だ。ポストイットに書かれるから変えるとかよりも、重要システムへのアクセス権、アクセス可能端末を思い切り絞った方がいいだろう。
2010年8月30日 12:53:01 Echofonから
 
 共有アカウントの運用に対する話。パスワードを何故変更するかを理解してもらう必要。
 http://twitter.com/okada_k/status/22494784293

@tyappi @Vipper_The_NEET まあ、そうなんだけど、そう言う「べき論」で考える事が一番危険。なぜ共有アカウントのパスワードは定期的に変更すべきなのかを、共有する全員が理解する事が先ずは必要。
2010年8月30日 12:59:38 Echofonから tyappi宛
 
 鯖を放置しないで><;
 http://twitter.com/okada_k/status/22495122782

まあ、何にせよ、常時ちゃんと監視する事が必要。サーバは設定して放置って訳には行かない。OCNのVPSとか、設定したままで放置されてる物がどれだけあるのかと考えると、寒気がする。
2010年8月30日 13:05:00 Echofonから
 
 これには激しく同意。鯖はメンテしないと腐る。セキュリティホールが見つかったり,運用ポリシーの変更に追従できなくなったり。他にはデータが溜まって云々とかディスクが古くなって云々とかもある。
 
 パスワードの変更の意味を理解してもらう話への俺のレス。
 http://twitter.com/Vipper_The_NEET/status/22495096526

基礎的な理解がないと協力は得られないデス RT: @okada_k: @tyappi @Vipper_The_NEET まあ、そうなんだけど、そう言う「べき論」で考える事が一番危険。なぜ共有アカウントのパスワードは定期的に変更すべきなのかを、共有する全員が理解する事が先ずは必要。
1:04 PM Aug 30th Echofonから
 
 鯖を放置するな,な話への俺のレス
 http://twitter.com/Vipper_The_NEET/status/22495294653

@okada_k 定期的に相手をしてあげないと凛子だってそっぽをむく時代に鯖を放置とかしちゃいけませんよねー とは違うが定期的にメンテしましょうというのは俺もよく言うな。ソフトウェアの経年劣化って表現してる。ハードと同じくソフトも古くなると問題出ますよ的に。だいたい納得してくれる
2010年8月30日 13:07:52 webから okada_k宛
 
 http://twitter.com/Vipper_The_NEET/status/22495360842

もちろん正確に言うとソフトウェアは経年劣化なんかしなくてそのまま動きつづけるんだけど,セキュリティ的には穴が見つかったりして求められる品質からだんだん外れて落ちていくわけで,そのあたりをどう説明するか悩ましい所
2010年8月30日 13:08:59 webから
 
 重要な話はこのあたりまでかな。
 あとはメールの TLS を必須にしてくれ!!とか,それは公衆無線 LAN なんかを安全に利用するためなんだよ!!とか。
 それから怖い怖い詐欺はやめれとかw
 
 ちゃんと設定すれば大抵のものは安全に使える。安全側に倒すという意味では通信経路の暗号化もあるけど,ログインを受け付けるようなものであればアクセスコントロールやアクセス権の設定は必須。その理由はしっかり説明しておかないとダメだよね,という話。
 
 俺の納得したところのツイート。
 http://twitter.com/Vipper_The_NEET/status/22496989872

とどのつまりは想定したセキュリティレベルがまずあって,それに見合うものはどういう状態か,で,それはどんな理屈でそうなってるかを理解しとかないと,うまいこと運用できませんよと。
2010年8月30日 13:37:21 Echofonから
 
 http://twitter.com/Vipper_The_NEET/status/22497037502

会社の規模だったり予算だったりおうちの都合だったりいろいろあるけど,なんとなく設定するんじゃなくてちゃんと道理をわかったうえで使いましょう,と。
2010年8月30日 13:38:13 Echofonから
 
 何を使うにしても,しっかり運用を考えておかないと足元をすくわれますよ,といったところ。
 ちゃんと考えられるように,俺らセキュリティ屋は基本的な情報をちゃんと示さないといけませんなというお話。