MAMPの設定ファイルを少し変更することで、このような不正アクセスをブロックすることができます。
仮想サーバーにアクセス制限をかけて開発環境を守る
下の場所から httpd.conf をテキストエディタで開きます。 /Applications/MAMP/conf/apache/httpd.conf 英文だらけの設定ファイルなので、初めは抵抗あるかもしれませんが、 慌てずに 212行目付近に書かれた、下の箇所を探します。|
1 2 3 4 5 6 7 8 9 |
<Directory "/Applications/MAMP/htdocs"> ← ここを目印に探すと見つかりやすいです! 〜 中略 〜 # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> |
|
1 2 3 4 5 6 7 8 9 |
<Directory "/Applications/MAMP/htdocs"> 〜 中略 〜 # # Controls who can get stuff from this server. # # Order allow,deny # Allow from all </Directory> |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<Directory "/Applications/MAMP/htdocs"> 〜 中略 〜 # # Controls who can get stuff from this server. # #Order allow,deny #Allow from all Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from localhost Allow from 192.168 </Directory> |
Order Deny,Allow 全てのホストからのアクセスを許可する。
Deny from all 全てのホストからのアクセスを拒否した後、その後に続くAllow from xxxx を許可する。
127.0.0.1 ネットワーク上における自分自身の仮想的なアドレス。
localhost 127.0.0.1 の通常用いられているホスト名。
192.168 ネットワーク内に振り分けられる、一般的なプライベートIPアドレス : 192.168.x.x。
上の説明が難しと感じる方も多くいらっしゃると思いますので、一連の処理を翻訳してみると、
”あなたの仮想サーバーへ接続してきたすべてのリクエストを一度すべて受け入れるんだけど、
その中から限られた人だけが、あなたの仮想サーバーにアクセスできますよ”
という意味になります。
翻訳をしてみると、一連の処理の流れがイメージしやすくなりますね!
以上で、httpd.conf の設定は完了です。
開いている httpd.conf を上書き保存して、MAMP のコントロールパネルからサーバーを再起動します。
MAMPがすでに起動している場合には、[ サーバを停止 ] を押してサーバーを停止させてから、もう一度 [ サーバを起動 ] を押してください。
サーバーを再起動することで、先程修正した内容が反映された状態で動作するようになります。
Mac OS X のファイアウォールを有効にする
Mac OS X にはファイアウォールが搭載されています。 しかし、デフォルトでは無効になっているので有効にしておきます。 ファイアウォールを有効にすることで、更にあなたのパソコンのセキュリティを高めることができます。 システム環境設定 > セキュリティとプライバシー > ファイアウォール を開き、「開始」をクリックします。
MAMPを起動している場合には、”mysqld”へのネットワーク受信接続を許可しますか? というメッセージが表示されます。
これは、MySQLというデータベースサーバが、MAMPの起動と同時に稼働しており、
データベースサーバ接続用のネットワークをファイアウォールが検知したことで表示されるメッセージです。
「拒否」をしてしまうと、ファイアウォールによってデータベースサーバ接続用のネットワークが遮断されてしまう為、データベースサーバを利用できなくなってしまいます。
PHPの開発環境では、データベースサーバを利用するケースが多いと思いますので、「許可」を押して接続を許可しておきます。
以上で、セキュリティ設定が完了しました。
これで、下のように、不正アクセスをブロックする仮想サーバー対策ができました。
安心して開発を行えますね!














