Прокси-сервер является очень полезным инструментом для сети. Он обычно используется в компьютерных сетях для защиты сети от атак, для фильтрации вредоносного веб-контента и страниц, запрашиваемых локальными пользователями, и для ускорения доставки веб-страниц и веб-контента путем кэширования (хранения) часто запрашиваемых веб-страниц, документов, и медиа. Прокси-серверы обычно реализуются в частных локальных сетях для фильтрации, защиты и кэширования содержимого, запрашиваемого пользователями в этой сети, это называется «прокси» или «прозрачный прокси». Прокси-серверы также могут быть реализованы на удаленных сторонних целевых веб-серверах, чтобы защитить эти серверы путем фильтрации запросов, ускорения доставки веб-страниц и кэширования часто запрашиваемых файлов, это называется «обратный прокси-сервер».
Типы прокси-серверов
Прокси-сервер | Веб-браузер на клиенте настроен на указание IP-адреса прокси-сервера. Клиент может обойти прокси-сервер, удалив или изменив конфигурацию адреса прокси. Администратор может предотвратить это, создав объект групповой политики в Active Directory, который блокирует доступ к настройкам веб-браузера. Прокси-сервер также может функционировать как кеширующий сервер. |
Прозрачный прокси-сервер | Маршрутизатор отправляет весь трафик через определенные порты на прозрачный прокси-сервер, поэтому клиенты не могут обойти прокси-сервер. Прозрачный прокси-сервер также может функционировать как сервер кэширования. |
Обратный прокси-сервер (кеширование) | Обратный прокси-сервер или сервер кэширования размещаются перед веб-сервером или перед ним, чтобы ускорить доставку часто запрашиваемых страниц и защитить веб-сервер путем создания слоя разделения и избыточность. |
Squid — один из самых популярных и популярных прокси-серверов в мире. Он бесплатен для скачивания, прост в установке и может быть реализован на любом дистрибутиве Linux. Вот шаги по установке и настройке Squid в дистрибутиве Ubuntu Linux.
Установка Squid
Откройте терминал и введите следующие команды для установки:
sudo apt-get update
sudo apt-get install squid squid-common
Способы запуска и остановки Squid:
sudo service squid start (stop|restart|status)
sudo /usr/sbin/squid (запуск программы)
sudo pkill -9 squid (принудительное завершение процесса)
Настройка Squid
Перейдите в папку Squid, чтобы найти файл конфигурации squid.conf
cd /etc/squid
ls (вы должны увидеть файл squid.conf)
Создайте резервную копию файла squid.conf
sudo cp squid.conf squid.conf.bak
В целях тестирования откройте Firefox и настройте его на отправку веб-запросов на прокси-сервер Squid (узнать свой IP-адрес можно при помощи команды ifconfig)
Откройте Firefox
Правка> Настройки, Дополнительно> Вкладка Сеть> Настройки соединения:
Ручная настройка прокси: HTTP-прокси: ваш IP-адрес или loopback адрес 127.0.0.1, порт: 3128
Нажмите Ok и Закрыть
Теперь, если вы попытаетесь зайти на такой сайт, как Google, вы должны увидеть сообщение об ошибке — Отказ в доступе от Squid. Это означает, что Squid активно фильтрует трафик.
Далее нам нужно настроить Squid для разрешения веб-трафика через прокси-сервер. Откройте squid.conf в текстовом редакторе:
sudo nano squid.conf
Измените имя вашего прокси-сервера Squid (строка 3399).
TAG: visible_hostname
visible_hostname YourNameProxyServer
Вы можете настроить правила доступа для вашего прокси-сервера Squid (строки с 331 по 831 предназначены для контроля доступа). Обратите внимание, что в строках 606-630 определены локальные сети и используемые порты (службы). Строки активной конфигурации — это строки, которые не закомментированы, то есть они не начинаются со знака #.
Для повторного включения веб-доступа раскомментируйте строку 676
http_access allow localnet
Чтобы убедиться, что сеть теперь работает, сохраните изменения в файле squid.conf и перезапустите сервер Squid.
sudo service squid restart
Обновите ваш браузер Firefox, и ваша домашняя страница должна быть видна.
Собственный ACL
Теперь мы можем попрактиковаться в написании собственного ACL (списка доступа) в файле squid.conf для блокировки определенных доменов и веб-сайтов. Мы можем написать свой собственный ACL в конце строки acl вокруг строки 631. Из пустой строки напишите следующие строки, чтобы проверить блокировку домена.
acl blocked_websites dstdomain .msn.com .yahoo.com
http_access deny blocked_websites
Перезапустите сервер Squid и проверьте, запрещает ли Squid доступ к вашим заблокированным доменам / веб-сайтам в Firefox.