Внедрение прокси-сервера Squid с антивирусом ClanAV и фильтром Dasnguardian.

Squid - это полнофункциональное приложение кэширующего прокси сервера, которое предоставляет сервисы кэширования и прокси для HTTP, FTP и других популярных сетевых протоколов. Squid может осуществлять кэширование и проксирование SSL запросов и кэширование результатов DNS поиска, а также выполнять прозрачное кэширование. Squid также поддерживает широкий набор кэширующих протоколов, таких как ICP (кэширующий интернет протокол), HTCP (гипертекстовый кэширующий протокол), CARP (протокол кэширования маршрутизации) и WCCP (кэширующий протокол перенаправления контента).

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

Установка: В терминале вводим следующую команду для установки сервера Squid:

sudo apt-get install squid

Настройка Squid

Squid настраивается редактированием директив, содержащихся в конфигурационном файле /etc/squid/squid.conf. Следующие действия иллюстрируют директивы, которые могут быть изменены для воздействие на поведение сервера Squid.

Прежде, чем редактировать конфигурационный файл, нужно сделать копию оригинального файла и защитить ее от перезаписи, чтобы под рукой всегда оставались оригинальные настройки в качестве справочника и для повторного использования при необходимости.

Скопируем файл /etc/squid/squid.conf и защищаем его от записи следующими командами в терминале:

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.originalsudo chmod a-w /etc/squid/squid.conf.original

1. Для настройки сервера Squid на прослушивание порта 8888 вместо стандартного 3128, изменяем директивуhttp_port.

http_port 8888

2. Изменяем директиву visible_hostname для того, чтобы присвоить серверу Squid определенное имя хоста (hostname). Это имя необязательно должно быть именем хоста компьютера, например, weezie:

visible_hostname weezie

3. Используя контроль доступа Squid, настраиваем так, чтобы использование интернет сервиса прокси было доступно только пользователям с определенных IP адресов. Например, доступ пользователей только из подсети 192.168.42.0/24:

Добавляем следующее в конец секции ACL файла /etc/squid/squid.conf:

acl fortytwo_network src 192.168.42.0/24

Затем добавляем следующее в начало секцииhttp_access файла /etc/squid/squid.conf:

http_access allow fortytwo_network

4. Используя великолепные возможности контроля доступа Squid, возможно настроить возможность использования интернет сервиса прокси только в обычные рабочие часы. Например, настроить доступ сотрудников, которые работают с 9:00 до 17:00 с понедельника по пятницу из подсети 10.1.42.0/24:

Добавляем следующее в конец секции ACL файла /etc/squid/squid.conf:

acl biz_network src 10.1.42.0/24acl biz_hours time M T W T F 9:00-17:00

Затем добавляем следующее в начало секции http_access файла /etc/squid/squid.conf:

http_access allow biz_network biz_hours

После внесения изменений в файл /etc/squid/squid.conf сохраняем его и перегружаем приложение сервера squid, чтобы изменения вступили в силу, следующей командой в терминале:

sudo /etc/init.d/squid restart

мы используем для подключения к провайдеруL2TP, то для этого понадобится установить xl2tpd — демон l2tp и pppd — демон ppp.

Устанавливаем:

sudo apt-get install pppd xl2tpd

Редактируем файл настроек xl2tpd:

sudo nano /etc/xl2tpd/xl2tpd.conf[global]access control = yes # разрешать соединения только с адресами из lac секций[lac beeline]lns = tp.internet.beeline.ru # адрес для подключенияredial = yes # "перезвонить" при потере связиredial timeout = 10 # время между попытками переустановить связь после обрыва(в секундах)max redials = 100 # максимальное количество попытокautodial = yes # устанавливать соединение при запуске xl2tpdrequire pap = no # не использовать pap аутентификациюrequire chap = yes # использовать chap аутентификацию require authentication = no # не использовать аутентификацию удаленного сервераname = 000ххххххх # логинpppoptfile = /etc/ppp/options.l2tp # файл с опциями pppppp debug = yes # вывод подробной информации pppd в syslogtx bps = 100000000 # скорость туннеля

Затем редактируем:

sudo nano /etc/ppp/options.xl2tp000ххххххх #номер договораnoauthnobsdcomp # nodeflate # параметры сжатия пакетовnopcomp # noaccomp # connect /bin/trueremotename beeline # метка для удаленного сервераipparam beeline # дополнительный параметр для системных скриптовdefaultroute # маршрут по умолчанию через ppp интерфейсreplacedefaultroutemtu 1460

Записываем в файл chap-secrets логин и пароль:

sudo nano /etc/ppp/chap-secrets:login * password

Запускаем xl2tpd,

sudo service xl2tpd start

соединение должно быть установлено.

На установленной машине Интернет появился. Теперь надо добавить включить все репозитарии в /etc/apt/source.list и выполнить:



sudo apt-get update

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

- Установите и запустите пакет для раздачи пакетов по сети:

sudo apt-get install dnsmasq

Или, вы можете использовать DNS провайдера.

- Так же необходимо установить пакет ipmasq для NAT:

sudo apt-get install ipmasq

Вот и всё!

Теперь редактируем конфигурационный файл. Открываем /etc/squid/squid.conf, ищем нужные строки и корректируем следующим образом:

http_port 3128 #<<< раскомментировать эту строчкуcache_dir ufs /var/spool/squid 100 16 256 #<<< раскомментировать эту строчкуacl our_networks src 192.168.0.0/24 #<<< раскомментировать эту строчкуhttp_access allow our_networks #<<< раскомментировать эту строчкуvisible_hostname proxy.localdomain #<<< добавить строчку, взамен строки 2161

Перезапускаем прокси-сервер командой:

/etc/init.d/squid restart

Настраиваем браузеры на клиентских машинах на использование прокси: адрес прокси - пишем IP адрес интерфейса, обращенного в локальную сеть. Это будет 192.168.0.1, порт прокси - указанный в конфигурационном файле 3128.

http_port 3128 transparent

Затем для заворачивания нужных портов на прокси-сервер прописывается правило:

iptables -t nat -A PREROUTING -i eth0 ! -d 192.168.0.0/24 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.1:3128

Раздача Интернета в локальную сеть c помощью firestarterFirestarter – это средство для создания межсетевых экранов для Linux, использующее GNOME. С помощью мастера можно создать базовый межсетевой экран, в дальнейшем его возможности расширяются с помощью динамических правил. Несколькими щелчками мыши можно открывать и закрывать порты или скрывать сервисы, оставляя доступ только к некоторым из них. В программе имеется монитор, который в режиме реального времени показывает попытки поиска злоумышленниками открытых портов.

Для начала установим firestarter:

sudo apt-get install firestarter

При настройке указываем интерфейс с Интернетом — ppp0 раздавать на eth1

Наши рекомендации