第3回「.htaccessを利用したアクセス制限」 | デザインってオモシロイ -MdN Design Interactive-
【サイトリニューアル!】新サイトはこちらMdNについて

ホスティングサーバ スキルアップ講座

no3_2



Webサイトと切っても切り離せないサーバ。あなたはサーバについてどれだけのスキルを持っているだろうか。ここでは読者アンケートを基にWeb制作者のサーバに関する悩み、疑問を取り上げ、Webクリエイターとして知っておきたいサーバの知識を解説していく。今回はサーバの設定を安全に、また柔軟に使いこなすための.htaccessを利用したアクセス制限方法を紹介する。


文=編集部、中村 南 監修=角 俊和((株)KDDIウェブコミュニケーションズ)



[INDEX]
>>>  第1回 アンケートの集計結果発表!
>>>  第2回 パーミッションの意味と使い 分け
>>>  第3回 .htaccessを利用したアクセス制限


今月のラインアップ

ホスティングサーバ スキルアップ講座

@NextStyle 専用サーバーサービス

ハイパーボックス 専用サーバサービス「blue box」



【ホスティングサーバ スキルアップ講座】
第3回「.htaccessを利用したアクセス制限」


.htaccessとは?

「.htaccess」は「ドットエイチティーアクセス」と読み、Webサーバ上のファイルやディレクトリに対し、ディレクトリ単位でアクセス制限や転送などを設定できるものだ。頭に「.」(ドット)がつくが、「.txt」や「.jpg」のような拡張子ではない。 Webサーバで使われているOSのUnixでは、Windowsのようにそもそも拡張子という概念がないため、あくまでほかのファイルと区別するためのものだと理解しておこう。Webサーバは非常に多くの機能が備わっているが、これに対して.htaccessを使ってディレクトリごとにWebページの用途に合わせた適切な設定をする。通常、Webページの設定はApachで定められているが、.htaccessを使うとApachと違う設定にもできる。



基本的な使い方

.htaccessを使うとさまざまなことができるが、まずは基本的な扱い方を覚えておこう。テキストエディタを開いて、設定を書き込んでファイルを保存する。このとき、「.htaccess」という名前のファイルをつくろうとするとMa cやWindows上では「.」以前がないファイルはできないため、「.htaccess.txt」とリネームされたり、ファイルが消えて見えなくなる場合がある。このため、まずローカルでは「a.htaccess」など仮の名前で消えないファイルをつくり、FTPでサーバにアップロードしたあとに名前を変更するのが一般的だ【1】。FTPでつくったファイルが見えなくなったら、「FFFTP」であれば表示メニュー→“.で始まるファイルを表示”を選択するなどしてFTPクライアントの設定を確認しよう。パーミッションはデフォルトの「64 4」(もしくは604。Webサーバの設定によって異なる)のままでよい。

次に.htaccessの適用範囲だが、たとえば【2】のように.htaccessを置いた場合、同じ階層にあるファイルやディレクトリとそれ以下のすべてのものに適用され、ここでは「index.html」とcss、img、jsの3つのディレクトリ、およびその下にあるディレクトリとファイルが影響を受ける。ちなみに、.htaccessを置いた階層より下の階層に.htaccessを置くこともできる。その場合、親ディレクトリの.htaccessの設定を引き継ぎ、これに子ディレクトリの.htaccessの設定が追加・変更され、優先順位としては子ディレクトリの.htaccessのほうが上になる。

記述の際には、スペースは半角を用い、全角スペースはエラーが出るので使わない。また、半角「#」を行頭につければコメントも付けられる【3】。「#」をまちがって行中や行末につけるとエラーになるので注意しよう。 重要な注意点がある。まず、「#」のコメント表記も含め.htaccessは記述を少しでもまちがうと、影響下にあるファイルやディレクトリがすべて「Internal Server Error(内部サーバエラー)」になる。さらに、これによってアクセスの多いサイトならすぐにエラーログが大量にたまり、サーバに著しい負荷をかけて深刻な事態を招くことがあるので慎重に扱おう。




【1】

1

.htaccessは仮の名前でテキストファイルをつくって、FTPでサーバに上げてから「.htaccess」にする



【2】

2

