助け合いフォーラム
LinuC Lv2-202(Ver10.0)
問題ID : 22831
問題を開く
以下のようにsquid.confを設定したとき、正しく説明しているものはどれか。(2つ選択)
acl all src 0.0.0.0/0.0.0.0
acl localmembers src 192.168.10.0/255.255.255.0
acl SSL port 443
acl OK_port port 80 443
acl CONNECT method CONNECT...
この問題はプレミアムコンテンツです。
本文のhttp_accessの設定例について
m
miki_y
公開日 2024/09/01
本文の解説の以下抜粋部分について、
・localmembers(192.168.10.0/24に属しているクライアント)からのOK_port(80,443)でのアクセスを許可(この条件は2つacl名が並んでいるため、AND条件となっています。)
・OK_port(ポート番号が80,443)以外へのアクセスを禁止
・CONNECTメソッド(プロキシにトンネリング通信を要求するメソッド)を使った通信をSSL(443)以外禁止
・clients(ドメイン名がtest.com)からのアクセスを許可
・eigyobi(月曜日から金曜日の9:00から18:00)の間アクセスを許可
確かに、http_access設定の3行目「http_access deny CONNECT !SSL」は
「CONNECTメソッド(プロキシにトンネリング通信を要求するメソッド)を使った通信をSSL(443)以外禁止」しているのは理解できます。
これに対し、http_accessの2行目は「http_access deny !OK_port(80,443)」ですが、
ポート80 は 3行目の方で拒否される運命なので、2行目はどちらかといえば「http_access deny !SSL(443)」のほうが
適切だと考えましたがいかがでしょうか。
もっと言えば、3行目でポート443以外の利用はどうせ拒否されるので、2行目そのものが不要ということはないですか?
2行目の意義は、想定外のマッチをさせないため(念の為)や、制御の意図を明確にするため、あるいは、
より単純な条件でふるい落としておくことで処理の負荷を下げる、などの理由ですかね。
t
tiskw
2024/09/02 21:08
2行目と3行目はアクセス制限している目的が異なるので、どちらも必要かと思われます。
2行目はポートの制限で、この行がないとFTP(21)やSSH(22)を使ったアクセスを弾けません
3行目はCONNECTメソッドの場合はSSLだけを許可しているので、トンネリングしない通信への言及はありません
例えば、2行目との複合で、HTTP(ポート80)で GETしようとするのは許可されるはずです。
コメント
この投稿に対して返信しませんか?
m miki_y
2024/09/02 22:47
ありがとうございます。 ご指摘をふまえ3行目 http_access deny CONNECT !SSL を見ると、 (CONNECT) かつ (SSLでない) 場合は拒否される =>つまり、(CONNECTでない)または(SSL)場合は許可されてしまう、 (以降の行へ評価が移る) =>そんな場合でも、前提としてポートはHTTP(80)か4SSL(43)に限定したい から2行目が必要 ということですね。理解できました。