Настройка прокси-сервера Squid на CentOS 7 с использованием SAMS2 — пошаговое руководство

Операционные системы

Настройка прокси-сервера Squid на CentOS 7 с использованием SAMS2

Прокси-сервер является важным инструментом для организации сетевого доступа в организации. Он позволяет контролировать и фильтровать трафик, повышать безопасность и эффективность работы сети. Одним из наиболее популярных решений для настройки прокси-сервера является Squid – свободно распространяемое программное обеспечение с открытым исходным кодом. В данной статье мы рассмотрим процесс установки и настройки Squid на операционной системе CentOS 7.

Для управления доступом пользователей к прокси-серверу на базе Squid используется система учета и контроля доступа SAMS2. SAMS2 позволяет определить права доступа для различных пользователей и групп, а также контролировать использование прокси-сервера. Взаимодействие между Squid и SAMS2 осуществляется посредством модуля SquidGuard.

Установка и настройка прокси-сервера Squid с использованием SAMS2 на CentOS 7 требует выполнения нескольких шагов. Во-первых, необходимо установить сам прокси-сервер Squid и модуль SquidGuard. Затем следует выполнить настройку Squid, включая настройку прав доступа и параметров фильтрации. После этого производится установка и настройка SAMS2, включая создание базы данных пользователей и групп и настройку прав доступа.

Установка Squid на CentOS 7

Установка Squid на CentOS 7

Прежде чем начать установку Squid на CentOS 7, не забудьте обновить систему и выполнить все необходимые обновления. Это можно сделать с помощью следующих команд:

sudo yum update

Теперь, когда система обновлена, мы готовы установить Squid. Для этого выполните следующую команду:

sudo yum install squid

После завершения установки убедитесь, что служба Squid запущена:

sudo systemctl start squid

Теперь, когда Squid успешно установлен и запущен, вы можете настроить его для использования в качестве прокси-сервера.

Читать:  Установка Asterisk 16 на Debian 10 - подробное руководство

Установка пакета Squid

Установка пакета Squid

Перейдите в терминал и выполните следующую команду:

sudo yum install squid

Данная команда установит пакет Squid из официального репозитория CentOS 7.

После того, как установка завершится, можно приступить к настройке прокси-сервера Squid.

Конфигурация squid.conf

Конфигурация squid.conf

В этой таблице представлены основные параметры конфигурации squid.conf:

Параметр Описание Значение по умолчанию
http_port Порт прослушивания HTTP-трафика 3128
visible_hostname Имя хоста прокси-сервера, отображаемое в HTTP-заголовках none
acl Определяет список доступа (Access Control List) none
http_access Определяет правила доступа к ресурсам на основе ACL allow all
cache_dir Директория для кэширования ответов серверов none
cache_mem Определяет объем памяти, выделяемой для кэша 256 MB
cache_mgr Адрес электронной почты администратора прокси-сервера webmaster@localhost

Данные параметры могут быть изменены в соответствии с требованиями и настройками вашей сети. Вам также может быть интересно ознакомиться с другими параметрами конфигурации Squid для более тонкой настройки сервера.

Настройка брандмауэра

Настройка брандмауэра

При настройке прокси-сервера Squid на CentOS 7 с использованием SAMS2 необходимо также учитывать конфигурацию брандмауэра для обеспечения безопасности сети.

Для начала следует установить фильтр пакетов iptables, если он не установлен:

# yum install iptables

Затем необходимо настроить правила брандмауэра для разрешения соединений на порты, используемые прокси-сервером Squid.

Ниже приведены основные правила iptables для разрешения входящих и исходящих соединений на порты, используемые Squid:

# iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
# iptables -A OUTPUT -p tcp --sport 3128 -j ACCEPT

Также рекомендуется разрешить доступ на порт 80 для исходящих соединений:

# iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

Эти правила будут позволять входящие и исходящие соединения на порт 3128 (используемый Squid) и исходящие соединения на порт 80 (для доступа к веб-сайтам через прокси-сервер).

Читать:  Установка Webmin на CentOS 7. Пошаговое руководство для начинающих

После настройки правил брандмауэра следует сохранить их для дальнейшего использования:

# service iptables save

Теперь брандмауэр будет настроен для разрешения соединений на порты, используемые прокси-сервером Squid. Это обеспечит безопасность сети при использовании прокси-сервера.

Настройка SAMS2 для аутентификации пользователей