.htaccessを置いた同じ階層以下のディレクトリとファイルがその影響を受ける


【3】

3

「#」を行頭につけるとコメントアウトできる。行頭以外につけるとエラーになるので注意



.htaccessで認証制限ページを設定する

.htaccess を使うと、たとえばFile Not Found(404)ページのカスタマイズ、SEO対策などのために.phpのページを.htmlとして振る舞う、特定のIPアドレスやプロバイダからのアクセスを制限するなど、数えきれないほどさまざまなことができる【4】

まずは、【5】のようなIDとパスワード画面を出すアクセス制限の設定方法を解説しよう。認証制限には「Basic」と「Digest」の2種類がある。「Basic」は入力されるIDとパスワードを特に暗号化せず、「Digest」は暗号化するという違いがある。以前は対応するブラウザの関係で「Digest」が使いづらかったが、現在はほとんどのブラウザが対応しているので「Digest」の使用に問題はない。簡易のアクセス制限ならばBasicでよいが、ある程度きちんと守らなければならない情報を扱うのであればDigestを使おう。

まずテキストエディタを開いて【6】のように書き込む。1行目「AuthUserFile」はIDとパスワードが入った「.htpasswd」というファイルの場所。2行目「AuthGroupFile」は、グループごとにアクセスを許可する場合に用いる。「/dev /null」とはそのようなファイルは存在しないという意味になる。「AuthName」はダイアログで表示するメッセージだ。「AuthType」は先ほどのBas icかDigestを入れる。さらに【6】に続けて【7】のように書き、ブラウザから「.ht」で始まるファイルにアクセスできないようにする。ホスティングサーバによってはあらかじめそのような設定がされているところもあるが、念のため設定しておこう。

次にIDとパスワードの入ったファイル「.htpasswd」をつくる【8】。「:」の前にID、後ろにパスワーを入れる。厄介なのはここに書いてあるパスワード「Y1mvjtpAMjCV.」が実際の認証画面で入力するパスワードではないということだ。ちなみにもともとのパスワードは「201003」だ。サーバにおける暗号化の設定によって文字が変換され、.htpasswdに書くのはその変換された文字列のほうなのだ。この文字列はサーバサイドに打ち込んで吐き出すのが本来のやり方だが、残念ながらこれはサーバをそれなりに扱える人でなければ難しい。その場合はWebにIDとパスワードを自動生成するサービスがあるのでこれを利用して変換しよう。

ただし、この暗号化もいくつかのパターンがあるため、自動生成サービスの変換パターンが自分の使用するサーバのものと同じとは限らず使えない場合もある。そのときは別のサービスを使用するなどして対処しよう。また、一部のホスティングサーバでは、暗号化文字列や.htpa sswdファイルを生成してくれる機能を搭載しているところもあり、このようなサービスを使うのもお勧めだ。

できた.htaccessを先ほどの方法で認証をかけたいページのところへアップロードする。.htpasswdは安全を期すため、なるべくWWWより上の階層(Webサーバではない部分)に置いておきたい。これで、.htaccessのある階層以下のファイルにブラウザでアクセスすると、認証画面が現れる。




【4】

4_2

.htaccessを使ってできることの一例。アクセス制限のほかにも、7行目以降のようないわゆる「転送系」と呼ばれるものもある


【5】

5

Internet Explorerでの認証ダイアログの表示


【6】

6

3行目の認証画面に表示されるメッセージは半角「"」で囲う。日本語も使用できる


【7】

7

「.ht」で始まるファイルへのアクセスを禁止する設定。これで、.htaccessと.htpsswdにブラウザからはアクセスできないようになる


【8】

8

「:」の前がID、後ろがパスワードになる。改行すればIDとパスワードのセットを複数設定できる(ここでは例としてID 「webcreators」パスワード「201003」とID 「mdn」パスワード「201004」の二組を記載している)



ブラウザ経由のアクセスを全拒否する

次に、サーバにあげたファイルに対して、ブラウザ経由のアクセスをシャットアウトする方法だ。CGIで書き出した CSVファイルの保護や大きなファイルのやりとりなどに利用できる。テキストエディタに【9】のように書き、.htaccessファイルを作成してサーバにアップする。「.dat」と「.log」の間は区切るために半角「|」を入れる。このように書くことで「.dat」、「.log」、「.csv」のデータにはブラウザからはアクセスできなくなる。ただし、 CGIのようなプログラムはブラウザではないのでアクセスができ、CGIからのデータの書き込みは問題なくできる。

