Apacheのプロキシサーバーで外部へのアクセスを禁止する

このQ&Aのポイント
  • Apacheのプロキシサーバーを使用して、Lan上のマシンの外部へのアクセスを制限する方法を教えてください。
  • 現在、Apacheのプロキシ設定を行っていますが、特定のサイトしかアクセス制限できません。他の方法はありますか?
  • 質問者はApacheのプロキシサーバーを使用して、Lan上のマシンのブラウザからのインターネットへのアクセスを完全に禁止したいと考えています。しかし、Lan上のWEBサーバーは正常に表示したいとのことです。
回答を見る
  • ベストアンサー

Apacheのプロキシサーバーで外部へのアクセスを禁止する

Lan上のマシンをApacheで設定したプロキシで外部へ(インターネット)のアクセスを制限したいのですが、方法がわかりません。 どなた御存知の方がいらしたら教えていただきたいのですが... Apache(Ver.2.2.3)でプロキシ設定したサーバー機(A)をプロキシサーバーとして、その他のマシン(B)のブラウザのプロキシの設定でプロキシサーバー(A)を指定した場合、GooやYahooなどインターネットのウェブサイトへのアクセスを完全に禁止したいと思っております。 しかし、Lan上にあるWEBサーバー(C)のサイトやWEBアプリケーションなどは正常に表示したいです。 現在、Apacheのhttpd.confで以下のように設定してあります。 -------------------- # PORT Listen 80 Listen 8080 # プロキシの設定 ProxyRequests on # Lan上のマシン以外は拒否 <Proxy *> Order Deny,Allow Deny from all Allow from (Lan上のマシン) </Proxy> -------------------- ProxyBlockを利用してみましたが、特定のサイトしかアクセス制限できませんでした。 (ex)ProxyBlock www.goo.ne.jp ProxyBlockで「~以外はアクセス禁止」みたいな使い方が出来るのでしょうか? また、その他いい方法はありませんか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

やったこと無いので自信なしですが http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html を読んだ限りでは、、、 LAN内をNoProxyに指定して、ProxyBlockを全指定すれば、どうですか? NoProxy 192.168.1.0/24 ProxyBlock *

ossan_j
質問者

お礼

お返事ありがとうございました。 お手数をおかけして申し訳ありませんでした。 こちらで試して見ましたが、Lan上にあるWEBサーバーのページを表示することが出来ませんでした。 教えていただいたURLの説明文で、 「このディレクティブはイントラネット中の Apache プロキシサーバにのみ 有用です。」 というものがありました。 ブラウザ側ではApacheのプロキシサーバー(PORT8080)を指定して、「http://192.168.1.Apache」を見た場合にアクセス拒否されました。 「http://192.168.1.Apache:8080」で指定したらApacheのページが見れるようになったのですが、IISサーバーへのリバースプロキシ設定したページは見れませんでした。 Apacheの初心者で意味合いもあまり理解していないかもなのですが... 「192.168.1.0/24 へのアクセスはプロキシを有効にしない」ということで理解します。 umasikajiroさんの御意見も調査の対象として、自分でも調べてみます。

ossan_j
質問者

補足

御回答を下さったumasikajiroさんありがとうございました。 今回の内容を行うことをやめました。

