記事内に広告が含まれています

【ワテ備忘録】apacheサーバーのアクセス制御【IPアドレス範囲指定】

この記事は約7分で読めます。
スポンサーリンク

ワテのサイトはエックスサーバー社の共用レンタルサーバーで運営している。

世の中には数多くのレンタルサーバー会社があるが、ワテのお勧めはこのエックスサーバーだ。

「エックス」なんて言う名前が付いているので、数学の変数Xを連想してしまい、

  • 何だか謎めいているぞ?
  • 何だか怪しい会社じゃないのか?
  • 何かアダルト系のサイトと関係しているんじゃないのか?

などと言う先入観をエックスサーバー社に持つ人もいるかもしれない。

実はワテもそうだった。

でも、ネットの情報を頼りに各社を

  • 安定性、
  • 速度、
  • サポート

などの観点で比較して、最終的にこのエックスサーバー社が良さそうだったので加入してみたのだ。

加入してみると、特に怪しい所は無かった。

さて、このエックスサーバー社であるが、ウェブサーバーとしてはapacheサーバーが動いている。

そのサーバーへのアクセス制御を .htaccessファイルで行う場合に、IPアドレス範囲指定に付いて少々トラブッタので、その備忘録として当記事をまとめた。

さらに、約五年、エックスサーバーを使ってきたワテの感想を書いてみたい。

これからレンタルサーバーを契約予定の人の参考にして頂きたい。



では、本題に入ろう。

スポンサーリンク
スポンサーリンク

エックスサーバー社の評価(ワテの個人的な)

評価項目 ワテの感想
安定性

この一年間に、事前予告済のメンテナンスの為の数秒~数十秒程度のサーバー停止は数回あった。

それ以外の突発的なサーバー停止などのトラブルも無く、とても安定している。

速度

ワテ自身、365日24時間このエックスサーバーを監視している訳ではないが、ワテがブログ記事を書き込むなどで接続している場合に、レスポンスが遅くて使えないなどのトラブルは無かった。

このWordPressのブログ記事も、ワテの自宅から表示すると2秒前後で表示出来るので、まずまずの速さかなと思う。特に不満は無い。

サポート

加入前の試用期間に数回、加入後に数回メールで問い合わせをした。

質問内容は、初歩的なものが多く、

  • 他社のWordPressをエックスサーバーに引っ越す場合の質問、
  • .htaccessの設定に関するもの

などである。ワテの経験ではこのような個別の技術的な質問は一般のレンタルサーバー会社ならまともな回答が得られない場合が多い。個々の技術的な質問はサポート対象外と言う理由で。

しかしながら、エックスサーバー社の場合には、親切な回答が得られたので短期間で問題が解決した。そういう点ではサポート体勢は大変良いと思う。

表 ワテが実際に数年使ったエックスサーバーの評価結果

 

さて、このエックスサーバー社であるが、各種の設定は専用サイトにログインするとサーバーパネルという画面が開き、

  • 各種ソフトの自動インストール
  • 各種のアクセス制御設定
  • PHPのバージョン切替
  • MySQL関連の各種操作
  • その他

など色々できる。

 

一方、これらの専用メニューを使わずにtelnet, SSHやFTPで接続して直接操作をする場合もある。

例えば、

  • .htaccessファイル編集
  • .ftpaccessファイル編集
  • ファイル、ディレクトリのパーミッション変更
  • ディレクトリのパックアップを取得する(cp -Rコマンドなどで)

などかな。

その際に、telnet/SSH接続には、PoderosaでSSH2プロトコルを使ってセキュリティの高い接続をしているのだが、FTP接続の場合には、とりあえず使い慣れたFFFTPで普通にFTPプロトコルで接続している。

なので、エックスサーバー側のFTPの設定では、自分のIPアドレスのみFTP接続を許可する設定にして安全性を高めている。

ところが、先日、自宅のプロバイダーを変更して光ファイバーの高速な回線にしたのだが、その結果、光ルーターの電源をOffしてOnすると、WAN側のIPアドレスつまりグローバルIPアドレスが変わる事が判明した。