ほかにもさまざまなアクセス制限ができるので、興味があれば調べてみよう。.htaccessの基本的な扱い方がわかれば、.htaccessのさまざまな設定を自動生成してくれるツールもあるのでいろいろトライできるだろう。

最後に注意点だ。.htaccessを使えばさまざまなアクセス制限ができるということは前述のとおりだが、完璧ではないことをつねに頭に入れておこう。 IDやパスワードといったものは時間をかけて総当りすればだいたい破られてしまうし、データがそこに存在する以上は 100%確実に守れる方法というのは存在しない。また、うっかり.htaccessを消してしまった・書き換えてしまった、というミスも起こりうる。便利にどんどん活用すると同時に、守らなくてはならない場所に本当に見られては困るデータを置いておかないという根本的なことを忘れないようにしたい。




【9】

9

拡張子を半角「|」で区切ると、それがつくファイルはブラウザから閲覧できなくなる





 hostingguide01_2

nextstyle

最高レベルのセキュリティ対策を
全プランに標準装備

@NextStyle
専用サーバーサービス


URL:www.wadax.ne.jp
株式会社ワダックス


フルマネージのオプションで
手軽なサーバ運用を実現

セキュリティ企業大手であるセコムトラストシステムズ㈱との提携による、外部からの定期的なセキュリティ診断の実施。すばやいセキュリティアップデートを受けられる商用Linux 「RedHat Enterprise Linux」の標準採用など、万全のセキュリティ対策を誇る「@NextStyle専用サーバサービス」だが、簡単操作でサーバを管理できる専用ツール「Plesk」が標準で付属。また、サーバ作業代行をスポットで依頼できるなど、運用面の負担が少ないのも大きな特徴といえる。フルマネージによる24時間のサーバ監視・運用オプションが提供されており、セキュリティアップデートやメール・ポート監視、脆弱性診断などをまとめて委託してしまうことも可能だ。



万全のサポート体制で
トラブル解決までを徹底サポート

サポート面では、夜間や休日の対応も行うフリーダイヤルの電話窓口が設置されているのはもちろん、たとえばユーザーが組み込んだ Webアプリケーションに起因する技術的なトラブルであっても、徹底的に原因を究明して復旧する「サポートパック」サービス(オプション)が提供されるなど、業務に与える影響を最小限にとどめるための体制が確立されている点は見逃せない。

なお利用プランは低価格な「エントリープラン」から、RAID6に対応した「スーパーハイエンドRAIDプラン」までの6モデルが用意されており、いずれもクラッキングやDoS攻撃の被害を防ぐための不正侵入検知防御システム(IPS)を標準で採用。専用ファイヤーウォールやセキュリティアプライアンスといった、セキュリティ関連のオプションも充実している。いずれのプランも入金から一営業日でのサーバ稼働に対応するほか、今なら期間限定でサーバ初期費用が半額となるキャンペーンが実施されており、乗り換えを検討するチャンスといえる。特に、ミッションクリティカルなWebサービスの運用を前提としているクライアントには最適といえるだろう。




専用
コース
サービス名
初期費用※
月額
ディスク容量
CPU
メモリ
OS
専用サーバー
エントリープラン
36,750円
18,900円
SATA
160GB
Celeron
1GB
RedHat
Enterprise
Linux
専用サーバー
スタンダードプラン
68,250円
29,400円
SATA
250GB
Core2Duo
4GB
専用サーバー
スタンダード
RAIDプラン
76,125円
34,650円
RAID1
(SATA
250GB×2)
Core2Duo
4GB
専用サーバー
ミドルRAIDプラン
99,750円
39,900円
RAID1
(SAS
500GB×2)
Xeon
4GB
専用サーバー
プロフェッショナル
RAIDプラン
168,000円
45,150円
RAID1
(SAS
1TB×2)
Xeon
8G

※初期費用50%OFFキャンペーン実施中



hitokoto