関連するQ&A

  • Apacheを使ってプロキシサーバを設定

    apache2.0のmod_proxyを使って、プロキシサーバをたてようとしています。HTTPでのアクセスでは、正常に動作するのですが、HTTPSでのアクセスでは正常に動作しません。アドバイスお願いします。 ○下記構成で利用を想定しています クライアント→今回設定するプロキシサーバA→既存のプロキシサーバB→目的のサイト ○ProxyRemote ディレクティブで既存プロキシサーバBを設定していますが ・HTTPアクセスでは想定どおりの動作をしています ・HTTPSではプロキシサーバA上のWEBサーバへアクセスしようとしてしまいます ○クライアントのプロキシ設定を既存のプロキシサーバBに設定し、HTTPSでのアクセスは正常に行えます Apacheのmod_proxy+HTTPS+多段プロキシ(串)は、動作しないのでしょうか? 以上、よろしくお願いします。

  • アクセス制限(.htaccess)について

    自宅LAN内にてWEBサーバ、MySQLサーバを立ち上げています(XAMPPを使用) ドキュメントルートと1つ下の層に.htaccessを置いています。 (設定内容) Order deny,allow Deny from All Allow from localhost 127.0.0.1 しかし、いずれも他マシンからアクセスできてしまいます。 アクセス制限するには他に設定することがあるのでしょうか? <環境> OS:Windows2000 SP4 XAMPP Version 1.5.1を使用しています。 Apache 2.2.0 PHP 5.1.1 Perl 5.8.7 MySQL 5.0.18 phpMyAdmin 2.7.0-pl1

    • ベストアンサー
    • HTML
  • ApacheのIP制限について

    ApacheのIP制限について CentOS5とWindowsVista両方のOSでApacheの勉強をしている者です。 ApacheのバージョンはWindowsVistaなら2.0.63で、CentOS5は2.2のを試しています。 ところで、「特定のアクセス元に対してアクセスを禁止する」の部分ですが、 ------------------- Order allow,deny Allow from all Deny from xxx.xxx.xxx.xxx ------------------- の部分にxxx.xxx.xxx.xxxを WindowsVistaでは、192.168.1.28といったapacheをインストールしている本機マシンをアクセス制限に試してみようと思いましたが、うまくいきません。 また、友だちのサーバのCentOS5で、私の契約しているプロバイダーのIPをアクセス制限しようと思いましたが、それでも上手くいきませんでした。 CentOSの方には色々と試してみて、mod_access.soをインストールしてみましたが、それでもうまくいきません。 ただし、逆に ------------------- Order deny,allow Deny from all ------------------- を指定すると正常にアクセス制限することはできますが、私が望んでいることは特定のIPに対してアクセス制限をかける方法を知りたいのです。 何かお分かりの方は、ご回答をお願いします。

  • Apache リバースプロキシについて

    現在、vmware-serverにてWEBサーバを構築中なのですが「リバースプロキシ」の設定を下記のようにすると[warn]のエラーが出てしまいます。何かいい設定方法は無いでしょうか? *環境* ・CentOS release 5.3 (Final)  Kernel 2.6.18-92.el5 on an i686 ・httpd-2.2.3-22.el5.centos.2 ---------------"httpd.conf"の設定内容-------------------- <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /test http://192.168.10.1 ProxyPassReverse /test http://192.168.10.1 ProxyPass /news http://192.168.10.1/news ProxyPassReverse /news http://192.168.10.1/news ---------------------------------------------------------------- 上記のように設定したのですが,confをチェックする際 [warn] worker http://192.168.10.1/ already used by another worker Syntax OK というようになります。 エラーを読むに、192.168.10.1のアドレスは使われています?という事だと思うのですが・・・。因みに同リバースプロキシーconfで、ver1.3のApacheはエラー無く「OK!」でした。 どうしてなんでしょう?? またどのように設定できれば解消できますか? 宜しくお願い致します。

  • apache リバースプロキシ

    毎度お世話になってます。 タイトルの通りapacheのリバースプロキシの設定で悩んでおります。 単純なリバースプロキシは問題なく動くのですが、 例えば、 ドメインA:back.com ドメインB:revers.com があるとして、 back.com/ppp/の中身を URL:http://revers.com/ で表示させたいのですが、 ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://back.com/ppp ProxyPassReverse / http://revers.com/ 上記では、転送されてURLがhttp://back.comになってしまします。 どなたか詳しい方、もしくは実装されたことがある方いらっしゃいましたら教えてください。。 よろしくお願いします!

  • 内部から外部へのアクセスについて

    どうもこんにちは。 自分なりにいろいろと調べてみたのですが、お手上げなので質問させていただきます。 自宅サーバーを公開するため、LAN1とLAN2を構築し、LAN2で動かしているウェブサーバー(Apache)をリバースプロキシ(Apache)をつかって公開しています。インターネットもLAN2内のフォワードプロキシでインターネットに繋がっています。 インターネット---ルーター---PC1(CentOS)                     |                スイッチングハブ                     |                     |-----PC2(Windows7)                     |                     |                     ˈ-----PC3(Windows7) (PC1) ・IPマスカレードでLAN1とLAN2の構成(176.231.10.2/2X⇔176.231.15.21/2Y) ・Apacheによるリバースプロキシ(176.231.10.2/2X) ・Apacheによるフォワードプロキシ(176.231.15.21/2Y) (PC2) ・Apacheによるウェブサーバー(172.231.15.22) (PC3) ・ユーザーのPC(172.23115.23) このような構成になっており、LAN2はフォワードプロキシを通してインターネットに接続されています。ここで、LAN2内から外部メール(googleなど)を受信したいのですが、Thunderbirdでプロキシを指定しても受信することができません。正確に言えば、PC1のみ受信でき、PC2とPC3で受信を行うことができません。これはなにがいけないのでしょうか、ファイアウォールの設定でしょうか?それともApacheの設定でしょうか? 【iptablesの設定】 #インタフェース名定義 LAN=eth0 WAN=eth1 #ポート解放 iptables -A INPUT -i eth0 -s 176.231.10.0/2X -p tcp --dport 80 -j ACCEPT(HTTP) iptables -A INPUT -i eth1 -s 176.231.15.20/2X -p tcp --dport 8080 -j ACCEPT(PROXY) iptables -A INPUT -i eth1 -s 176.231.15.20/2X -p tcp --dport 25 -j ACCEPT (SMTP) iptables -A INPUT -i eth1 -s 176.231.15.20/2X -p tcp --dport 143 -j ACCEPT(IMAP) iptables -A INPUT -i eth1 -s 176.231.15.20/2X -p tcp --dport 995 -j ACCEPT(POP3S) iptables -A INPUT -i eth1 -s 176.231.15.20/2X -p tcp --dport 465 -j ACCEPT (SMTPS) 【Apacheの設定】 <IfModule mod_proxy.c> AllowCONNECT 955 ProxyRequests On ProxyVia On <Proxy 176.231.15.21:8080> Order deny,allow Deny from all Allow from 176.231.15.20、172.231.10.0 </Proxy> </IfModule> そもそも、Apacheではメールプロキシ構築は無理で、他のプロキシソフト(delegateなど)でやらなければならないのでしょうか?一応、delegateは試してみたのですが、記述方法がわからず・・・。このような記述方法で良いのでしょうか? 記述例1 -P176.231.15.21 SERVER=pop://pop.gmail.com/ RELIABLE=".,172.231.15.22" PROTOLOG="" LOGFILE=${LOGDIR}/${PORT}/log[date+%d] 記述例2 -P178.231.25.21 SERVER=pop MOUNT='* pop://pop.gmail.com/*' PERMIT='*:*:172.231.15.20' LOGFILE=${LOGDIR}/${PORT}/log[date+%d] 質問が分かりにくくなったのでまとめます。 問題1 ファイアウォール設定かApacheの設定が悪いのか。 問題2 そのどちらでもなくソフトに問題があるのか。 どちらか一方を答えたくだされば結構です。お願いいたします。

  • ローカル環境でのapacheのアクセス制限

    ローカル環境で開発をしいてます。 セキュリティ面を考慮して、外部からのアクセスを一切禁止する為に httpd.confに <Directory C:/> Order deny,allow Deny from all Allow from 127.0.0.1 </Directory> の記述をしています。 これは「Cドライブ以下は自分自身(127.0.0.1)以外アクセス出来ない」と理解してもいいのでしょうか? 環境は OS : windows XP server : apache ver2.0.64 です。 よろしく御教授お願いいたします。

  • プロキシサーバについて

    我が社ではプロキシーサーバーを導入しており、一部、アクセスできないwebサイトがあります。これは、プロキシでアクセスを拒否してるとわかるのですが、IEのプロキシの例外設定で社内のIPアドレス192.168....が例外設定されております。アクセス禁止サイトをプロキシで設定しているのであれば 禁止しないサイトは例外設定しなくとも閲覧できるような気がするのですが、違うのでしょうか?また、GWのMACアドレスを見るとYamahaなのですが、(実際にyamahaのルーターを使っている)プロキシサーバはルーターのWan側に設置されているものなのでしょうか?それとも、LAN内に存在し、 GWに行く前に参照しているのでしょうか?教えてください。お願いします。

  • .htaccessでのアクセス拒否時の負荷について

    現在、荒らしにこまっていてこのような設定をしています。 order allow,deny allow from all Deny from env=shutout deny from 111.111.111.11 「deny from 111.111.111.11」 の部分ですが、これを沢山増やす(何人もIPでアクセス制限する)とサイトが重くなってしまう事はあるのでしょうか? ホスト名にすると、DNSの逆引きによる無限ループで~などということを聞くのですが…。 なお、プロキシで破られてしまう事は分かっています。

  • Apacheで特定のファイルのみアクセス許可したい

    httpd.confの末尾に次の記述をしてapacheをリスタートしtop.htmlにアクセスしても 403エラーとなりアクセスできません。原因が分かる方よろしくお願いします。 <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa"> Order deny,allow Deny from all SetEnvIf REFERER localhost referer_ok Allow from env=referer_ok </Directory> <Files "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/aaa/top.html"> Order allow,deny Allow from all </Files>

    • ベストアンサー
    • HTML