acl

    TAG: acl

    Этот тэг позволяет задавать ACL. Ниже представлены типы ACL и краткие описания к каждому из них(на что нацелены). acl aclname acltype string1 ...
    acl aclname acltype "file" ...

    Когда используется "file", то файл должен содержать не более одного правила на строку.

    acltype - тип ACL

    По умолчанию, регулярные выражения РЕГИСТРОЗАВИСИМЫ. Для того, чтобы сделать регулярное выражение регистронезависимым используйте опцию -i .

    acl aclname src ip-address/netmask ...
    Проверяет IP адрес клиента. Как пользоваться?

    acl aclname src addr1-addr2/netmask ...
    Проверяет диапазон IP адресов клиента. Как пользоваться?

    acl aclname dst ip-address/netmask ...
    Проверяет IP адрес URL хоста.

    acl aclname myip ip-address/netmask ...
    Проверяет локальный IP адрес.

    acl aclname arp mac-address ...
    Проверяет xx:xx:xx:xx:xx:xx MAC адрес.

    Примечание: Тип arp ACL доступен если Squid скомпилирован с опцией --enable-arp-acl Кроме того, ACL типа arp поддерживают не все операционные системы. Это работает на Linux, Solaris FreeBSD и некоторых других *BSD системах.

    Примечание: Squid может определить MAC адреса клиентов из одной подсети. Если же клиенты будут из разных подсетей, тогда Squid не сможет определить MAC адрес клиента.

    acl aclname srcdomain .foo.com ...
    Проверяет имя хоста клиента.

    acl aclname dstdomain .foo.com ...
    Проверяет имя хоста сервера назначения. Как пользоваться?

    acl aclname srcdom_regex [-i] xxx ...
    Регулярное выражение для хоста клиента

    acl aclname dstdom_regex [-i] xxx ...
    Регулярное выражение для сервера назначения

    Типы ACL dstdomain и dstdom_regex используют имена хостов. Если же URL адрес задан через IP(например, 195.33.72.33), то будет автоматически произведена замена его на имя хоста связанное с этим IP(например на yandex.ru), используя DNS. И к уже к найденному имени хоста будет применен ACL.

    acl aclname time [day-abbrevs] [h1:m1-h2:m2]
    Проверяет день недели и время. Как пользоваться?

    Аббревиатуры дней:

    S - Воскресенье
    M - Понедельник
    T - Вторник
    W - Среда
    H - Четверг
    F - Пятница
    A - Суббота
    h1:m1 должно быть меньше h2:m2

    acl aclname url_regex [-i] ^http:// ...
    Регулярное выражение вбирающее в себя все URL адреса. Как пользоваться?

    acl aclname urlpath_regex [-i] \.gif$ ...
    Регулярное выражение проверяющее URL путь(все, что после имени хоста в URL)

    acl aclname urllogin [-i] [^a-zA-Z0-9] ...
    Регулярное выражение проверяющее поле URL login.

    acl aclname port 80 70 21 ...
    Проверяет порт назначения. Как пользоваться?

    acl aclname port 0-1024 ...
    Диапазон портов. Как пользоваться?

    acl aclname myport 3128 ...
    Локальный TCP порт

    acl aclname proto HTTP FTP ...
    Проверяет протокол. Как пользоваться?

    acl aclname method GET POST ...
    Проверяет метод доступа

    acl aclname browser [-i] regexp ...
    Проверяет заголовок User-Agent (смотри также req_header). Как пользоваться?

    acl aclname referer_regex [-i] regexp ...
    Проверяет заголовок Referer. Referer очень ненадежен, поэтому используйте с осторожностью

    acl aclname ident username ...
    acl aclname ident_regex [-i] pattern ...
    Проверяет выходные данные ident. Используйте REQUIRED для принятия не пустых ident строк.

    acl aclname src_as number ...
    acl aclname dst_as number ...

    # # ======= осталось без перевода ================================
    # # Except for access control, AS numbers can be used for
    # # routing of requests to specific caches. Here's an
    # # example for routing all requests for AS#1241 and only
    # # those to mycache.mydomain.net:
    # # acl asexample dst_as 1241
    # # cache_peer_access mycache.mydomain.net allow asexample
    # # cache_peer_access mycache_mydomain.net deny all
    # # ======= осталось без перевода ================================

    acl aclname proxy_auth [-i] username ...
    acl aclname proxy_auth_regex [-i] pattern ...
    Список прокси пользователей.

    Примечание: Когда заголовок Proxy-Authentication(Прокси аутентификации) отправлен, но не используется в ACL, то такая запись вносится в access.log

    Примечание: proxy_auth требует программу внешней(External) аутентификации для проверки пары username/password(логин/пароль). Смотри директиву auth_param.

    Примечание: proxy_auth не работает при прозрачном проксировании. Браузер должен быть настроен на использование прокси, чтобы аутентификация работала.

    acl aclname snmp_community string ...
    Строка для ограничения доступа SNMP community

    Пример:

    acl snmppublic snmp_community public

    acl aclname maxconn number
    Этот ACL проверяет количество HTTP сессий клиента. И не дает открыть ему больше чем <number> подключений

    acl aclname max_user_ip [-s] number
    Этот ACL проверяет количество различных IP адресов, с которого пользователь может пройти аутентификацию одновременно. Директива authenticate_ip_ttl определяет время действия аутентификации пользователя с конкретного IP адреса. По истечению этого времени, пользователь с этого IP должен будет пройти аутентификацию вновь. Аргумент -s означает, что при достижении числа number, будет невозможно подключится с любого другого IP адреса, пока ttl текущей аутентификации какого-либо IP адреса не истечет.

    Примечание: в режиме acceleration или при использовании нескольких child прокси, клиенты могут приходить с множества IP адресов если они идут через 2-3 прокси сервера, тогда ограничение в 1 IP адрес на клиента, может вызвать проблемы.

    acl aclname req_mime_type mime-type1 ...
    Регулярное выражение проверяющее mime тип клиентского запроса. Может быть использовано для определения отправки файлов или HTTP туннелирования.

    Примечание: Этот ACL не проверяет ответ от сервера на запрос клиента.

    acl aclname req_header header-name [-i] any\.regex\.here
    Регулярное выражение проверяющее заголовки запросов. Например, может использоватся для блокирования доступа некоторых браузеров.

    acl aclname rep_mime_type mime-type1 ...
    Регулярное выражение проверяющее mime тип ответа от сервера. Может быть использовано для определения скачивания файла или HTTP туннелирования.

    Примечание: Этот ACL не действует в правилах для http_access. Этот ACL имеет эффект в правилах, которые работают с ответами от сервера, такими как http_reply_access.

    acl aclname rep_header header-name [-i] any\.regex\.here
    Регулярное выражение проверяющее заголовки ответов от сервера.

    Пример:

    acl many_spaces rep_header Content-Disposition -i [[:space:]]{3,}

    acl acl_name external class_name [arguments...]
    Внешние ACL используемые вспомогательными программами(скриптами) должны быть перед использованием описаны директивой external_acl_type.

    acl urlgroup group1 ...
    Проверяет urlgroup используемую редиректорами

    acl aclname user_cert attribute values...
    Проверяет атрибуты в пользовательском сертификате SSL. Атрибутом может быть один из DN/C/O/CN/L/ST

    acl aclname ca_cert attribute values...
    Проверяет атрибуты выдавшего SSL сертификат. Атрибутом может быть один из DN/C/O/CN/L/ST

    acl aclname ext_user username ...
    acl aclname ext_user_regex [-i] pattern ...
    Проверяет имя пользователя, которое вернул внешний ACL скрипт. Используйте REQUIRED, для принятия любого не пустого имени пользователя.

    Примеры:

    #acl macaddress arp 09:00:2b:23:45:67
    #acl myexample dst_as 1241
    #acl password proxy_auth REQUIRED
    #acl fileupload req_mime_type -i ^multipart/form-data$
    #acl javascript rep_mime_type -i ^application/x-javascript$

    Рекомендуемый минимум:

    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 to_localhost dst 127.0.0.0/8
    acl SSL_ports port 443
    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