Настройка SAMS2 для аутентификации пользователей

Для обеспечения аутентификации пользователей через SAMS2 на прокси-сервере Squid необходимо выполнить следующие действия:

  1. Проверить доступность SAMS2 сервера. Убедитесь, что сервер SAMS2 находится в рабочем состоянии и доступен для подключения.
  2. Установить необходимые пакеты на прокси-сервер. Воспользуйтесь командой yum install python-requests для установки пакета python-requests.
  3. Создать файл конфигурации для SAMS2 аутентификации. Скопируйте пример конфигурационного файла sams2-auth.conf в директорию /etc/squid/.
  4. Отредактируйте файл конфигурации. Укажите адрес сервера SAMS2 в параметре sams2_server и порт в параметре sams2_port.
  5. Укажите список разрешенных групп пользователей. Для этого отредактируйте параметр allowed_groups и укажите идентификаторы групп через запятую.
  6. Создайте SAMS2 helper для Squid. Скопируйте скрипт sams2_auth.py в директорию /usr/lib/squid/ и сделайте его исполняемым.
  7. Отредактируйте файл squid.conf прокси-сервера. Добавьте следующие строки в секцию acl:
    • acl sams2_auth proxy_auth REQUIRED
    • acl allowed_users external sams2_auth
  8. Добавьте следующую строку в секцию http_access для разрешения доступа только аутентифицированным пользователям:
    • http_access allow allowed_users
  9. Перезапустите прокси-сервер Squid, чтобы применить настройки:
    • systemctl restart squid

После выполнения всех указанных действий пользователи будут аутентифицироваться через SAMS2 при попытке доступа к прокси-серверу Squid.

Установка и настройка SAMS2

Установка и настройка SAMS2

Для установки SAMS2 вам понадобятся следующие шаги:

  1. Установите зависимости: sudo yum install gcc-c++ make openssl-devel perl-ExtUtils-MakeMaker perl-Test-Simple
  2. Скачайте и распакуйте исходные файлы SAMS2: wget https://github.com/ddeniskin/sams2/archive/master.zip && unzip master.zip
  3. Перейдите в директорию с распакованными файлами: cd sams2-master
  4. Скомпилируйте и установите SAMS2: sudo make && sudo make install
  5. Настройте SAMS2, отредактировав файл конфигурации: sudo vi /etc/sams2/sams2.conf
  6. Создайте базу данных MySQL для SAMS2: sudo mysql -u root -p -e "CREATE DATABASE sams2;"
  7. Импортируйте структуру базы данных: sudo mysql -u root -p sams2 < sams2-master/sql/mysql.sql

Примечание: перед тем как продолжить, убедитесь, что у вас установлен и настроен MySQL сервер.

Теперь SAMS2 установлен и настроен для использования вместе с прокси-сервером Squid.

Читать:  Настройка web сервера nginx, php-fpm, php7 на CentOS 8

Настройка squid.conf для работы с SAMS2

Настройка squid.conf для работы с SAMS2

1. Откройте файл squid.conf в текстовом редакторе:

/etc/squid/squid.conf

2. Добавьте следующие строки в начале файла:

### Настройки для работы с SAMS2 ###
### Аутентификация пользователя ###
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/sams_redirector
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
### Авторизация пользователя ###
acl sams_users proxy_auth REQUIRED
### Правила доступа для SAMS2 ###
http_access deny !sams_users
http_access allow sams_users

3. Добавьте следующие строки в раздел иерархии:

### Раздел иерархии ###
### Отключение кэша для родительских прокси-серверов ###
hierarchy_stoplist cgi-bin ?
no_cache auth
cache_mem 256 MB
cache_dir ufs /var/spool/squid 10000 16 256
### Раздел аутентификации ###
### Аутентификация пользователя ###
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/sams_redirector
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
### Авторизация пользователя ###
acl sams_users proxy_auth REQUIRED
### Правила доступа для SAMS2 ###
http_access deny !sams_users
http_access allow sams_users

4. Сохраните файл и закройте редактор.

5. Перезапустите службу Squid для применения изменений:

systemctl restart squid

Теперь Squid настроен для работы с SAMS2. Пользователи, успешно авторизованные в SAMS2, смогут использовать прокси-сервер для доступа к веб-ресурсам.

Вопрос-ответ:

Видео:

100 бесплатных прокси за 2 минуты с помощью Python

Оцените статью
Умный дом своими руками
Добавить комментарий