Настройка Squid 3 + QuintoLabs Content Security 1.4 и интеграция с Active Directory | ||
Администрирование > Разное Про Squid рассказывать не буду, а про возможности QCS расскажу.
Что же умеет делать QuintoLabs Content Security * Удаляет назойливую рекламу * Запрет на закачку файлов * Групповой контроль * Исключение любого домена, подсети, ip из фильтра * Высокая производительность * Легкая настройка и обслуживание * Поддержка дистрибутивов RedHat, CentOS, Fedora, Debian, Ubuntu Про Squid рассказывать не буду, а про возможности QCS расскажу. Что же умеет делать QuintoLabs Content Security * Удаляет назойливую рекламу * Запрет на закачку файлов * Групповой контроль * Исключение любого домена, подсети, ip из фильтра * Высокая производительность * Легкая настройка и обслуживание * Поддержка дистрибутивов RedHat, CentOS, Fedora, Debian, Ubuntu Для настройки связки у нас имеется предварительно настроенный 1) dc.example.lan [192.168.28.20] — Win2K2008 с DNS и Active Direcory 2) 192.168.28.2 — Шлюз 3) DNS [192.168.28.20] 3) example.lan — Домен 4) proxy.example.lan [] — Наш сервер CentOS 6 5) client.example.lan [] — Клиент Win7 Далее будем настраивать на proxy сервер(CentOS) с учетом того что сервер на Win2K2008 с нужными нам службами настроен Настраиваем статический ip в /etc/sysconfig/network-scripts/ifcfg-eth0: BOOTPROTO=static NETMASK=255.255.255.0 IPADDR=192.168.28.21 ONBOOT=yes Выставляем шлюз /etc/sysconfig/network: GATEWAY=192.168.28.2 Указываем dns в /etc/resolv.conf: nameserver 192.168.28.20 Рестарт сетевых интерфейсов /etc/init.d/network restart Пингуем: $ping -c 3 192.168.28.2 Если все удачно. то можно двигаться дальше Обновляемся: yum update а после ставим дополнительные пакеты: yum install bind-utils устанавливаем ntp yum install ntp добавим в автозагрузку chkconfig ntpd on Открываем /etc/ntp.conf и добавляем на контроллер домена в конфиг Останавливаем сервис: service ntpd stop Синхронизируемся с нашим dc: ntpdate -b dc.example.lan и запускаем обратно сервис ntp: service ntpd start Устанавливаем kerberos: yum install krb5-workstation krb5-libs Приводим конфиг /etc/krb5.conf к аналогичному виду: [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = EXAMPLE.LAN dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true default_tgs_enctypes = rc4-hmac default_tkt_enctypes = rc4-hmac permitted_enctypes = rc4-hmac [realms] EXAMPLE.LAN = { kdc = dc.example.lan admin_server = dc.example.lan default_domain = example.lan } [domain_realm] .example.lan = EXAMPLE.LAN example.lan = EXAMPLE.LAN Пробуем получить билетик: kinit Administrator@EXAMPLE.LAN Если прошло все без проблем то проверяем выданный нам билет: klist и видим: Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@EXAMPLE.LAN Valid starting Expires Service principal 12/07/11 11:07:58 12/07/11 21:08:00 krbtgt/EXAMPLE.LAN@EXAMPLE.LAN renew until 12/14/11 11:07:58 Перегружаемся: shutdown -r now Устанавливаем sabma и заводим наш сервер в домен yum install samba добавляем в атозагрузку: chkconfig smb on Открываем конфиг самбы /etc/samba/smb.conf и приводим его к такому виду: [global] workgroup = EXAMPLE realm = EXAMPLE.LAN server string = Samba Server Version %v security = ADS log file = /var/log/samba/log.%m max log size = 50 cups options = raw [homes] comment = Home Directories read only = No browseable = No [printers] comment = All Printers path = /var/spool/samba printable = Yes browseable = No Перезапустим самбу: service smb restart Инициализируем kerberos: kinit Administrator@EXAMPLE.LAN klist net ads join -S dc.example.lan -U Administrator%P@ssw0rd Открываем оснастку AD и проверяем появился ли наш proxy сервер в OU «Computers» Видим положительный результат и опять ребут: shutdown -r now Устанавливаем Squid: yum install squid Открываем /etc/squid/squid.conf, находим нужные нам строки и заменяем их: visible_hostname proxy.example.lan http_access allow localnet and acl localnet src 192.168.28.0/24 Добавляем в автозагрузку: chkconfig squid on Перезапустим сервис: service squid start Добавим запись по умолчанию в файл /etc/krb5.keytab net ads keytab add HTTP -U administrator Processing principals to add... Enter administrator's password: Изменяем владельца файла: chown squid:squid /etc/krb5.keytab и выставляем chmod: chmod 400 /etc/krb5.keytab Меняем содержимое конфига в /etc/squid/squid.conf: auth_param negotiate program /usr/lib/squid/negotiate_kerb_auth -s HTTP/proxy auth_param negotiate children 10 auth_param negotiate keep_alive on acl auth proxy_auth REQUIRED http_access deny !auth http_access allow auth http_access deny all После этого перегружаем наш сервер, и на клиентской тачке, открываем ie и проверяем аутентификацию. Если все прошло удачно то в логах /var/log/squid/*.log мы увидем нашего пользователя Далее устанавливаем apache yum install httpd php mod_wsgi Добавляем в автозагрузку chkconfig httpd on Запускаем apache: service httpd start Переходим к финальной части, устанавливаем QuintoLabs Content Security 1.4.2 Скачиваем: curl http://quintolabs.com/qlproxy/binaries/1.4.2/qlproxy-1.4.2-32d12.i386.rpm > qlproxy-1.4.2-32d12.i386.rpm Устанавливаем: rpm --install qlproxy-1.4.2-32d12.i386.rpm Для блокировки рекламы достаточно раскоментировать нужную нам подписку в файле /opt/quintolabs/qlproxy/etc/adblock.conf По желанию можно повысить эвристику фильтра для онлайн игр в файле /opt/quintolabs/qlproxy/etc/adultblock.conf Ищем строку: heuristics_level = normal и normal меняем на high: heuristics_level = high В конфиге /opt/quintolabs/qlproxy/etc/exceptions.conf можно настроить родительский контроль, поддерживающий фильтрацию html страниц для запрещеных слов и фраз. А в конфиге /opt/quintolabs/qlproxy/etc/httpblock.conf можно настроить защиту от троянов и вирусов которые часто посылают запросы по IP: http://\d+\.\d+\.\d+\.\d+/.* После всех изменений перезапускаем демон: /etc/init.d/qlproxy restart Открываем конфиг squid /etc/squid/squid.conf и вносим изменения для взаимодействитя с нашим фильтром: icap_enable on icap_preview_enable on icap_preview_size 4096 icap_persistent_connections on icap_send_client_ip on icap_send_client_username on icap_service qlproxy1 reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod icap_service qlproxy2 respmod_precache bypass=0 icap://127.0.0.1:1344/respmod adaptation_access qlproxy1 allow all adaptation_access qlproxy2 allow all Перегружаем сервис squid: service squid restart Далее правим конфиг apache /etc/httpd/httpd.conf и добавляем: WSGIScriptAlias /qlproxy.cgi /var/opt/quintolabs/qlproxy/www/data/qlproxy.wsgi WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all Alias /qlproxy /var/opt/quintolabs/qlproxy/www Options FollowSymLinks AllowOverride None Перегружаем apache service httpd restart И соответственно проверяем всю работу сервера и фильтарции в том числе. Источник: http://habrahabr.ru/blogs/sysadm/136205 |
||
Комментарии | ||