Добавление заголовка Запроса HTTP со Сквидом

Крон запускает программы, не веб-сайты, таким образом, необходимо обеспечить путь на диске к программе командной строки или сценарию. У Вас, кажется, есть Сценарий PHP, таким образом, у Вас есть много альтернатив:

1

Обеспечьте путь к интерпретатору CLI PHP и передайте свой сценарий как аргумент:

php /home/username/root_directory/filename.php

... или:

/usr/bin/php /home/username/root_directory/filename.php

2

Создайте сценарий оболочки PHP:

/home/username/filename.sh

... где filename.sh имеет "x" разрешение и похож:

#!/usr/bin/php

3

Создайте сценарий оболочки удара:

/home/username/filename.sh

... где filename.sh имеет "x" разрешение и похож:

#!/bin/sh
php /home/username/root_directory/filename.php

... или:

#!/bin/sh
/usr/bin/php /home/username/root_directory/filename.php

4

Запустите приложение, которое может говорить HTTP:

wget http://example.com/filename.php

5
задан 6 March 2016 в 16:19
7 ответов

You will probably need to get a full-on commercial web filter for a job like this - unless you want to go fairly deep into rolling your own ICAP stuff like @Richard Keller appears to be suggesting. I work for Smoothwall who produce a filter which does the job - if it's really all you need it for (ie no other filtering) namecheck me with the sales guys and we can licence appropriately. In the interests of fairness there are competing products which also have this feature - youtube uses it too.

-1
ответ дан 3 December 2019 в 01:26

As per the Squid FAQ:

Squid.conf ACLs

Header modification via Squid ACLs is limited to удаление заголовка или замена совпадающего заголовка константой string.

Другими словами, вы не сможете добавлять произвольные заголовки запросов, просто используя ACL Squid. ACL Squid ограничивают вас удалением существующих заголовков или заменой существующих заголовков, но не позволяют добавлять новые заголовки. Единственный способ добавить новые заголовки - использовать ICAP-сервер вместе с Squid. Для получения дополнительной информации см. Раздел ICAP в Squid FAQ.

3
ответ дан 3 December 2019 в 01:26

Using squid, you will:

  1. Set up dyanmic SSL certificate generation. Install the root certificate in the web clients' browsers.
  2. Set up SSL Bump to intercept proxied SSL/TLS traffic.
  3. Use ACLs to insert your desired header(s).
1
ответ дан 3 December 2019 в 01:26

Apparently can be done with ICAP

Server: http://icap-server.sourceforge.net/irml.html

The client is in squid3: http://ftp.meisei-u.ac.jp/mirror/squid/squid-3.0-RELEASENOTES.html#ss4.1

Config from above: (squid.conf)

icap_enable on
icap_service service_req reqmod_precache 1 icap://127.0.0.1:1344/request
icap_service service_resp respmod_precache 0 icap://127.0.0.1:1344/response
icap_class class_req service_req
icap_class class_resp service_resp
icap_access class_req allow all
icap_access class_resp allow all

Then configure the server to determine whether to modify the header or not based on destination domain:

????+

Profit? Can't figure out how to write the rules that would do this.. maybe you'll would have more luck.

0
ответ дан 3 December 2019 в 01:26

Таким образом, вы можете сделать это с помощью комбинации веб-прокси и сервера ICAP. Я больше всего знаком с Squid Proxy и GreasySpoon для ICAP. Я использую Squid v3.2.1 и GreasySpoon 1.0.8.

  • Squid: http://www.squid-cache.org/
  • GreasySpoon: Несуществующий! :( Идея будет такой же на других серверах ICAP, только с другими имплементациями. Раньше он размещался на sourceforge, поэтому, возможно, он будет у Wayback Machine . Не уверен.

Конфигурация Squid

В любом случае, настройте Squid для работы в качестве стандартного кеша. Вот пример конфигурации. Для получения дополнительных сведений о правильной настройке squid ознакомьтесь с обширной документацией. Раздел, который вас интересует по этому вопросу, - это # Конфигурации ICAP внизу.

cache_effective_user squid
cache_effective_group squid

acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80      # http
acl Safe_ports port 81      # http - public
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 manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access deny blocksites
http_access allow localnet
http_access allow localhost

http_access deny all

http_port 3128 transparent

# Leave coredumps in the first cache dir
core dump_dir /var/cache/squid

# ICAP Configurations
icap_enable on
icap_preview_enable on
icap_service service_req reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=0 icap://127.0.0.1:1344/respmod
adaptation_access service_resp allow all

Обратите внимание, что сервер ICAP, который я использовал, находился на том же хосте, что и прокси-сервер squid, поэтому я использовал 127.0.0.1. Если ваш прокси-сервер и ICAP находятся на разных хостах, не забудьте поменять шлейф на IP или имя сервера другого сервера.

Конфигурация ICAP

Это простая часть.

Опять же, я использую теперь несуществующий ICAP-сервер "Greasy Spoon". Я обнаружил, что это очень просто, и сделал то, что хотел, с минимальной головной болью. Кроме того, хотя доступны другие параметры, я использую возможности подключаемого модуля Java.

В случае GreasySpoon я просто создал небольшой сценарий Java (не javascript, хотя это возможно со многими серверами ICAP), нацеленный на HTTP-запрос и добавил необходимый заголовок (обратите внимание, что первые комментарии предоставляют метаданные серверу GS. Возможно, не нужны для других):

0
ответ дан 3 December 2019 в 01:26

Можете ли вы с новым Squid 3.3, который поддерживает команду request_header_add. Я использовал для этого CentOS.

Мой Squid.conf:

acl CONNECT method CONNECT
visible_hostname MySERVER.local
acl local src 192.168.0.0/24
http_access allow local
ssl_bump client-first all
always_direct allow all
http_port 3128 ssl_bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/usr/local/squid/etc/cert.pem
request_header_add X-GoogApps-Allowed-Domains "mycompany.com" all
cache_dir ufs /usr/local/squid/var/cache 8192 32 256

Вам нужно сгенерировать SSL-сертификаты с помощью openSSL:

openssl req -new -newkey rsa:1024 -days 36500 -nodes -x509 -keyout /usr/local/squid/etc/cert.pem -out /usr/local/squid/etc/cert.pem 

А если пользователи не могут просматривать ошибки в браузерах, установите его как root доверять на каждом компьютере или добавить в Active Directory (в этом может помочь Google).

openssl x509 -in /usr/local/squid/etc/cert.pem -outform DER -out /usr/local/squid/etc/cert.der
4
ответ дан 3 December 2019 в 01:26

Использование Squid для добавления пользовательского заголовка очень сложно. Я попытался, но потерпел неудачу, однако нашел другое решение для блокировки учетной записи пользователя, используя следующий метод:

  1. Загрузите burp Suit (автономный прокси, который может добавлять пользовательские заголовки).
  2. Прочтите эту статью Я написал: http://computech.in/2013/09/block-access-to-consumer-gmail-accounts-but-allow-google-apps/

В небольшом организация Я думаю, что прокси Burp лучше, и это то, что мы сейчас используем.

in / 2013/09 / block-access-to-consumer-gmail-accounts-but-allow-google-apps /

Я думаю, что в небольшой организации прокси Burp лучше, и это то, что мы сейчас используем.

in / 2013/09 / block-access-to-consumer-gmail-accounts-but-allow-google-apps /

Я думаю, что в небольшой организации прокси Burp лучше, и это то, что мы сейчас используем.

0
ответ дан 3 December 2019 в 01:26

Теги

Похожие вопросы