LinuxForum.Fans
Тема

[решено]Вопрос по SQUID

Автор: Cruiser78 6 сообщений 3172 просмотров
#151570

Коллеги, помогите разобраться со сквидом. А именно:

Есть политика, которая запрещает качать из интернета исполняемые файлы. Определена в файле bad_url регулярной строчкой \.(iso|exe|com|vbs)($|\?). И правило в конфиге сквида: http_access deny bad_url !full_access. Все это работает, сквид исполняемый код на юзерский компьютер не пускает. Однако....

Однако, есть в сети некоторые сайты (например, [url] www.p109.spb.ru[/url]) где на элементы управления (кнопки) повешены cgi-скрипты, но не просто скрипты, а exe-шки. Соответственно сквид эти запросы (по bad_url) отбраковывает. Юзеря жалуются...

Можно, конечно, поместить такой сайт в список доверенных и работать с ним дальше, но... Это не наш путь, потом возникнет второй такой сайт, потом третий... Заниматься тем, что постоянно их помещать постфактум в список доверенных?... Не наш путь, нам надо настроить сквид так, чтобы исполняемый код (exe и иже с ним, вредоносное) на пользовательский компьютер по http не лезло, но cgi-скрипты, как бы они не были названы, исполнялись на WWW-сервере. Такое возможно?

=============================
После ряда экспериментов решение пришло такое:

text

acl POST method POST
http_access deny bad_url !full_access !POST

Где full_access - файлик с адресами компьютеров, которым нет ограничений (админские).

#151572

Cruiser78, надо будет делать белый список, иначе ни как.

Cruiser78 написал:
exe-шки

имхо - идиотский подход какой-то oO

#151580
i2ks написал:
надо будет делать белый список, иначе ни как.
имхо - идиотский подход какой-то oO

Белый список надо постоянно поддерживать (он изначально не полон), а это не есть хорошо. Это перое.
Второе - не вижу ничего идиотского в том, чтобы заблокировать прохождение потенциальноопасного или вредогносного кода на рабочие места пользователей с недоверенных, произвольных, сайтов.
Третье - по http-протоколу есть два основных слова для передачи URL - GET и PUT(POST). Соответственно по GET екзешник захочет приехать на компьютер запросившего, а по методу POST - исполняется на удаленном сервере (cgi). Верно? Так вот мне и нужно, чтобы по GETу скачивание блокировалось, f по POSTу - команда проходила без проблем.
Я делаю первой записью в правилах:

text
acl POST method POST
http_access allow POST  

Увы, но не срабатывает....

#151586
Cruiser78 написал:
Третье - по http-протоколу есть два основных слова для передачи URL - GET и PUT(POST). Соответственно по GET екзешник захочет приехать на компьютер запросившего, а по методу POST - исполняется на удаленном сервере (cgi). Верно?

Не надо путать соленое и горячие.

метод get используется для запроса содержимого указанного ресурса или для начала какой-либо процесса.
метод post это совсем иное, применяется для форм отпарки каких либо запросов, или загрузки файлов на сервер.
метод put чем то схож с post, но там методы немного разные, сейчас точно не помню.

#151587

И какое решение то было? oO

#151602
i2ks написал:
И какое решение то было? oO

Я по привычке дополнил первый пост.
Метод решения стандартный - читаем логи сквида, ищем строку, где возниккт блокировка ( в моем случае с методом POST URL). Ну и корректно (после нескольких пробных итераций) разрешаем "плохие" URL для метода POST. В результате - exe-cgi на проблемном сайте работают, никаких белых списков с доверенными сайтами, и юзерям относительно никак исполняемый код ( GET http://....exe) не получить.

Войдите или зарегистрируйтесь, чтобы ответить.