パスワードを忘れた? アカウント作成
11839156 journal
apache

ozumaの日記: IPアドレスでのアクセスブロックはDocumentRootを/tmp? 8

日記 by ozuma

またもや久々の日記更新だ。

Apache HTTP Serverで、「FQDNではなくIPアドレスでアクセスされた際(つまりHostヘッダがIPアドレスの場合)には、403 Forbiddenを返したいなぁ」というのは時折ある。まぁIPアドレス直で来るようなやつは、だいたい悪いやつらのスキャンだからね……。
で、普通はVirtualHostのanyの方でDenyしておけば良いよね。

<VirtualHost *:80>
    ServerName any
    <Location />
        Order Allow,Deny
        Deny from all
    </Location>
</VirtualHost>

<VirtualHost *:80>
    ServerName hogehoge.example.com
    ...
    ...
</VirtualHost>

しかしちょっとググってみると、次のようなびっくり仰天の設定例があちこちで紹介されていることに気がついた。

<VirtualHost *:80>
    ServerName any
    DocumentRoot /tmp
</VirtualHost>

「IPアドレス直でのアクセスをブロックするには、このようにDocumentRootを/tmpにしましょう」というのがあっちこちのブログで拡散されているのだ。マジです。
https://www.google.co.jp/search?q=%22DocumentRoot+%2Ftmp%22&hl=ja

いったいどこの誰がこんな設定を広めたんだろ? まさに、悪貨は良貨を駆逐するなぁ。

確かに/tmpはフツーのApacheの設定ならば403 Forbiddenになるけど、そういう問題じゃないだろと。
ちょっとびっくりした年の瀬でした。おしまい

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 日記本文の検索結果の一つにあるOra本がそういう記述ですね。
    同じく検索結果の一つSecuringPHP - Httpd Wikiではそこまで踏み込んでいないし。
    以上日本語でないドキュメント由来なのではないかと推理。

  • by Anonymous Coward on 2014年12月23日 5時05分 (#2732548)

    イマドキ

    <Location />
        Order Allow,Deny
        Deny from all
    </Location>

    この設定例はどうなのよ?

    そこは

    <Location />
        Require all denied
    </Location>

    なんじゃないの?

    あえてその古臭いやり方を使いたい時でも

    <Location />
        <IfModule access_compat_module>
        Order Allow,Deny
        Deny from all
        </IfModule>
    </Location>

    とでも書いて、ガードは入れとくべきなんじゃないのかな。
    特定の環境を前提に設定例書くのはどうかと思うで。

    # つーかApache君はがっつきすぎ。
    # リソースあったらあった分だけ一気に食い尽して、あっという間に応答できなくなる癖直して。
    # Apache module君と一緒に仕事やらせてると、それが得に顕著だよ。
    # おまえさん達を綺麗に負荷分散させてやるだけで一苦労だし、むしろそっちがメインの仕事みたいになっちゃう。
    # ベンチだと似たり寄ったりの値なのに、そこらへんの苦労が段違いだからと皆がlighttpdやnginxに逃げてゆくのもわかる。

    • IfModule はむしろ入れない方が良いと思う。
      特にアクセス制限なんかは、解除されると困る。エラーで落ちたほうがマシ。

      > # リソースあったらあった分だけ一気に食い尽して、あっという間に応答できなくなる癖直して。

      ん~ php 位しか追加で入れてませんが、最近はその傾向は無いと思うけど。。。
      /proc/meminfo の Committed_AS がどんどん増えていきます?
      リソースを食いつぶしてるのって Linux kernel ではなく?

      --
      [Q][W][E][R][T][Y]
      親コメント
typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...