2009-04-02 11 views
3

私は、実サーバにapache2、php、mysqlを持っています。 仮想ホストとしてただ1つのサイト(mysite.com)しかありません。 phpmyadmin、webalizer、そして多分webminをそこに置いておきたい。これまでphpmyadminをインストールしていましたが、動作しますが、インターネット全体がmysite.com/phpmyadminに行くことができますphpmyadmin security

私のファイアウォールの背後にあるマシンにアクセスできるように、192.168.0.0/16という表示を減らすにはどうしたらいいですか?

答えて

7

1)Webサーバーレベルで実行できます。

Apacheの許可/拒否ルールを使用します。 Apacheの設定ファイルに直接アクセスできない場合は、.htaccessファイルを使用することができます。

<Directory /docroot> 
    Order Deny,Allow 
    Deny from all 
    Allow from 10.1.2.3 
</Directory> 

2)あなたはphpMyAdminの設定ファイルを使用して、アプリケーションレベルでそれを行うことができます。

設定パラメータは次のとおりです。ルールの$cfg['Servers'][$i]['AllowDeny']['rules']

例は以下のとおりです。

'all' -> 0.0.0.0/0 
'localhost' -> 127.0.0.1/8 
'localnetA' -> SERVER_ADDRESS/8 
'localnetB' -> SERVER_ADDRESS/16 
'localnetC' -> SERVER_ADDRESS/24 

あなたは公式phpMyAdminのコンフィギュレーションマニュアルでこれを見ることができます。

http://www.phpmyadmin.net/documentation/#servers_allowdeny_order

+0

私は192.168.0.0/16を可能にするためには、/ usr/share/phpmyadminのを追加することで、オプション#2を行なったし、働いているようです。ありがとう。 – Nick

+0

オプション2は行く方法です。より単純で、PHP期間を稼働させる前にブロックしたいと思っています。 –

+0

さて、私は最初にApacheオプションを移動しました。 –

1

あなたは、Apacheにモジュールを使用するには、あなたのApacheの設定ファイルやディレクトリのルートにある.htaccessファイルの中でそれを設定することができますいずれか

mod_accessと呼ばれます。

はここ

<Directory /your_folder/location> 
    Order Deny,Allow 
    Deny from all 
    Allow from 123.123.123.123 
</Directory> 
0

<Location>ディレクティブ(サーバー設定や、それが許可されている場合は、.htaccessファイル内のいずれか)を使用し、短い例です。そこにはAllow fromを使用して、以外の誰かへのアクセスを拒否することができます。いくつかの特定のソース。