LINUX.ORG.RU
ФорумAdmin

Передавать решение браузеру при перехвате ssl в squid

 ,


0

2

В общем, судя по гуглению того, что я хочу невозможно, но для очистки совести спрошу коллективный разум.

Дано: squid в котором идёт перехват ssl соединений с генерацией сертификатов на лету. Всё хорошо, пока мы ходим только на сайты с хорошими сертификатами, которые есть в бандре openssl. Но стоит нам пойти на сайт со, скажем, самоподписанным сертификатом и всё становится печально.

У нас есть выбор: Или мы настраиваем squid чтобы он игнорировал ошибки и тогда весь смысл ssl теряется, потому что он радостно подписывает любой сайт. Или мы велим ему обрывать соединение и тогда мы на такой сайт не попадём.

Хотелось бы организовать вариант, как в браузере, чтобы пользователь мог решать - смотреть или ну его на фиг.

Варианты реализации есть. Например, в таких случаях squid мог бы просто пропускать соежинение прозрачно, не обрабатывая или генерировать ему самоподписанный сертификат или подписывать его вторым сертификатом, а нормальные сайта - первым. Тогда в клиентские браузеры можно было бы установть только первый конневой сертификат и получать предупреждение для второго.

Но похоже squid не может ни один из перечисленных случаев и даёт только выбор между всё пропускать и всё блокировать. (Варианты исключений на основе acl) не рассматриваем, ибо не править же конфиг при каждом чихе?

Я прав? Вариантов нет?

★★★★★

Встроенными средствами не получится. Но, думаю, можно сколхозить что-то своё.

Например:

1. Прикручиваем к сквиду через external_acl_type и самописный скрипт дазу банных, в которой будут лежать строчки (юзер, домен). К этому аклу привязываем исключения - чтобы он проверял наличие пары (юзер, домен) в БД и в случае наличия отвечал OK, в ином случае ERR.

Подробнее про них тут: http://www.squid-cache.org/Versions/v3/3.5/cfgman/external_acl_type.html

2. Делаем некий скрипт на сайте во внутренней сети, зайдя на который и авторизовавшись (apache+mod_krb5 тот же - у тебя ведь прозрачная авторизация?) юзер может добавить себе этот сайт в исключения (создать запись в таблице (юзер, домен))

3. На странице-заглушке которая выводится при посещении домена с кривым сертификатом сделать ссылку на этот скрипт, типа http://squid.domain.ru/bypass.php?domain=blah.ru (юзернейм брать из апача после авторизации)

4. После добавлений в исключения сделать обратный редирект из этого скрипта по referer или ещё как на оригинальный сайт, который уже должен быть доступен (тут нужно поиграться с кешем у external_acl)

ЗЫ: Взято из головы, сам не делал, может не работать по множеству причин.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

у тебя ведь прозрачная авторизация

У меня пока никакой нет. В виртуалке конфиги ковыряю. Хочу для мобильника vpn сделать. Типа, с него в инет, оттуда домой, дома squid + zipproxy + баннерорезки и т.д. :)

atrus ★★★★★
() автор топика
Ответ на: комментарий от anonymous

а вот и фсбешники подъехали

Сначала по диагонали прочитал фрибсдшники. Долго думал. :)

atrus ★★★★★
() автор топика
Ответ на: комментарий от atrus

зонд от оперы делает тожесамое,для мобилок да

уверен что и мобильный хром и фф могут

неясно зачем так извращаться

anonymous
()
Ответ на: комментарий от anonymous

Сами пользуйтесь зондами от непойми кого. А у меня параноя. Могу справку показать. Ну, или нет...

atrus ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.