• dst
• port
• proto
• method
POST, GET и т.д.; • proxy_auth
REQUIRED, чтобы принимались любые авторизованные записи (acl password proxy_auth REQUIRED); • url_regex
• time
h1:m1-h2:m2. С помощью такой записи можно ограничить доступ только определенными днями недели и обусловленным временем. В качестве дней недели можно указывать: S — Sunday, M — Monday, T — Tuesday, W — Wednesday, H — Thursday, F — Friday, A — Saturday.В файле конфигурации уже описано несколько правил, которые готовы к использованию и в большинстве случаев не требуют вмешательства. Их вы можете увидеть в листинге 9.1.
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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
Это список прав доступа, необходимых для минимальной работы прокси-сервера.
Рассмотрим первую строку. Здесь задается acl
all. Так как используется тип шаблона src, то этому списку принадлежат юзеры, у которых IP-адрес соответствует 0.0.0.0/0.0.0.0, т.е. все пользователи.Следующая строка создает ACL-запись с именем manager
proto, а последний параметр задает протокол — cache_object. И так далее.Давайте попробуем задать свою ACL-запись. Допустим, что в вашей сети есть 10 компьютеров с адресами от 192.168.8.1 до 192.168.8.10 (маска подсети 255.255.255.0), которым разрешен доступ к Интернету. Всем остальным нужно запретить.
Уже при создании списка вы должны отталкиваться от идеи, что изначально доступ запрещен всем, и позволять только тем, кому это действительно нужно. Итак, строка для всех у нас уже есть, и ее имя all
AllowUsers, и ее описание будет следующим:acl AllowUsers src 192.168.8.1-192.168.8.10/255.255.255.0
Эта запись относится к типу src
9.4.2. Определение прав
После описания списков можно указать права доступа для каждого из них с помощью следующих команд:
□ http_access разрешение имя
разрешение можно указывать allow (доступ разрешен) или deny (доступ запрещен). Последний аргумент — это имя ACL-записи. В следующем примере запрещается доступ по протоколу HTTP всем пользователям, кроме указанных в ACL-записи AllowUsers:http_access deny all
http_access allow AllowUsers
Указав права доступа для списка AllowUsers, мы одной строкой даем разрешение для всех компьютеров, входящих в данный ACL. Таким образом, нет необходимости прописывать права каждому компьютеру в отдельности. Это значительно облегчает жизнь администраторов в больших сетях.
В предыдущем примере (
□ icp_access разрешение имя
icp_access deny all