Bug 26281 - Некорректно настраивается squid из вебинтерфейса
Summary: Некорректно настраивается squid из вебинтерфейса
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: alterator-squid (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Anton V. Boyarshinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-12 12:10 MSK by Andrey Prokopyev
Modified: 2011-09-15 14:45 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Prokopyev 2011-09-12 12:10:44 MSK
Путем длительных экспериментов выяснил следующее:
alterator-squid работает некорректно!
Начало эксперимента:
1. на чистую машину поставил Школьный сервер 5.0.2
2. обновился методом: apt-get dist-upgrade
3. не без геммороя подключил USB modem ZTE MF112 (эти танцы с бубном опишу отдельно)
4. настроил через веб интерфейс: домен, пользователей (2-х admin и user). Групп не создавал! Аутентификация - kerberos+PAM
5. отключился от офисного шлюза и проверил прокси - работает и везде пускает! (у всех пользователей стоит разрешить доступ, поля, где надо указывать домены - пустые)
Собственно эксперимент:
6. группе "все пользователи" назначаю политику "запретить доступ", сохраняю параметры. Потом в консоли:
Код: [Выделить]

[root@comp-Core2-Duo-e031a0 ~]# service squid restart
Stopping squid service:                                                 [ DONE ]
Starting squid service: 2011/09/10 21:07:27| aclParseAccessLine: ACL name '' not found.
FATAL: Bungled squid.conf line 687: http_access allow all !
Squid Cache (Version 3.0.STABLE19): Terminated abnormally.
CPU Usage: 0.024 seconds = 0.008 user + 0.016 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
                                                                        [FAILED]

7. Возвращаю обратно политику - все ОК, работает!
8. то же самое происходит и с группой "авторизованные пользователи", только ошибка конфига в другой строке, но суть та же - восклицательный знак в конце строки, а должен быть перед аргументом.
9. для группы "admin" устанавливаю политику "запретить доступ" указываю домен ".1clab.com .google.ru"
после перезапуска сквида есть доступ везде, в том числе и на закрытые домены
10. меняю политику на разрешить доступ доступа нет никуда, в том числе и на эти домены.
11. ставлю значения, как были по умолчанию, политика "разрешить" , список доменов очищаю. После перезапуска сквида доступа у пользователя admin нет никуда.
12. меняю политику на запретить - доступа нет!
13. удаляю пользователя admin, группа админ исчезает в списке групп, а в настройках прокси становится группой "#f" и не удаляется!
14. создаю пользователя admin, доступа в интернет нет!!!

Собственно, мне кажется, нужно предусмотреть возможность удаления групп в альтераторе сквида и скорректировать формирование правил 
Еще, желательно более внятную справку по формированию правил контроля доменов, ни в документации, ни во встроенной справке я информации не нашел. Поэтому и начал экспериментировать!
Comment 1 Andrey Cherepanov 2011-09-12 15:04:31 MSK
На конкретный пакет.
Comment 2 manowar@altlinux.org 2011-09-14 00:05:42 MSK
Спасибо за сигнал — буду разбираться.
Comment 3 manowar@altlinux.org 2011-09-15 14:35:24 MSK
С первой частью, до п.9, разобрался — восклицательный знак перед пустым списком доменов появляться не будет.

А вот по второй части указанной проблемы, пп. 9 и 10, есть сомнения в чистоте эксперимента: те пользователи из группы admin, которым был запрещён доступ к указанным доменам действительно запрашивали доступ как аутентифицированные пользователи? Я только что посмотрел правила доступа, которые формируются в указанном случае:

http_access allow manager localhost
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports !SSL_ports
http_access deny CONNECT !SSL_ports
http_access deny !our_networks
http_access deny AUTHENTICATED adm-group adm-domains
http_access allow AUTHENTICATED
http_access allow all
http_access deny all

Насколько мне известно, правило

http_access deny AUTHENTICATED adm-group adm-domains ,

если оно соответствует запросу, должно запретить доступ. При этом любые последующие правила не принимаются в расчёт.

П. 11 не воспроизводится: разрешающая политика возвращается.

Дальше не смотрел. Предлагаю рассмотреть проблемы взаимодействие между модулем управления группами и модулем прокси в отдельной заявке.
Comment 4 Repository Robot 2011-09-15 14:45:53 MSK
alterator-squid-1.2-alt14 -> sisyphus:

* Thu Sep 15 2011 Paul Wolneykien <manowar@altlinux> 1.2-alt14
- Do not output empty ACLs (closes: 26281).