WADAXのフルマネージド・セキュリティパックなら日常的なサーバーの監視や、複雑なサーバ管理、サーバ障害時の切り分け、それに復旧作業も、すべてWADAXで対応します。「専用レンタルサーバを使いたいが、さまざまな問題があって使えない」という方はぜひ一度ご相談ください。






 hostingguide02_2

domainkeeper

「初期導入費0円キャンペーン」で初期費用と
最大2カ月の利用料金が無料に

ドメインキーパー
専用サーバサービス「blue Box」


URL:www.bluebox.ne.jp/
株式会社ハイパーボックス


ハイパフォーマンスを
手ごろな価格で利用できる

業界トップクラスのパフォーマンスと、低価格を実現する専用サーバサービス「blue Box」では、スタンダードモデルからホットスワップに対応したハイエンドなRAID6採用モデルまで、幅広いサーバラインアップを提供。サーバ機のカスタマイズ性が高く、ハードディスク構成やメモリ容量を自由にアップグレードできるため、最低限の予算で必要なサーバ能力を手に入れることが可能となっている。インターネット接続回線に関しても標準の「10Mbpsの共有回線」から「100Mbps専有回線」まで、4段階の回線オプションを用意。 10Mbpsの専有回線が月額1万500円で提供されるなど、高品質な国内回線を低価格で利用できるのも特徴だろう。また、あらゆるトラブルに即日対応できる無料電話窓口が、24時間365日体制で提供される、業界トップクラスのサポートにも注目したい。

なお同社では、創業10周年を記念して2010年4月16日まで期間限定で「初期導入費0円キャンペーン」を実施。指定モデル(SV-3101、SV- 3201、SV-3301)のサーバ初期費用が無料になるだけでなく、6カ月契約ならば月々の利用料金が5%OFFかつ1カ月分無料に、12カ月契約ならば10%OFFかつ2カ月分が無料になるなど、文字どおり0円でのサーバ構築が可能となっている。



各種オプションも
0円キャンペーン対象に

24時間のサーバ監視と障害時の一次復旧を行う「一次復旧」サービスや、セキュリティアップデートやバックアップを含むフルマネージの保守契約である「マネージド」サービスなど、運用サポートオプションの充実もblue Boxの魅力だが、キャンペーン期間ならばこれらオプションも初期費用+最大2カ月分の利用料金が0円となる(サーバ新規導入時に限る)。加えてファイヤーウォールやVPN、SSLサーバ証明書インストール代行といったセキュリティ関連オプションも0円キャンペーンの対象となっており、新規導入や移転のコストを大幅に抑えることが可能だ。



専用
コース
サービス名
初期費用
月額※2
ディスク容量
CPU
メモリ
OS
bule Box
SV-3101
無料※1
18,900円
最大2カ月無料
SATA 160GB×2
(RAID1)
Pentium
Dual-Core
E5300
2.6GHz
2GB
CentOS 5、
FreeBSD 6、
TurboLinux
11 Server、
TLA
2.0/3.0、
Red Hat
EL5、
Windows
Server 2003
など
bule Box
SV-3201
無料※1
26,460円
最大2カ月無料
SATA 500GB×2
(RAID1)
Core2 Duo
E7500
2.93GHz
4GB
bule Box
SV-3301
無料※1
30,240円
最大2カ月無料
SATA 500GB×2
(RAID1)
Quad-Core
XeonX3370
3.0GHz
4GB
bule Box
SV-5201
52,500円
47,250円
最大2カ月無料
SAS 73GB×4
(RAID6)
Core2 Duo
T9400
2.53GHz
4GB

※1 2010年4月16日まで「初期費用導入費0円キャンペーン」実施中 
※2 12カ月契約の場合



hitokoto

弊社は今年で10周年を迎えることができました。お客さまの日ごろのご愛顧に感謝の気持ちを込めて、初期導入費用を0 円にてご提供いたします! 今までの経験を多くのお客さまにご利用いただけるよう、慢心することなく0から新たな気持ちでサービスをご提供してまいります。




 

 

twitter facebook このエントリーをはてなブックマークに追加 RSS
【サイトリニューアル!】新サイトはこちらMdNについて

この連載のすべての記事

アクセスランキング

8.30-9.5

MdN BOOKS|デザインの本

Pick upコンテンツ

現在