- Лучшие прокси серверы Linux
- 1. Squid
- 2. Privoxy
- 3. Polipo
- 4. TinyProxy
- 5. ExaProxy
- 6. Gate.js
- 7. Artica Proxy
- 8. Varnish Cache
- 9. Nginx
- Выводы
- Как подключиться через прокси-сервер
- Прокси сервер на Linux
- Что такое прокси-сервер
- Достоинства и недостатки подключения
- Виды для Linux
- SQUID
- PRIVOXY
- POLIPO
- Установка и настройка Proxy на Ubuntu
- Частые ошибки
- Заключение
- Бесплатный прокси-сервер для предприятия с доменной аутентификацией
- Краткая предыстория
- Описание
- Подготовка к установке Squid
- Установка и предварительная настройка
- Настройка аутентификации Squid и списка доступа без аутентификации
- Настройка SquidGuard
- LightSquid и sqstat
- Завершение
Лучшие прокси серверы Linux
В современных сетях прокси серверы используются достаточно часто. Особенно они полезны на предприятиях, здесь кэширующие прокси серверы могут применяться для снижения нагрузки на сеть, увеличения пропускной способности, экономии трафика и даже для отслеживания действий пользователей и блокировки нежелательных сайтов.
Другая сфера применения прокси серверов — это веб-сайты. Они используются для кэширования сгенерированных страниц, чтобы ускорить загрузку сайтов. В этой статье мы рассмотрим лучшие прокси серверы для linux, которые вы можете использовать в своих конфигурациях.
1. Squid
Squid — это лучший прокси серевер для Linux с поддержкой таких протоколов, как: HTTP, HTTPS, FTP и многих других. Он позволяет повысить пропускную способность сети и сократить время отклика сайтов путем кэширования ресурсов и страниц. Страницы и файлы, которые запрашиваются часто могут быть использованы повторно. Вы можете настроить кэширование как в оперативную память, так и на жесткий диск, если нужно кэшировать много данных при медленном интернете.
Кроме того, в Squid есть очень широкие возможности контроля доступа к сетевым ресурсам. Вы можете блокировать не только банальные запросы к доменам или загрузку файлов определенных форматов, но и доступ к сети в определенное время, работу протоколов и портов, а также многое другое. Squid поддерживает не только операционную систему Linux, но и Windows. Изначально программа могла работать только в Linux, но затем была портирована и для Windows. Мы уже рассматривали настройку Squid в Ubuntu в одной из предыдущих статей.
2. Privoxy
Это еще один кэширующий прокси сервер linux, который устанавливается на стороне клиента. Поддерживаются все основные веб-протоколы. Но он направлен больше не на кэширование контента, а на фильтрацию и защиту конфиденциальности пользователей. С помощью него вы можете изменять интернет-страницы, вырезать рекламу, управлять cookies, ограничивать доступ к некоторым веб-сайтам, а также удалять любой нежелательный контент, управлять отправляемыми заголовками браузера.
В отличие от Squid программа настраивается через веб-интерфейс, и надо сказать, что достаточно удобный. Хотя в некоторых пунктах можно запутаться. При включенном прокси его настройка будет доступна по адресу config.privoxy.org. Кроме веб-интерфейса, можно использовать конфигурационный файл, но он намного сложнее.
3. Polipo
Небольшой, но быстрый кэширующий прокси сервер с открытым исходным кодом, поддерживающий протокол HTTP и DNS. Polipo можно использовать для фильтрации рекламы, повышения приватности или ускорения работы веб-сайтов с помощью кэширования страниц. Также как и Privoxy она рассчитан больше на обеспечение приватности. Настройка программы выполняется через веб-интерфейс, но кроме него, есть несколько графических оболочек, для интерактивного взаимодействия с программой. Поддерживается как Linux, так и Windows.
4. TinyProxy
TinyProxy — это очень простой и легкий прокси сервер с открытым исходным кодом для операционных систем Unix. Он разработан, чтобы быть маленьким и очень быстрым и поддерживает протоколы HTTP и HTTPS. Несмотря на легковесность этот прокси сервер linux поддерживает все необходимые функции, такие как удаленный доступ с помощью веб-интерфейса, фильтрация доступа к ресурсам, фильтрация на основе URL и другое.
5. ExaProxy
Этот прокси сервер предназначен не для кэширования трафика, а для его модификации. Поддерживается модификация трафика с помощью удобного языка программирования по протоколу HTTP. Все соединения HTTPS могут быть пропущены без изменения с помощью метода Connect. Прокси сервер linux работает очень быстро и имеет веб-интерфейс для доступа к статистике его работы и настройке.
6. Gate.js
Gate.js — это что-то новое и очень интересное. Это полнофункциональный кэширующий прокси сервер, написанный на jаvascript с использованием Node.js. Он написан с нуля и призван заменить Squid и Nginx. Он позволяет кэшировать контент, облегчая работу веб-серверам, а также ускоряя загрузку сайтов на стороне клиента. Его главная особенность в масштабируемости, поскольку программа написана на интерпретируемом языке, она может быть легко дополнена.
7. Artica Proxy
Artica Proxy — это мощный, но простой прокси сервер с открытым исходным кодом, который позиционирует себя как полноценная замена для Squid. Программа поддерживает фильтрацию интернет-трафика, фильтрацию запросов DNS, защиту от вирусов и спама, создание правил кэширования, а также аутентификацию через ACL списки.
Кроме того, здесь есть очень подробная страница статистики, с помощью которой вы сможете узнать все о работе программы и нагрузке на сеть.
8. Varnish Cache
В отличие от вышеперечисленных программ, этот прокси сервер рассчитан больше для работы на стороне сервера. Он предназначен для ускорения веб-сайтов. Его современная архитектура дает ему значительную производительность. Varnish Cache хранит веб-страницы в памяти сервера, чтобы программа веб-сервера Apache или Nginx не генерировала ее еще раз. Веб-сервер только обновляет страницы при изменении содержимого. Получение содержимого из памяти выполняется намного быстрее чем полная генерация.
9. Nginx
Все знают Nginx как отличный веб-сервер, рассчитанный на работу под большой нагрузкой. Но кроме этого, он может использоваться в качестве прокси сервера. Nginx не умеет кэшировать или фильтровать содержимое страниц. Но его задача принимать запросы от клиентов на сервере, передача их другим программам, а затем возврат ответа клиенту. Nginx выгодно использовать, потому что эта программа оптимизирована для максимальной производительности и может принимать до 10 000 запросов от пользователей одновременно.
Выводы
В этой статье мы рассмотрели лучшие прокси серверы Linux, возможно, это далеко не все программы, которые стоило бы добавить в этот список. Какие прокси серверы вы используете в своих системах? Какие считаете лучшими? Напишите в комментариях!
Источник
Как подключиться через прокси-сервер
Прокси-сервер на Ubuntu является самым удачным элементом для пользования Интернетом. Сейчас существует множество различных вариаций proxy server linux. Однако в целом установка, подключение и настройка такого оборудования для всевозможных вариантов ubuntu proxy server. Однако у новичков случаются различные проблемы при настройке прокси-сервера на linux – есть готовое решение.
Прокси сервер на Linux
Прежде чем рассматривать такие вопросы, как подключение через прокси (apt get proxy или wget через прокси), настройка ubuntu proxy, стоит разобраться в том, то такое прокси-сервер, какие бывают виды такого элемента, их основные достоинства и недостатки.
Что такое прокси-сервер
Прокси-сервер – это специальное приложение для компьютера, позволяющее снизить нагрузку на сеть, увеличить экономию трафика при пользовании Интернетом, регулярно очищать сайты и загрузки, а также блокировать нежелательные вирусные программные обеспечения.
Достоинства и недостатки подключения
Настройка прокси ubuntu server характеризуется своими плюсами и минусами. К достоинствам можно отнести:
- Очищение и оптимизация виртуальных запросов пользователей. Особенно это удобно при большом производстве.
- Увеличение скорости получения данных с различных Интернет-страниц и серверов.
- Улучшение веб-работы всех специалистов на предприятии.
Однако, несмотря на перечисленные преимущества, у настройки такого оборудования есть и недостатки:
- Часто авторизаций происходит с использованием конкретного ip-адреса, причем настраивать его надо вручную. Это может стать проблемой для большого производства.
- Еще один существенный момент: на одном ip-адресе может находиться много сайтов. Контроль и блокировка этого адреса может привести к сбоям в работе всего предприятия, да и усложнить в целом контроль за пользователями, поскольку менеджеры могут знать только сам ip-адрес, а не конкретный запрос.
Виды для Linux
Самыми популярными являются 3 прокси-сервера для платформы убунту.
SQUID
Этот сервер рассчитан не только для работы в линукс системе, но и в Windows. Прокси-сервер работает с различными типами протоколов, способствует кешированию различных страниц и загрузок, как на жестком диске, так и в операционной системе любого гаджета. Также можно настроить время кеширования, количество просматриваемых страниц, использование одних и тех же сайтов повторно.
PRIVOXY
В отличие от предыдущего, этот прокси-сервер устанавливается с помощью Интернета. Он разработан как раз для физических лиц. Этот прокси-сервер позволяет отфильтровать ненужный контент, страницы браузера, рекламу и защитить свою конфиденциальную информацию. С помощью этого сервера удобно управлять своим виртуальным пространством. К тому же интерфейс программы по сравнению с предыдущим вариантом достаточно прост.
POLIPO
Этот сервер является средним между двумя предыдущими вариантами. Он разработан для двух операционных систем: Линукс и Windows. POLIPO может поддерживать практически все типы протоколов. У него достаточно простой интерфейс. Его можно подключать как непосредственно через Интернет, так и через пользовательские настройки. Этот прокси-сервер не только позволяет кешировать страницы, но и фильтровать контент, рекламу, защитить пользовательскую информацию.
Установка и настройка Proxy на Ubuntu
Устанавливать прокси-сервер можно как через Интернет, так и непосредственно через маршрутизатор.
Авторизация может происходить по разным схемам: через различные системы и ip-адреса пользователей, файлы, доменные имена, регулярные выражения, информацию из разных конфигурационных файлов. Например:
- Acl src myComputer 10.128.1.1 – из единственного компьютера-пользователя
- Acl src my Network 10.128.2.0/24 — задает сеть класса С.
- Acl src all 0.0.0.0/0 – описывает вообще все IP- сети
Авторизация может происходить также через логин и пароль, учетные записи системы, через конкретный текстовый файл.
Управление и сбор статистических данных происходит с помощью доменных приложений, конкретных ip-адресов, регистрационный файлов.
Частые ошибки
Случается так, что прокси-сервер не работает. Основными причинами этой проблемы являются:
- дезорганизация работы прокси-сервера;
- блокировка конкретных сайтов;
- установка вредоносного программного обеспечения.
Первые 2 проблемы решаются достаточно легко и быстро: нужно лишь изменить адрес прокси-сервера и перезагрузить компьютер.
Для очищения и утилизации вредоносной программы потребуются дополнительные программы. В этом случае стоит обратиться к специалисту.
Заключение
Прокси-сервер на Ubuntu установить, подключить и настроить достаточно просто. Однако новичку стоит помнить о специфических особенностях работы платформы Linux, чтобы в будущем не было никаких проблем.
Источник
Бесплатный прокси-сервер для предприятия с доменной аутентификацией
pfSense+Squid с фильтрацией https + Технология единого входа (SSO) с фильтрацией по группам Active Directory
Краткая предыстория
На предприятии возникла необходимость во внедрении прокси-сервера с возможностью фильтрации доступа к сайтам(в том числе https) по группам из AD, чтобы пользователи не вводили никаких дополнительных паролей, а администрировать можно было с веб интерфейса. Неплохая заявочка, не правда ли?
Правильным вариантом ответа было бы купить такие решения как Kerio Control или UserGate, но как всегда денег нет, а потребность есть.
Тут то к нам и приходит на выручку старый добрый Squid, но опять же — где взять веб интерфейс? SAMS2? Морально устарел. Тут то и приходит на выручку pfSense.
Описание
В данной статье будет описан способ настройки прокси-сервера Squid.
Для авторизации пользователей будет использоваться Kerberos.
Для фильтрации по доменным группам будет использоваться SquidGuard.
Для мониторинга будет использован Lightsquid, sqstat и внутренние системы мониторинга pfSense.
Также будет решена частая проблема, связанная с внедрением технологии единого входа (SSO), а именно приложения, пытающиеся ходить в интернет под учеткой компа\своей системной учеткой.
Подготовка к установке Squid
За основу будет взят pfSense, Инструкция по установке.
Внутри которого мы организуем аутентификацию на сам межсетевой экран с помощью доменных учеток. Инструкция.
Перед началом установки Squid необходимо настроить DNS сервера в pfsense, сделать для него запись A и PTR записи на нашем DNS сервере и настроить NTP так, чтобы время не отличалось от времени на контроллере домена.
А в вашей сети предоставить возможность WAN интерфейсу pfSense ходить в интернет, а пользователям в локальной сети подключаться на LAN интерфейс, в том числе по порту 7445 и 3128 (в моем случае 8080).
Всё готово? С доменом связь по LDAP для авторизации на pfSense установлена и время синхронизировано? Отлично. Пора приступать к основному процессу.
Установка и предварительная настройка
Squid, SquidGuard и LightSquid установим из менеджера пакетов pfSense в разделе «Система/Менеджер пакетов».
После успешной установки переходим в «Сервисы/Squid Proxy server/» и в первую очередь во вкладке Local Cache настраиваем кеширование, я выставил все по 0, т.к. не вижу особого смысла кешировать сайты, с этим и браузеры прекрасно справляются. После настройки нажимаем клавишу «Сохранить» внизу экрана и это даст нам возможность производить основные настройки прокси.
Основные настройки приводим к следующему виду:
Порт по умолчанию 3128, но я предпочитаю использовать 8080.
Выбранные параметры во вкладке Proxy Interface определяют какие интерфейсы будет слушать наш прокси сервер. Так как этот межсетевой экран построен таким образом, что в интернет он смотрит WAN интерфейсом, даже при том что LAN и WAN могут быть в одной локальной подсети, рекомендую для прокси использовать именно LAN.
Лупбек нужен для работы sqstat.
Ниже вы найдете настройки Transparent (прозрачного) прокси, а также SSL Filter, но они нам не нужны, наш прокси будет не прозрачным, а для фильтрации https мы не будем заниматься подменой сертификата(у нас ведь документооборот, банк-клиенты и тд), а просто посмотрим на рукопожатие.
На этом этапе нам необходимо перейти в наш контроллер домена, создать в нем учетную запись для аутентификации(можно использовать и ту что настроили для аутентификации на сам pfSense). Здесь очень важный фактор — если вы намерены использовать шифрование AES128 или AES256 — проставьте соответствующие галочки в настройках учетной записи.
В случае если ваш домен представляет собой весьма сложный лес с большим количеством каталогов или ваш домен .local, то ВОЗМОЖНО, но не точно, вам придется использовать для этой учетной записи простой пароль, баг известный, но со сложный паролем может просто не работать, надо проверять на конкретном частном случае.
После этого всего формируем файл ключей для кербероса, на контроллере домена открываем командную строку с правами администратора и вводим:
Где указываем свой FQDN pfSense, обязательно соблюдая регистр, в параметр mapuser вводим нашу доменную учетную запись и её пароль, а в crypto выбираем способ шифрования, я использовал rc4 для работы и в поле -out выбираем куда отправим наш готовый файл ключей.
После успешного создания файла ключей отправим его на наш pfSense, я использовал для этого Far, но также можно сделать этот как командами, так и putty или через веб интерфейс pfSense в разделе «Диагностика\Командная строка».
Теперь мы можем отредактировать\создать /etc/krb5.conf
где /etc/krb5.keytab это созданный нами файл ключей.
Обязательно проверьте работу кербероса с помощью kinit, если не работает — дальше нет смысла читать.
Настройка аутентификации Squid и списка доступа без аутентификации
Успешно настроив керберос прикрутим его к нашему Squid`у.
Для этого перейдите в Сервисы\Squid Proxy Server и в основных настройках опуститесь в самый низ, там найдем кнопочку «Расширенные настройки».
В поле Custom Options (Before Auth) введем:
uде auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth — выбирает необходимый нам хелпер керберос аутентификации.
Ключ -s с значением GSS_C_NO_NAME — определяет использование любой учетной записи из файла ключа.
Ключ -k с значением /usr/local/etc/squid/squid.keytab — определяет использовать именно этот кейтаб файл. В моем случае это тот же сформированный нами кейтаб файл, который я скопировал в директорию /usr/local/etc/squid/ и переименовал, потому что с той директорией сквид дружить не хотел, видимо прав не хватало.
Ключ -t с значением -t none — отключает цикличные запросы к контроллеру домена, что сильно снижает нагрузку на него если у вас больше 50 пользователей.
На время теста также можно добавить ключ -d — т.е диагностика, больше логов будет выводиться.
auth_param negotiate children 1000 — определяет сколько одновременных процессов авторизации может быть запущено
auth_param negotiate keep_alive on — не дает разорвать связь во время опроса цепочки авторизации
acl auth proxy_auth REQUIRED — создает и требует список контроля доступа, включающий в себя пользователей, прошедших авторизацию
acl nonauth dstdomain «/etc/squid/nonauth.txt» — сообщаем сквиду о списке доступа nonauth в котором содержатся домены назначения, к которым всегда будет разрешен доступ всем. Сам файл создаем, а внутрь него вписываем домены в формате
Whatsapp не зря используется как пример — он очень привередлив к прокси с аутентификацией и не будет работать если его не разрешить до аутентификации.
http_access allow nonauth — разрешаем доступ к данному списку всем
http_access deny !auth — запрещаем доступ неавторизованным пользователям к остальным сайтам
http_access allow auth — разрешаем доступ авторизированным пользователям.
Всё, сам сквид у вас настроен, теперь самое время приступить к фильтрации по группам.
Настройка SquidGuard
Переходим в Сервисы\SquidGuard Proxy Filter.
В LDAP Options вводим данные нашей учетной записи, используемой для керберос аутентификации, но в следующем формате:
Если есть пробелы и\или не латинские символы всю эту запись стоит заключить в одинарные или двойные кавычки:
Далее обязательно ставим эти галочки:
Чтобы отрезать ненужные DOMAIN\pfsense DOMAIN.LOCALк которым вся система очень чувствительна.
Теперь переходим в Group Acl и привязываем наши доменные группы доступа, я использую простые наименования в духе group_0, group_1 и тд до 3, где 3 — доступ только в белый список, а 0 — можно всё.
Привязываются группы следующим образом:
сохраняем нашу группу, переходим в Times, там я создал один промежуток означающий работать всегда, теперь переходим в Target Categories и создаем списки по своему усмотрению, после создания списков возвращаемся в наши группы и внутри группы кнопочками выбираем кто куда может, а кто куда — нет.
LightSquid и sqstat
Если в процессе настройки мы выбрали лупбек в настройках сквида и открыли возможность заходить на 7445 в фаерволле как в нашей сети, так и на самом pfSense, то при переходе в Диагностика\Squid Proxy Reports мы без проблем сможем открыть и sqstat и Lighsquid, для последнего нужно будет там же придумать логин и пароль, а также есть возможность выбрать оформление.
Завершение
pfSense очень мощный инструмент, который может очень много всего — и проксирование трафика, и контроль над доступом пользователей в интернет это лишь крупица всего функционала, тем не менее на предприятии с 500 машинами это решило проблему и позволило сэкономить на покупке прокси.
Надеюсь данная статья поможет кому-нибудь решить достаточно актуальную для средних и крупных предприятий задачу.
Источник