Разрешить приложения Google и блокировать учетные записи пользователей Google с помощью прокси-сервера Squid
В моей организации я пытаюсь разрешить учетную запись приложений Google и заблокировать учетные записи пользователей Google, используя прокси-сервер squid. По этой ссылке Google говорит, что мы можем сделать это, выполнив следующие действия:
1. Route all traffic outbound to google.com through your web proxy server(s).
2. Enable SSL interception on the proxy server.
3. Since you will be intercepting SSL requests, you will need to configure every
client device to trust your SSL proxy by deploying the Internal Root Certificate
Authority used by the proxy and marking it as trusted.
4. For each google.com request:
a. Intercept the request.
b. Add the HTTP header X-GoogApps-Allowed-Domains, whose value is a
comma-separated list with allowed domain name(s). Include the domain you
registered with Google Apps and any secondary domains you might have
added.
Перебрав несколько онлайн-блогов и руководств, я скомпилировал и установил squid и добавил следующие записи в мой squid.conf:
http_port 3128 intercept
http_port 3129
https_port 3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
acl localnet1 dstdomain .google.com
ssl_bump server-first localnet1
always_direct allow localnet1
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
request_header_add X-GoogApps-Allowed-Domains "mydomain.com" localnet1
cert=/usr/local/squid/cert/server.crt key=/usr/local/squid/cert/server.key
sslcrtd_program /usr/local/squid/libexec/ssl_crtd -s /usr/local/squid/var/ssl_db -M 20MB
sslcrtd_children 100
Используя вышеуказанную конфигурацию, каждый запрос (http и https) направляется через мой прокси-сервер, но он не может заблокировать учетную запись пользователя Google, и я могу войти в нее.
Я также добавил IP-адрес прокси-сервера в качестве шлюза к системе узлов, и в моем прокси-сервере я добавил следующие правила в Iptable
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3130
iptables -I INPUT -p tcp -m tcp --dport 3130 -j ACCEPT
Так что еще мне нужно сделать, чтобы заблокировать потребительский аккаунт Google? Я что-то здесь упускаю?
РЕДАКТИРОВАТЬ: После работы над вышеупомянутой проблемой я узнал, что я сделал одну ошибку. Моя настройка порта в файле squid.conf выглядит следующим образом:
http_port 3128 intercept
http_port 3129
https_port 3130 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB
Я установил глобальный прокси в моей системе узлов. В поле IP я указал IP-адрес прокси-сервера, а в поле порта - 3129. Итак, все мои запросы проходили через порт 3129, и, следовательно, он не перехватывался и мог входить в учетные записи пользователей Google. Поэтому я удалил настройки прокси-сервера из системы узлов и сохранил только IP-адрес прокси-сервера в качестве шлюза. После этого каждый мой запрос достигает прокси-сервера, но я думаю, что он не перенаправляется на порты, указанные в squid.conf. т.е. 80 порт на 3128 и 443 порт на 3130, и теперь из-за этого все заблокировано.
Я попытался установить правила в Iptables для этой внутренней маршрутизации портов, но ничего не работает. У меня есть только один интерфейс Ethernet в качестве eth0 для моего прокси-сервера. Так кто-нибудь поможет мне в этом вопросе?
1 ответ
Мое единственное предложение состоит в том, чтобы изначально игнорировать squid-перехват / прозрачный iptables - настроить браузер на настройку веб-прокси и сначала заставить его работать - по крайней мере, тогда есть несколько "движущихся частей", с которыми нужно иметь дело.