Posted by RESTED | Posted on 19-10-2011
В данной статье, мы рассмотрим как реализовать возможность расшифровки HTTPS соединений.
Технические детали: Нам нужно будет собирать SQUID с нуля. Я рекомендую загрузить последнюю версию сквида. Предполагается что все действия мы делаем из консоли. Так как я использую линукс UBUNTU, мне потребовалось дополнительно установить: build-essential и libssl-dev
Устанавливаем:
apt-get install build-essential libssl-dev
Внимание! : для CentOS, используйте openssl-devel а не libssl-dev
Build-essentials необходим для загрузки компиляторов, в то время как libssl нужен для загрузки SSL-библиотек, которые позволяют SQUID, перехватить зашифрованный трафик. Этот пакет (libssl) необходимо во время компиляции, без него при выполнении команды make вы увидите ошибки типа:
error: ‘SSL’ was not declared in this scope
Скачайте и распакуйте исходники SQUID’а.
Далее включим icap-client и ssl, соберем и установим пакет, поехали:
Внимание! Icap-client будет оповещать всех пользователей нашего прокси, о том что их https трафик мониторится. Если вы хотите что бы люди не знали что их мониторят, то не включайте icap-client.
./configure –enable-ssl –enable-icap-client
make
make install
К информации:
* enable-icap-client : включается для того, что бы оповещать всех клиентов вашего прокси, о том что их трафик мониторится..
* enable-ssl : это нужно включить для SslBump.
Итак SQUID установлен, далее очень важный шаг, создание сертификата который SQUID будет предоставлять своим клиентам. В тестовой среде, вы можете легко создать собственный сертификат используя OpenSSL: openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout
В браузере у всех клиентов нашего сервера появится ошибка:
В корпоративной среде вы можете создать сертификат с помощью CA, ведь таким сертификатам клиенты уже доверяют.
Например, вы можете создать сертификат с помощью CA Microsoft, и подсунуть сертификат всему вашему домену.
Сконфигурируем SQUID, изменим /etc/squid.conf:
always_direct allow all
ssl_bump allow all
http_port 192.168.0.11:3128 transparent
# Должно быть размещено на одной строке
https_port 192.168.0.11:3129 transparent ssl-bump cert=/etc/squid/ssl_cert/
Вам нужно изменить “cert=” и “key=” место нахождение файлов сертификата, также измените IP адрес.
Дериктива (always_direct) требуется SslBump.
Больше информации вы найдете по ссылке:
Вторая дериктива (ssl_bump) разрешает прокси серверу обрабатывать все SSL соединения.
Больше информации вы найдете по ссылке:
Запустите SQUID, проверьте логи на наличие ошибок.
Если нет ошибок, введите:
netstat -nap | grep 3129
Это делается для того что бы убедится что сервер поднят и работает.
Затем настройте IPTables для выполнения назначений NAT, и для перенаправления трафика на прокси:
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.11:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 443 -j DNAT –to-destination 192.168.0.11:3129
Имейте в виду, прокси-сервер будет менять ip-адрес источника на свой собственный.Это значит что все запросы сделанные клиентами будут выполнятся от имени (IP) сервера.
На этом все!
Статья будет обновлятся по мере расширения знаний (=
Основано на мане: dvas0004
В данной статье, мы рассмотрим как реализовать возможность расшифровки HTTPS соединений.
Технические детали: Нам нужно будет собирать SQUID с нуля. Я рекомендую загрузить последнюю версию сквида. Предполагается что все действия мы делаем из консоли. Так как я использую линукс UBUNTU, мне потребовалось дополнительно установить: build-essential и libssl-dev
Устанавливаем:
apt-get install build-essential libssl-dev
Внимание! : для CentOS, используйте openssl-devel а не libssl-dev
Build-essentials необходим для загрузки компиляторов, в то время как libssl нужен для загрузки SSL-библиотек, которые позволяют SQUID, перехватить зашифрованный трафик. Этот пакет (libssl) необходимо во время компиляции, без него при выполнении команды make вы увидите ошибки типа:
error: ‘SSL’ was not declared in this scope
Скачайте и распакуйте исходники SQUID’а.
Далее включим icap-client и ssl, соберем и установим пакет, поехали:
Внимание! Icap-client будет оповещать всех пользователей нашего прокси, о том что их https трафик мониторится. Если вы хотите что бы люди не знали что их мониторят, то не включайте icap-client.
./configure –enable-ssl –enable-icap-client
make
make install
К информации:
* enable-icap-client : включается для того, что бы оповещать всех клиентов вашего прокси, о том что их трафик мониторится..
* enable-ssl : это нужно включить для SslBump.
Итак SQUID установлен, далее очень важный шаг, создание сертификата который SQUID будет предоставлять своим клиентам. В тестовой среде, вы можете легко создать собственный сертификат используя OpenSSL: openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout
Вам необходимо зарегистрироваться для просмотра ссылок
-out
Вам необходимо зарегистрироваться для просмотра ссылок
В браузере у всех клиентов нашего сервера появится ошибка:
В корпоративной среде вы можете создать сертификат с помощью CA, ведь таким сертификатам клиенты уже доверяют.
Например, вы можете создать сертификат с помощью CA Microsoft, и подсунуть сертификат всему вашему домену.
Сконфигурируем SQUID, изменим /etc/squid.conf:
always_direct allow all
ssl_bump allow all
http_port 192.168.0.11:3128 transparent
# Должно быть размещено на одной строке
https_port 192.168.0.11:3129 transparent ssl-bump cert=/etc/squid/ssl_cert/
Вам необходимо зарегистрироваться для просмотра ссылок
key=/etc/squid/ssl_cert/private/
Вам необходимо зарегистрироваться для просмотра ссылок
Вам нужно изменить “cert=” и “key=” место нахождение файлов сертификата, также измените IP адрес.
Дериктива (always_direct) требуется SslBump.
Больше информации вы найдете по ссылке:
Вам необходимо зарегистрироваться для просмотра ссылок
Вторая дериктива (ssl_bump) разрешает прокси серверу обрабатывать все SSL соединения.
Больше информации вы найдете по ссылке:
Вам необходимо зарегистрироваться для просмотра ссылок
Запустите SQUID, проверьте логи на наличие ошибок.
Если нет ошибок, введите:
netstat -nap | grep 3129
Это делается для того что бы убедится что сервер поднят и работает.
Затем настройте IPTables для выполнения назначений NAT, и для перенаправления трафика на прокси:
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.11:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 443 -j DNAT –to-destination 192.168.0.11:3129
Имейте в виду, прокси-сервер будет менять ip-адрес источника на свой собственный.Это значит что все запросы сделанные клиентами будут выполнятся от имени (IP) сервера.
На этом все!
Статья будет обновлятся по мере расширения знаний (=
Основано на мане: dvas0004