助け合いフォーラム

LinuC

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の設定例について

公開日 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行目の意義は、想定外のマッチをさせないため(念の為)や、制御の意図を明確にするため、あるいは、
より単純な条件でふるい落としておくことで処理の負荷を下げる、などの理由ですかね。

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行目が必要 ということですね。理解できました。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?