そうすると、FTPのアクセス制御の設定ファイルに特定のIPアドレスを書き込んでいるので、新しく取得したIPアドレスからは接続出来なくなる。

困った。

でもそういう場合にはサブネットを指定してIPアドレスの範囲を指定してアクセス許可を与える事が出来るはずなので調査して、実際に設定してみたら上手く行った。

以下、そのメモ。

エックスサーバーのFTP接続の許可/拒否設定方法

 

.ftpaccessの記述(変更前) 特定のIPアドレスのみFTP接続を許可

<Limit ALL>
Order Allow, Deny
Deny from all
Allow from 192.168.0.154
</Limit>

これだと、アドレスが 192.168.0.200 などと変わると接続出来なくなる。

ワテの光プロバイダーの場合、アドレスが変化するのは

192.168.xxx.yyy

の末尾の16ビットの部分だ。

そうするとApacheサーバーの場合には、サブネットマスクを使って、

.ftpaccessの記述(サブネットマスクを使う方法は失敗)

<Limit ALL>
Order Allow, Deny
Deny from all
#Allow from 192.168.0.154     # 古い設定
Allow from 192.168.0.0/255.255.0.0
</Limit>

とすると、

192.168.0.0 ~ 192.168.255.255

までの範囲のIPアドレスに対してFTP接続許可の設定に出来るはずだ。

でも、何故か上手く行かない(接続拒否される)。

 

原因は不明だ。

で、別の記述方法でやってみた(下図)

.ftpaccessの記述(ビットを数字で指定) これでIP範囲指定に成功した

<Limit ALL>
Order Allow, Deny
Deny from all
#Allow from 192.168.0.154     # 古い設定
#Allow from 192.168.0.0/255.255.0.0  #何故か効かない
Allow from 192.168.0.0/16  # この記述で上手く行く
</Limit>

16ビットの指定をこのような記述で書いたら、無事に

192.168.0.0 ~ 192.168.255.255

の範囲に対してFTP接続許可設定が出来た。

まとめ

当記事では、エックスサーバーのアクセス制御を.htaccessファイルで行う場合に、接続を許可あるいは拒否するIPアドレスの範囲指定を行う方法を紹介した。

結論としては、以下のようにサブネットの範囲をビット数で指定する方法で上手く行った。

Allow from 192.168.0.0/16  # この記述で上手く行く

一方、以下のようにサブネット範囲を指定する方式では、何故か効かなかった。

#Allow from 192.168.0.0/255.255.0.0  #何故か効かない

原因は調査中であるが、無事に目的とするアクセス制御をする事が出来たのだ。。

 

と言う事で、ワテは失敗しない。

インターネット界のドクターエックスサーバー(そんなのは無いか⁉)

 

なお、その後気付いたのだが、

ワテの光プロバイダーの場合、アドレスが変化するのは

192.168.xxx.yyy

の末尾の16ビットの部分だ。

の記述は間違いだった。

場合によっては、32ビット全部が変わるのだ。

だから、全てのIPからアクセス可能にしても良いが、それだとセキュリティ的に危険だ。

なので、妥協案としては、以下のように

Allow from 192.168.0.0/16  # この記述で上手く行く
Allow from 192.100.0.0/16  # この記述で上手く行く
Allow from 10.10.0.0/16    # この記述で上手く行く
・・・

新しいIPアドレスに変わる度に、そのIPの下位16ビットはアクセス可能としている。

プロバイダーのグローバルIPって、そんなにコロコロ変わるもんなのか?

変わるとしても、下位16ビットだと思っていたのだが。

ワテが契約しているプロバイダーが特殊なのかも知れない。

スポンサーリンク
コメント募集

この記事に関して何か質問とか補足など有りましたら、このページ下部にあるコメント欄からお知らせ下さい。

VPSエックスサーバー
スポンサーリンク
シェアする
warekoをフォローする
スポンサーリンク

コメント