タグ

ブックマーク / blog.matsumoto-r.jp (6)

  • ApacheのVirtualHostによる高集積Webホスティングでsymlink問題を根本解決する方法について考えた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 最近、各所でApacheのVirtualHostを利用した高集積ホスティングのセキュリティに関するインシデントが起きています。僕自身、自分の専門の一つがWebサーバのセキュリティなので、他人事には思えず、毎日各所の経過情報を眺めています。また、数社からApacheのセキュリティに関してもいくつか質問を受けたりしており、公に話せるような内容はこのブログでも公開していきたいと思います。 ということで、ApacheのVirtualHostによる高集積Webホスティングにおけるsymlink問題を根解決するにはどうしたら良いのかを考えました。まずは、静的コンテンツも動的コンテンツのようにファイルのユーザ権限で処理する方法から紹介します。その後、ホス

    ApacheのVirtualHostによる高集積Webホスティングでsymlink問題を根本解決する方法について考えた
  • 大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善について書いた論文公開

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 @jj1bdxさんに「このような運用論文を誰でも読める形で」「情報処理学会や信学会の論文誌掲載論文は、論文誌に掲載された後であれば、著者がWeb上で公開するのに制限はない」という情報を頂き、別に公開しない理由もないので、大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善という内容で書いた論文を公開したいと思います。 僕が会社にいた時、ApacheのVirtualHost環境でレンサバを構築するというのは既にセキュリティ・運用性・パフォーマンスにおいて色々と問題がある事は10年以上前から分かっており、別の方法で共有環境を構築していました。 ある時、VirtualHostで共有環境を真面目に組むとどうなるか、という議論を元

    大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善について書いた論文公開
  • Apache 2.4系でのモダンなアクセス制御の書き方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比

    Apache 2.4系でのモダンなアクセス制御の書き方
    Akaza
    Akaza 2013/05/14
  • 運用者を考慮した複数NICとデバイス名の関連付け方法(Linuxの場合)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 この事象が再現したのは、CentOSでe1000eのNICとigbのNIC認識させた場合で、再起動することでポートと紐付くデバイス名(eth*)がころころ変更されてしまう問題を、運用者を考慮した方法で解決するための方法です。 最近では通信の種類によってNICをわけたりと、複数NICが当たり前になってきていますので、再起動してとあるNICに割り当てられていたeth0がeth2になってしまったりすると、障害の切り分けも困難になり、目も当てられない状況に陥る事が多々あります。 まず、なぜこういうことが起こるのかというと、Linuxは起動時にドライバに対応したNICを探し出し、見つかったら見つかった順にeth0からネットワークデバイス名を割り当ててい

    運用者を考慮した複数NICとデバイス名の関連付け方法(Linuxの場合)
    Akaza
    Akaza 2013/01/14
    実際のNICポートとethXの関連付けはHWADDRで行われる / /etc/sysconfig/networkでmodprobeを明示的に順序を指定して呼び出すようにすることも可
  • GNU GLOBALとvimで巨大なコードでも快適にコードリーディング

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでも、多くの記事にされていて、恐らくKernelや巨大なコードを読んでいる人にとっては当たり前なのかもしれませんが、あまりに快適だったのとこれをきちんとやれてなかった事に自戒をこめて記事にしようと思います。grepとかscreenを駆使していた時間を返してほしい! 対象者 僕がLinux大好きなので、Linux上での動作を前提にしています。対象者はLinux KernelやApache HTTP Server等、数万から数十万、さらには数百万行のコードをじっくり読んでいきたいと考えている人におすすめしたいと思います。巨大なコードを何のツールも使わずに読むのはかなりきついはずです。しかし、今回はGNU GLOBALと呼ばれるソースコードタ

  • Apache 2.4.1のスループット評価(旧ApacheとNginxとのベンチマーク比較)

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 久々のApache HTTP Server 2.4.1という安定版がリリースされたので、早速ベンチマーク評価を行う。今回はevent_mpmのExperimentがとれて、晴れてデフォルトMPMになったのでそれを使ってみたい。 日一(ひょっとすると世界一)早いApache 2.4.1 event_mpmのレビューを意識してみた。 はじめに 個人的にも、event_mpmが採用されたことに最も注目している。event_mpmは非同期型のIO処理をしていて、nginxに近いアーキテクチャをとっている。厳密には、nginxの非同期と比べた場合、nginxは徹底的にノンブロッキング(accept4を使う等)してworkerスレッドで次々と並列処理し

    Apache 2.4.1のスループット評価(旧ApacheとNginxとのベンチマーク比較)
    Akaza
    Akaza 2012/03/05
  • 1