「平成」を感じるもの

centos6.10 apache2.2の環境でウェブサイトを公開していますが、ログをみると、URLではなくIPアドレス直打によるアクセスが多く、その殆どは、Botによる脆弱性等を狙ったもののようです。そこで、リソース的セキュリティ的な観点から、IP直打によるアクセスを、403エラー等にしたいと考えています。

既にバーチャルホストがhttpd.confで設定されている状態で運用していますが、httpd.confの仕様、すなわち、「指定した名前以外でアクセスされた場合、ひとつめに設定したバーチャルホストがデフォルトで使用される」という仕様を利用し、このIPアドレスによるアクセスを禁止を実現しようとしているのですが、様々な記述方法を試しています。しかし、予め設定してあるバーチャルホストのURLでアクセスした場合でも、403等のエラーになってしまい困っています。

記述は以下の通りですが、問題があるかどうかアドバイスいただければ幸いです。
あるいは、httpd.conf以外で、IPアドレス直打によるhttp/httpsアクセスを禁止する方法があれば、それも知りたいと考えています。

httpd.conf 設定例
#仮のURL:good.co.jp


ーー正しくhttp/httpsアクセスできる元々の設定ーーー
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName good.co.jp
</VirtualHost>
ーー正しくhttp/httpsアクセスできる元々の設定ーーー



ーーgood.co.jpもがエラーになってしまう設定ーー
#以下すべて上述の
#NameVirtualHost *:80
#の直後に記述

その1
<VirtualHost *:80>
ServerName any
 <Location />
 Order deny,allow
 Deny from all
</Location>
</VirtualHost>

その2
<VirtualHost *:80>
  ServerName any
 Redirect 403 /
 ErrorLog /dev/null
 CustomLog /dev/null combined env=0
</VirtualHost>

その3
<VirtualHost *:80>
DocumentRoot /var/www/html/dumy
ServerName dumy.co.jp
</VirtualHost>
ーーgood.co.jpもがエラーになってしまう設定ーー

どうぞよろしくお願いいたします。

質問者からの補足コメント

  • HAPPY

    続けてご回答くださり感謝いたします。apacheの設定以外で実現すべきという方向性が見えましたので、ベストアンサーにさせていただくと共に、本件閉じさせていただきます。ありがとうございました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2019/06/25 23:12

A 回答 (2件)

やりたいことを理解できていないかもしれませんが...



>リソースを使うのがもったいない

403にリダイレクトさせることができたとしてもリダイレクトする時点でリソース使いますけど、それは構わないんでしょうか?

>ありとあらゆるディレクトリを試行し、脆弱性探してファイルをPOSTしようとしてくるので、できればIPアドレス直打のhttp/httpsアクセスを一切拒否できればと考えています

それらの試行に対しては何を返しているのでしょう。
400系にしろ500系にしろ、いずれにしてもhttpdプロセスを1つ使ってその分のメモリやCPUを使うのに変わりないのではないと思いますが。
もしそれを遮断したいのであれば、httpdの前(FWなりWAFなり)でやるしかないのでは?
F-Secureサーバセキュリティなどでもできたような気がしますが。
この回答への補足あり
    • good
    • 1
この回答へのお礼

ありがとうございます。
ご回答を頂き少し自分の中での切り分けが進みました。

まず、リソースと言うのは少し曖昧な表現でしたが、この場合 httpdプロセスというよりも、ログを見る人的リソースというか、
自動的にシステムから送られてくる、通信遮断報告メールを確認するための、リソースというような意味でした。
なお、今回のケースで怪しい通信の遮断を行い、遮断報告を送ってくるのは、WAFです。

つまり、現在は、apacheより前段に位置しているWAFが、怪しい通信(WAFのパターンファイルに引っかかった通信)をすべて遮断している状態で、その殆どがIP直打で適当なディレクトリにアクセスを試みるBotです。
ですから、今回私がやりたいこと、すなわち、IP直打の通信の拒否は、httpdの設定でどうにかできることではなく、WAFの設定、あるいはiptabelsの設定で処理すべき事柄だということがわかりました。

iptabelsでIP直打の通信を遮断できるのかどうかはわかりませんが、WAFの方はサポートがあるので、質問を投げてみる予定です。

お礼日時:2019/06/21 21:24

最近多数のVirtualHostを設定した状態のhttpdを運営していないのでもしかしたら仕様が変わっているかもしれませんが。



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

これいらないと思います。
名前解決していないとアクセスさせたくないサイトはすべてVirtualHostでServerNameで指定しておけば、それ以外のIP直打ちのアクセスはhttpd.confの基本設定のサイト(VirtualHostではない設定のサイト)に行くはずです。
その上で、すべてのパスのアクセスを403にmod_rewriteで飛ばせばできませんかね。
    • good
    • 0
この回答へのお礼

ありがとうございます。

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

等の記述なし,
つまり、
<VirtualHost *:80>
ServerName good.co.jp
</VirtualHost>
のみの設定だと、やはり、IPアドレス直打で、大量のBOT閲覧があります。

それらはWAFですべて防いでいますが、リソースを使うのがもったいないのと、ありとあらゆるディレクトリを試行し、脆弱性探してファイルをPOSTしようとしてくるので、できればIPアドレス直打のhttp/httpsアクセスを一切拒否できればと考えています。

お礼日時:2019/06/20 21:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報