Apache&Squidアクセス制御/ユーザー認証の設定:実践でも役立つLPICドリル(11)(3/4 ページ)
本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。
■演習問題
ポイントを押さえたら、演習問題に挑戦してみましょう。問題ごとに、LPIC試験での重要度を記載しています。試験を受ける際の参考にしてください。
問題1
WebサーバApacheの設定ファイルhttpd.confでアクセス制御を行います。次の設問に答えてください。
(設問1)httpd.confに次のような記述があります。この設定についての正しい説明はどれですか?(1つ選択)
<Directory /var/www/html/school> Order Deny,Allow Deny from All Allow from .sr2.knowd.co.jp </Directory>
a.ホストsr2.knowd.co.jpからのアクセスのみを許可する
b.ドメインsr2.knowd.co.jp内のホストからのアクセスのみを許可する
c.すべてのアクセスを拒否する
d.ドメインsr2.knowd.co.jp内のホストからのアクセスのみを拒否する
(設問2)httpd.confに次のような記述があります。この設定について、および関連する作業について正しい説明はどれですか?(3つ選択)
<Directory "/var/www/html/school"> AuthType Basic AuthName "Students only" AuthUserFile /var/www/htpasswd Require valid-user </Directory>
a.基本認証の設定である
b.ダイジェスト認証の設定である
c./var/www/htpasswdにユーザーを登録するにはhtpasswdコマンドを使用する
d./var/www/htpasswdにユーザーを登録するにはuseraddコマンドを使用する
e./var/www/htpasswdに登録されたすべてのユーザーが認証の対象となる
f./var/www/htpasswdに登録されたすべてのユーザーのうちパスワードを設定してあるユーザーだけが認証の対象となる
(設問3)(設問1)と(設問2)の設定を同じディレクトリ/var/www/html/schoolに対して行った場合、ホストへの許可とユーザー認証のどちらかの条件を満たせばアクセスを許可する設定にします。必要な記述はどれですか?(1つ選択)
a.Limit Any
b.Limit All
c.Satisfy Any
d.Satisfy All
正解
(設問1)b
(設問2)a、c、e
(設問3)c
解説
(設問1)
選択肢aは、sr2の左に.(ピリオド)があるのでsr2はホスト名ではないので間違いです。
選択肢cは、Order Deny、Allowにより、Allowが設定されるので間違いです。
選択肢dは、.sr2.knowd.co.jpがAllowで許可されているので間違いです。
(設問2)
選択肢aは、AuthType Basicの記述があるので正解です。
選択肢bは、AuthType Basicの記述があるので間違いです(ダイジェスト認証はAuthType Digestと指定します)。
選択肢cは、ユーザーの登録はhtpasswdコマンドで行います。正解です。
選択肢dは、useraddではユーザー登録はできないので間違いです(useraddはシステムのアカウントを登録するコマンドです)。
選択肢eは、Require valid-userの記述があるので正解です。
選択肢fは、Require valid-userの記述があるので間違いです。
(設問3)
Limitはアクセス制御の適用を特定のHTTPメソッドのみに制限するディレクティブなので、選択肢aと選択肢bは間違いです。
選択肢cは、Satisfy AnyでAllowで許可されるか、Requireで認証されるか、どちらかであればアクセスを許可する設定なので正解です。
選択肢dは、Satisfy AllでAllowで許可されてかつRequireで認証される場合にアクセスを許可する設定なので間違いです。
問題2
プロキシサーバSquidの次のような設定ファイルsquid.confがあります。その記述についての説明で正しいものはどれですか?(3つ選択)
acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 acl Safe_ports port 80 acl Safe_ports port 443 acl Safe_ports port 1025-65535 acl CONNECT method CONNECT acl evilSite url_regex "http://.*\evil\.com" http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access deny evilSite http_access allow localhost
a.ローカルホストからHTTPサーバへのアクセスは拒否される
b.ローカルホストからFTPサーバへのアクセスは拒否される
c.ローカルホストからキャッシュオブジェクトへのアクセス(cache_object://localhost/objects)は拒否される
d.ローカルホストからwww.evil.comへのアクセスは拒否される
e.ローカルホスト以外のホストからのアクセスは拒否される
正解
b、d、e
解説
選択肢aは、acl Safe_ports port 80、http_access deny !Safe_ports、の記述により、80番ポートへのアクセスは拒否されず、http_access allow localhost、の記述によりローカルホストからのアクセスは許可されるので間違いです。
選択肢bは、http_access deny !Safe_ports、の記述によりSafe_portsに含まれない21番ポートへのアクセスは拒否されるので正解です。
選択肢cは、http_access allow manager localhostの記述により許可されるので間違いです。
選択肢dは、acl evilSite url_regex "http://.*\evil\.com"、http_access deny evilSiteの記述により拒否されるので正解です。
選択肢eは、最終行がallowなので、デフォルトの動作はhttp_access deny allとなり、それまでにallowされていないすべてのアクセスは拒否されるので、正解です。
Copyright © ITmedia, Inc. All Rights Reserved.