Показать полную графическую версию : [решено] Сделать доступ к трем сайтам только в рабочее время
Anatoliy2004
08-08-2016, 12:55
Всем привет! Чтоб не начинать новую тему,пишу сдесь о просьбе помощи!!
Итак что у нас есть: свид 3 , написаная конфа для доступа с одного ир адреса, с которонго можно открыть только 3 сайта
Но поступило новое указание от начальства, а именно:
Сделать доступ к трем сайтам только в рабочее время ( с 9-00 до 13-00 и 14-00 до 18-00 ) в остальное время сделать общий доступ к интернету ( доступ ко всем сайтам) с этого ир адреса!
вот конфа:
acl Technolog src 192.168.5.130/24
acl special_url url_regex -i ^http://www.uvk.ua/ua/ ^https://edi.su/ ^https://uk.lardi-trans.com/
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 80 # https
acl SSL_ports port 3128 # https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow CONNECT SSL_ports
http_access allow Technolog special_url
http_access deny Technolog
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
Зарание благодарен за помощь!!!!!
MakaBooka
09-08-2016, 10:26
в чём вопрос-то?
Anatoliy2004
09-08-2016, 10:41
Сделать доступ к трем сайтам только в рабочее время ( с 9-00 до 13-00 и 14-00 до 18-00 ) в остальное время сделать общий доступ к интернету ( доступ ко всем сайтам) с этого ир адреса! »
Anatoliy2004, описываете acl с указанием времени, в Вашем случае будет 5 правил времени,
Рабочее время:
1 - с 9.00 до 13.00
2 - с 14.00 до 18.00
Не рабочее время:
3 - с 13.01 до 13.59
4 - с 18.01 до 23.59
5 - с 0.00 до 8.59
а после эти правила применяете/назначаете
acl worktime1 time SMTWHFA 9:00-13:00
acl worktime2 time SMTWHFA 14:00-18:00
acl noworktime1 time SMTWHFA 13:01-13:59
acl noworktime2 time SMTWHFA 18:01-23:59
acl noworktime3 time SMTWHFA 00:00-8:59
Anatoliy2004
09-08-2016, 11:13
NickM, по правилах с временем я понял! но не могу понять как в нерабочее время этому ир адресу дать полный доступ, тоесть без ограничений!!!???
El Scorpio
10-08-2016, 09:20
не могу понять как в нерабочее время этому ир адресу дать полный доступ »
http_access deny Workstation !WorkSites Worktime_PM
http_access deny Workstation !WorkSites Worktime_AM
http_access allow Workstation
Первая строка запрещает компьютеру открывать все сайты, кроме служебных, до обеденного перерыва
Вторая строка запрещает компьютеру открывать все сайты, кроме служебных, после обеденного перерыва
Третья строка разрешает компьютеру все сайты. Однако эта строка сработает только, когда не сработала ни одна из предыдущих проверок
MakaBooka
10-08-2016, 10:55
А, понятно. Просто нужно было процитировать ман и conf-пример. А я думал что-то конкретное не получается.
El Scorpio
12-08-2016, 03:38
Anatoliy2004, делать нужно так:
строки acl для значений Workstation, WorkSites, Worktime_PM и Worktime_AM вставляете в файл /etc/squid/squid.conf в любом порядке вместе с остальными строками acl в любом порядке
http_access deny Workstation !WorkSites Worktime_PM
http_access deny Workstation !WorkSites Worktime_AM
http_access allow Workstation
вставляете перед другими строками http_access
Принцип блокировки доступа простой: Squid проверяет каждый запрос HTTP по списку http_access в порядке их очерёдности.
Если запрос соответствует всем условиям строки: он или пропускается для строки allow, или же блокируется для строки deny
Если какое-то из условий строки не совпадает, то происходит проверка по следующей строке списка.
В конце списка обычно стоит строка "блокировать всё"
В вашем случае запрос с искомой машины к неслужебному сайту будет запрещены в рабочее время (до обеда и после обеда).
Во всё другое время все запросы с искомой машины будут разрешены.
Все запросы с других компьютеров будут обработаны следующими правилами Squid
Anatoliy2004
20-09-2016, 11:11
Поправьте пожалуйста если чтото сделал не так!!!
acl Workstation src 192.168.5.130/24
acl special_url url_regex -i ^http://www.uvk.ua/ua/ ^https://edi.su/ ^https://uk.lardi-trans.com/
acl worktime1 time SMTWHFA 9:00-13:00
acl worktime2 time SMTWHFA 14:00-18:00
acl noworktime1 time SMTWHFA 13:01-13:59
acl noworktime2 time SMTWHFA 18:01-23:59
acl noworktime3 time SMTWHFA 00:00-8:59
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 80 # https
acl SSL_ports port 3128 # https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access deny Workstation !WorkSites Worktime_PM
http_access deny Workstation !WorkSites Worktime_AM
http_access allow Workstation
http_access allow CONNECT SSL_ports
http_access allow Workstation special_url
http_access deny Workstation
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
El Scorpio
21-09-2016, 01:17
acl special_url url_regex -i ^http://www.uvk.ua/ua/ ^https://edi.su/ ^https://uk.lardi-trans.com/ »
зачем?
url_regex используется, чтобы ограничивать доступ к конкретным страницам сайта по значению строки URL
К тому параметры url_regex не работают для запросов HTTPS, потому что этот протокол передаёт строку URL в шифрованном виде.
Если нужен выбор просто по именам сайтов, используйте параметры dstdomain (для отбора конкретных имён) или dstdom_regex (для отбора по регулярным выражениям)
Внимание: имена сайтов site.com и www.site.com служба SQUID воспринимает, как имена разных сайтов. В параметре dstdomain всегда прописывайте оба варианта написания.
Anatoliy2004
21-09-2016, 11:13
El Scorpio,
В первом посте есть рабочий конфиг, который работает!!!! Тоесть squid пропускает только к этим трем сайтам (http://www.uvk.ua/ua/ ^https://edi.su/ ^https://uk.lardi-trans.com/) 24 часа в сутки!
К тому параметры url_regex не работают для запросов HTTPS, » все работает!!!!
Мне нужно чтоб ограничение это работало только в рабочее время!!! (9-13 и 14-18 ) а в нерабочее был полный доступ ко всем сайтам!!!
El Scorpio
22-09-2016, 01:04
Мне нужно чтоб ограничение это работало только в рабочее время!!! (9-13 и 14-18 ) а в нерабочее был полный доступ ко всем сайтам!!! »
У вас есть нужные строки
acl worktime1 time SMTWHFA 9:00-13:00
acl worktime2 time SMTWHFA 14:00-18:00
и
http_access deny Workstation !WorkSites Worktime_PM
http_access deny Workstation !WorkSites Worktime_AM
просто пропишите названия ACL одинаково
Anatoliy2004
22-09-2016, 11:58
Вот так правильно???
acl Workstation src 192.168.5.130/24
acl special_url url_regex -i ^http://www.uvk.ua/ua/ ^https://edi.su/ ^https://uk.lardi-trans.com/
acl worktime1 time SMTWHFA 9:00-13:00
acl worktime2 time SMTWHFA 14:00-18:00
acl noworktime1 time SMTWHFA 13:01-13:59
acl noworktime2 time SMTWHFA 18:01-23:59
acl noworktime3 time SMTWHFA 00:00-8:59
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 80 # https
acl SSL_ports port 3128 # https
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access deny Workstation !WorkSites worktime1
http_access deny Workstation !WorkSites worktime2
http_access allow Workstation
http_access allow CONNECT SSL_ports
http_access allow Workstation special_url
http_access deny Workstation
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
El Scorpio
23-09-2016, 01:05
http_access deny Workstation !WorkSites worktime1
http_access deny Workstation !WorkSites worktime2
http_access allow Workstation »
Вы думаете, я это "крибле-крабле-бумс" просто так написал?
Вы вообще пробовали понять смысл этих строк конфига, или просто так копипастите?
Неужели вам не понятно, что WorkSites означает список рабочих сайтов?
Если всё-таки не понятно, объясняю.
Первая строка: запретить доступ с компьютеров из списка Workstation ко всем сайтам, которые не входят в список WorkSites, в период времени worktime1 (рабочее время до обеда)
Вторая строка: запретить доступ с компьютеров из списка Workstation ко всем сайтам, которые не входят в список WorkSites, в период времени worktime2 (рабочее время после обеда)
Третья строка: разрешить доступ с компьютеров из списка Workstation
Поскольку директивы http_access проверяются по очереди в заданном порядке до первого полного соответствия, третья строка выполнится, только если не сработали предыдущие строки. Таким образом третья строка разрешает все запросы к "рабочим" сайтам в любое время и доступ ко всем сайтам в "нерабочее" время.
А теперь объясните мне, почему вы задаёте список рабочих сайтов значением special_url и используете это значение в строке, которая никогда не сработает?
P.S.
Кстати да, я уже писал вам о том, что параметр url_regex используется, когда нужно обеспечить проверку по адресам конкретных страниц сайтов.
А если нужно просто проверять сайты, то нужно использовать другие параметры, которые гораздо проще задавать и гораздо быстрее обрабатывать.
Anatoliy2004
23-09-2016, 14:35
а так ???
acl Workstation src 192.168.5.130/24
acl WorkSites dstdomain .uvk.ua .edi.su .uk.lardi-trans.com
acl worktime1 time SMTWHFA 9:00-13:00
acl worktime2 time SMTWHFA 14:00-18:00
http_access deny Workstation !WorkSites worktime1
http_access deny Workstation !WorkSites worktime2
http_access allow Workstation
El Scorpio
27-09-2016, 09:05
acl WorkSites dstdomain .uvk.ua .edi.su .uk.lardi-trans.com »
Имена сайтов нужно писать без первой точки и желательно писать второй раз с префиксом www.. Потому что это разные имена сайтов.
acl WorkSites dstdomain uvk.ua www.uvk.ua и так далее по списку
Anatoliy2004
04-10-2016, 16:03
El Scorpio,
Спасибо большущее всё получилось!!!!!
P/S думаю тема будет актуальна для многих !)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.