
ozumaの日記: IPアドレスでのアクセスブロックはDocumentRootを/tmp? 8
またもや久々の日記更新だ。
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になるけど、そういう問題じゃないだろと。
ちょっとびっくりした年の瀬でした。おしまい
Python for Unix and Linux System Administrationかな? (スコア:1)
日記本文の検索結果の一つにあるOra本がそういう記述ですね。
同じく検索結果の一つSecuringPHP - Httpd Wikiではそこまで踏み込んでいないし。
以上日本語でないドキュメント由来なのではないかと推理。
Re:Python for Unix and Linux System Administration (スコア:1)
現時点でもうこの日記が順位2位なのな。
これでカウンター効果もあるかな?
恐るべし/.J
それも仰天だけどさ (スコア:0)
イマドキ
この設定例はどうなのよ?
そこは
なんじゃないの?
あえてその古臭いやり方を使いたい時でも
とでも書いて、ガードは入れとくべきなんじゃないのかな。
特定の環境を前提に設定例書くのはどうかと思うで。
# つーかApache君はがっつきすぎ。
# リソースあったらあった分だけ一気に食い尽して、あっという間に応答できなくなる癖直して。
# Apache module君と一緒に仕事やらせてると、それが得に顕著だよ。
# おまえさん達を綺麗に負荷分散させてやるだけで一苦労だし、むしろそっちがメインの仕事みたいになっちゃう。
# ベンチだと似たり寄ったりの値なのに、そこらへんの苦労が段違いだからと皆がlighttpdやnginxに逃げてゆくのもわかる。
Re:それも仰天だけどさ (スコア:1)
IfModule はむしろ入れない方が良いと思う。
特にアクセス制限なんかは、解除されると困る。エラーで落ちたほうがマシ。
> # リソースあったらあった分だけ一気に食い尽して、あっという間に応答できなくなる癖直して。
ん~ php 位しか追加で入れてませんが、最近はその傾向は無いと思うけど。。。
/proc/meminfo の Committed_AS がどんどん増えていきます?
リソースを食いつぶしてるのって Linux kernel ではなく?
[Q][W][E][R][T][Y]
Re: (スコア:0)
> 特にアクセス制限なんかは、解除されると困る。エラーで落ちたほうがマシ。
そりゃそうだけどそれはたまたまこの場合はうまく行っているだけで、何も考えずググった結果をコピペするような奴は疑いもなく<Limit GET> [ya.maya.st]とかでくくってアクセス制限がうまく行ったと信じこんだりするだろ。
Re:それも仰天だけどさ (スコア:1)
すいません、ちょっと主張がわかりませんでした。
IfModule があれば不特定の環境に適用可能なので初心者にコピペされても問題が少ないってこと?
[Q][W][E][R][T][Y]
Re: (スコア:0)
ググってコピペすんなマニュアル嫁 [ya.maya.st]ってこと。
Re:それも仰天だけどさ (スコア:1)
まぁ、もともと IfModule への私の反応が重箱であったのはわかりますが、
話の流れにあった回答をよろしくお願いします。
[Q][W][E][R][T][Y]