スイーツ(笑)と呼ばないで!!
| |||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
11/24/09:50 [PR] |
08/31/16:29 ポートの変更とセキュリティ最近、「SSHのポートを22から変えるべきか」という議論があることを知った。
puttyやsshコマンドなどでアクセスするときにポートを指定する方法を知らない人が9割、という組織でない限り(あるいは、そうであったとしても)、セキュリティ上は変えたほうが良いに決まっている。 どうやら変えなくて良いという人は根拠として「ポートスキャンしたらすぐわかるから無意味」というようなことをおっしゃっているらしい。 そんなことをおっしゃる方には nmapを知ってはいるが日常的にnmapを使ってポートスキャンをしていないのではないですか? とお聞きしたい。 (いや、だからネットで喧嘩売っちゃダメだって。。。) 例えば、あるサーバーにデフォルトのオプションで検索すると Starting Nmap 6.40 ( http://nmap.org ) at 2015-08-31 15:55 JST (中略) Nmap done: 1 IP address (1 host up) scanned in 17.58 seconds とかって感じで20秒程度で反応が返ってくる。ものによっては数秒ということもあるだろう。 次に、同じサーバーにポートをフル指定してスキャンを実行してみると Starting Nmap 6.40 ( http://nmap.org ) at 2015-08-31 15:58 JST (中略) Nmap done: 1 IP address (1 host up) scanned in 117.80 seconds という感じで約7倍の時間がかかるのだ。 世の中のクラッカーたちは、クラッキングツールをただ流してチャンスを待っている暇人ではある。 しかしながら、どのIPのサーバーに脆弱性が眠っているかもわからない状態で、日々無差別にポートスキャンを繰り返していることを想像すると・・ 私がクラッカーなら、1台に7倍の時間をかけるなら、同じ時間でプラス6台のポートスキャンをかけることを選ぶ。 そして、それで発見されるサーバーは、デフォルトのポートを変えるというほんの簡単な一手間を惜しむサーバー管理者の運用するサーバーだというおまけ付きだ。ハッキングされた後の対応のがどれほど手間か想像するまでもない。 と、クラッカーの心理を分析してみたりもするのだが、彼らがそもそも別の人が立てたサーバーをクラッキングしたいという暇人であることを考えると、実際のところはわからない。 もしかすると、ちょっとだけ面倒くさいやつが運用しているサーバーだと知らしめる効果はあり、抑止力になるかもしれない、と期待するわけである。 「セキュリティ上は変えたほうが良いに決まっている」と書いたが、すごく効果があるかは不明だが、変えたほうが良いのは間違いない、という程度の意思表示だ。 セキュリティはその効果とかけるコストのバランスで、そのシチュエーションで最適な組み合わせを選んでいくしかない、と思う今日この頃でした。 今日は、こんなところで。 PR
|
08/18/15:28 ランダムパスワードの生成方法何週間か前に複数人の部下から 「パスワード決める時に良い方法ありますか?」 と聞かれたので共有。 CentOSにはmkpasswdというのがあります。 expectというパッケージに含まれるコマンドなので、 yum install expect とかして必要なパッケージをインストールしてください。 使い方は簡単 例えば、16文字で、数字が最低4文字、英小文字が最低4文字、英大文字が最低4文字、特殊文字は含まない、とかなら mkpasswd -l 16 -d 4 -c 4 -C 4 -s 0 こんなコマンドを打ちます。そうすると uktPNXhnR7858ofk こんな感じで出力されますね。 ちなみに、オプションの意味は -l 全体の文字数 -d 最低何文字の数字を含むか -c 最低何文字の英小文字を含むか -C 最低何文字の英大文字を含むか -s 最低何文字の特殊文字を含むか です。 今回みたいに「特殊文字はいらない」という場合は、明示的に0を指定しましょう。 以上、知っていると便利なコマンドでしたー |
08/07/13:30 linuxでルータを作る?今や一家に1台ルータがあるのが当たり前の時代になってきましたね。
光回線なんか契約すれば普通にセットでレンタルできたり。 でも・・世の中にはそんなルータを買うお金がなく、 とてもとても苦労した経験のある人もいるんです・・・・・ はい、若かりし頃の私です^^ 当時私の家には、オンボロのパソコンがたくさんあふれていました。 ただ、ルーターは高い・・・あんなちっぽけな筐体で、 そんなにすごい機能を持っているわけでもないのに、 どーしてあんなに高いの? そう思ってました。 ただ、当時、ネットワークについても知識を広げたいなと考えていた私は、どうしてもルーターが欲しかったんです。 そこで私は考えました。 中古のPCたち、 中古のハブ、 中古のLANケーブル これらを使って、なんとかならないか、と。 まず、秋葉原の裏道にいって、200円くらいの中古のLANボード(NIC)を買ってきました。 さすがに、2つLANボードがついているようなPCはなかったので。 PCの筐体を開け、買ってきたLANボードを取り付けました。 片方をルータのWANポート、もう片方をルータのLANポートに見立てました。 うん、それっぽい。 (今でこそ、一つのNICに複数のIPを割り振る仮想IPについての知識がありますが、当時はその前段階でした) そしてそのPCにLinuxをインストールしました。 買ってきたNICが認識しない、なんてトラブルに遭遇しつつも、なんとか解決していきました。 認識したらこちらのものです。 昔からソフトウェア、すなわち、キーボード叩いてなんとかなる世界は得意でした。 Linuxでルータを構築するには、FWとしてお馴染みのiptablesを使って簡単にできます。 192.168.11.0のネットワークと192.168.21.0ネットワークを作って間にこのマシンを入れて NATの仕組みを作ってみたりり、さらにルーターマシンを構築してDMZつくてみたり。 ポートフォワードして内部に特殊なポートでListenするWebサーバー立てたり。 毎日いろんな組み合わせを作っては遊んでいました。 また、ルータとしてではなく、普通のクライアントとしてもNIC二枚刺しのマシンを構築し、 yahooへのアクセスは、こちらのルータとネットワークを通って、 msnのアクセスは、別のルータとネットワークを通って、 とか割り振ってみたりしました。 当然、このプロトコルは通すとか、はじくとか、変換するとか、そういったフィルタリングの知識もついてきました。 楽しかったですね^^ そんな感じで自宅の至る所にボロマシンがあふれていた・・・ そんな時代がありました。 最近、仮想環境がすごく進歩したりマシンのスペックも向上して、ほとんどのことが1台のマシンで済むことが多くなりました。 今はほとんど愛用のmacしか使いません。(仮想でwindowsやlinuxは入っているけど) 時代の流れに流され、使われなくなったそのボロマシンたちは今や実家の倉庫で眠っております。 一時期置き場が足らなくて、トイレにlinuxサーバーの1つを置いて稼働させていたこともありました。 皆懐かしい、古き良き時代ですね。 さて、そんなこんなで身につけた知識は、今では時々部下からの質問に回答するときに役立ったりします。 VPNの話やVirtualBoxなどの仮想環境での話、などいろんなところで応用がききます。 今は、物理的にPCやLANボードを用意しないでも、VirtualBoxなどの仮想環境で、 何台でも作れますし、NICもどんどん増やせますね。 お金持ちじゃないと高度な技術に触れられない時代は終わりつつあります。 (もちろん、ソフトバンクのPepper君とかIBMのWatsonとか、興味があってもやっぱり触れられないものもあるけど) ということで、 ネットワークの知識を深めたいなら、Linuxでルータ作って遊んでみてはいかが? という昔流行っていた(?)楽しい遊びのご紹介でしたー ではでは。 |
07/27/14:16 コマンドラインからSSLの証明書を確認するには?WebサーバーにSSL証明書を設置する、なんてタスクがたまに湧いて出ることがありますよね。 自分でCSRの作成とかしていれば、詳細を把握していますが、 手元にあるのはなんと証明書のファイル一つ。 ちゃんと証明書を設置すれば、 当然ブラウザから内容が確認できるわけですが、 まずは証明書の中身が気になる。 そんな時は、 #less 証明書のファイルのパス とかやれば、中身は見れますが、見事にエンコードされていて、これを読み解くのはできませんね。 さぁ、こんなときはどうしましょうか。 実は、CSR作るときとかに使ったopensslコマンドがここでも役に立ちます。 #openssl x509 -text -noout -in 証明書のファイルのパス とかやれば、証明書のファイルの中身がわかりますね。 Common Nameがなんであるとか、 Signature Algorithmがなんであるとか いろんな情報が記載されています。 ちなみに、x509のところをreqにかえればCSRの中身も確認できたりします。 また、今度は設置後の話ですが、SSL証明書設置後のWebサーバーに対してコマンドラインから確認する方法もあります。 この場合、ブラウザベースで確認するよりもより詳細なデータを得ることができますね。 #openssl s_client -connect ホスト名:ポート -showcerts とやると結果が返ってきます。 例えば、証明書の期限が切れていれば certificate has expired なんてメッセージがverify errorとして表示されますね。 まずは、ブラウザで確認し、その後こういったコマンドを使ってよりきちんと確認していくのが良いでしょう。 errorが表示されたらきちんと解決してくださいねー たまに、インフラまわりの話も良いなと思う今日この頃。 ではでは、皆さん、またお会いしましょう^^ |
03/27/12:15 システム大量消費の時代Windowsも9を飛ばして10になるように、 PHPも6を飛ばして今年の10月には7になります。 Laravelも既に5が出ています。 Macも半年に1回のペースでOSがアップデートされます。 IEも消えて別のブラウザになります。 もはや、新しいものを拒絶して生き残れる時代は過去のものとなりました。 硬派な私たちは、いままで、枯れた技術を使うことにある種の職人としてのプライドを持ってやってきました。ミーハーな感じで流行りには流されない、ということで。 しかしながら、今後は枯れる前に、フレッシュでないというだけで廃棄処分されるようになっていくと思います。 そうすると、システムのリニューアルのスピードも早まるでしょう。 構築したシステムをずっと使い続けるのは今以上に減り、 2年くらいでリニューアルあるいは乗り換えするのが普通になるかもしれません。 パソコン業界でそれが起きた時、低価格化の波が押し寄せました。 マウスコンピュータの「パソコンは3年経てばただのハコ。(だから安いので良いでしょ)」というようなキャッチフレーズは衝撃でした。 早くて安いファーストフード的なシステム大量消費の時代は既に始まっています。 そんな中で、自分たちがどのような立ち位置でビジネスをするのか、考えなければならない。 どんな高級な本格フレンチレストランでも、注文から5時間後に料理を出すお店はないでしょう。 でも、4時間半を仕込みに使って準備万端であれば、30分でホンモノの料理をお届けできるかもしれない。 スポーツでもそうですが、試合中の頑張りで覆せる勝負は本当に実力が均衡している場合だけ。 試合までにどれだけ頑張ったかで実は試合前にほとんど勝負は決しています。 継続して勝利をおさめるために何が必要なのかやることが見えているなら、やるしかない、です。 |