• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

PFSENSE: Squid + ADGroups + HTTPS

Scheduled Pinned Locked Moved Russian
114 Posts 7 Posters 15.5k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F
    flamel
    last edited by flamel Jan 16, 2020, 11:34 PM Dec 12, 2019, 4:04 AM

    4f9adef8-c804-43b4-a05e-373c005b7f8f-image.png
    5f93b9d5-4c08-47eb-b4e0-6c7db22607fc-image.png
    Лупбэк выбираем для lightsquid, но о нём в другой раз (возможно).
    Отключаем Transparent HTTP Proxy
    Отключаем HTTPS/SSL Interception если включен (для фильтрации HTTPS трафика данная галочка не нужна).
    Затем идём на сервак с AD и формируем keytab файл.
    Для этого создаём доменную учетную запись для нашего прокси, ЕСЛИ У ВАС СЛОЖНАЯ СТРУКТУРА ДОМЕНА используйте ПРОСТОЙ пароль! Просто набор букв, без цифр, спецсимволов и заглавных(последнее не точно).
    Тут очень важен вопрос шифрования, у меня AES128 и AES256 не заработал(спасибо домену .local и еще очень многим факторам кривизны), но есть подтверждения что данная настройка работает.
    Но! Если решите использовать нормальное шифрование не забудьте включить его в настройках учетной записи в AD.
    5f468c07-5118-4bc0-b562-973e0271f501-image.png
    Сам кейтаб формируется командой ktpass, советую подробнее почитать что да как, прежде чем использовать её, но как пример:

    # ktpass -princ HTTP/pfsense.domain.local@DOMAIN.LOCAL -mapuser admin_squid -pass 3EYldza1sR -**crypto All** -ptype KRB5_NT_PRINCIPAL -out C:\keytabs\PROXY.keytab
    

    где crypto All не забудьте подставить своё! Я же использовал простое шифрование.

    После копируем полученный кейтаб файл на нашу машину, я для этого использовал Far, но тут кому как удобнее.

    Переходим в терминальный режим подключившись по SSH или напрямую и там редактируем /etc/krb5.conf согласно настройкам нашего домена (если его нет - создаём). Пример:
    fe16d5e3-d6df-4e62-b07f-0a390b1cbd41-image.png
    Желательно проверить работу kerberos с помощью kinit.
    Далее самое интересное, возвращаемся в pfsense, открываем squid и в самом низу открываем расширенные опции (перед этим во вкладке аутентификации главное отключить всё).
    В поле Custom Options (Before Auth) вносим следующее:
    bed5b9aa-f9a6-4f22-80b1-87c749f386f0-image.png

    И да, кейтаб используемый мной для аутентификации валяется именно по тому пути, не помню почему так, но вроде как оттуда хелперу легче его брать.
    Это и есть наша аутентификация, уже сейчас можно проверить её работу, при попытке идти в интернет пользователю домена должно пускать, а если локальный пользователь то запрашивать логин\пароль.
    SquidGuard:
    Устанавливаем также стандартным менеджером пакетов, здесь мы настроим наши группы доступа, вайт и блек листы и тд.
    В настройка SquidGuard, в блоке LDAP Options вводим данные нашей учетной записи используемой для керберос аутентификации в следующем виде:

    CN=sg,OU=service-accounts,DC=domain,DC=local
    

    В некоторых случаях данный блок надо заключить либо в одинарные, либо в двойные скобочки:

    'CN=sg,OU=service-accounts,DC=domain,DC=local'
    "CN=sg,OU=service-accounts,DC=domain,DC=local"
    

    Не могу сказать от чего это зависит, но в некоторых случаях решает проблемы, в моём работало и без скобочек.
    Обязательно ставим эти галочки:
    fce1ce90-77fa-4e15-96f5-394b145b59ee-image.png
    т.к вся эта система очень чувствительна к регистрам и тд.
    Далее переходим в раздел Groups ACL и в поле Client (source) формируем лдап запрос по которому будет производится поиск принадлежности пользователя к группе, как пример:
    a8f11fbb-16b0-4954-b28f-20c289b53b5c-image.png
    Здесь же настраиваем target rules лист и радуемся жизни - должно всё работать!)
    Ах да, чуть не забыл:
    7ad9cae9-6bbc-42aa-a2e5-5e75dcb48c8c-image.png
    Если что то забыл-прошу дополнить, отредактируем, надеюсь данная статья кому то поможет в настройке и реализации прокси)
    Извиняюсь за местами плохое качество текста, боролся с антиспамом akismet.com, будь он проклят.

    A 1 Reply Last reply Oct 27, 2021, 1:54 PM Reply Quote 4
    • W
      werter
      last edited by werter Dec 12, 2019, 2:21 PM Dec 12, 2019, 10:49 AM

      Добрый

      @flamel
      Спасибо за труд )

      Для этого создаём доменную учетную запись для нашего прокси,

      Я бы только на этой учетке поставил галку на "Без предварительной проверки подлинности Kerberos".

      В некоторых случаях данный блок надо заключить либо в одинарные, либо в двойные скобочки:

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

      Ошибка? В строке "auth_param negotiate program ..." указано "-k /usr/local/etc/squid/squid.keytab". Однако, выше в /etc/krb5.conf указано "default_keytab_name /etc/krb5.keytab". И согласно manpages.ubuntu.com/manpages/bionic/en/man8/negotiate_kerberos_auth.8.html

      -k Keytab-Name
      Provide Kerberos Keytab Name (Default: /etc/krb5.keytab)

      Ах да, чуть не забыл:

      Это можно прямо в ГУИ сквида делать? Есть ли пункт для таких случаев (что-то типа Custom Options (Before Start))? Сквид же правленное руками в его конфигах после ребута затирает ? Проверяли ребутом пф?
      Разобрался )
      manpages.ubuntu.com/manpages/bionic/en/man8/negotiate_kerberos_auth.8.html

      Kerberos can keep a replay cache to detect the reuse of Kerberos tickets (usually only
      possible in a 5 minute window) . If squid is under high load with Negotiate(Kerberos)
      proxy authentication requests the replay cache checks can create high CPU load. If the
      environment does not require high security the replay cache check can be disabled for MIT
      based Kerberos implementations by adding the below to the startup script or use the -t none option.

      KRB5RCACHETYPE=none export KRB5RCACHETYPE

      Т.е. или пользовать "костыль" в виде ручной правки squid.inc с добавлением строки с "KRB5RCACHETYPE=none export KRB5RCACHETYPE" или добавить в конец "auth_param negotiate program /path/to/negotiate_kerberos_auth" параметр "-t none". Что у вас и сделано.
      Смело можно удалять добавленную руками строку в squid.inc, перезагружать squid и проверять.

      На время теста можно добавить в "auth_param negotiate program /path/to/negotiate_kerberos_auth" параметр -d
      interface31.ru/tech_it/2015/06/nastraivaem-squid-dlya-raboty-s-active-directory-chast-2-kerberos-autentifikaciya.html

      Зы. Просьба, вместо скринов (части конфигов) пользовать текст.

      F 1 Reply Last reply Jan 12, 2020, 1:13 AM Reply Quote 0
      • F
        flamel @werter
        last edited by Jan 12, 2020, 1:13 AM

        @werter я полностью не разобрался с -t none и правкой записи в стартовом скрипте, но вроде правка записи в стартовом скрипте не работает именно на ПФсенс, мол где то это исправляется, сейчас уже не вспомню.
        Скрины были использованы потому что местный антиспам блокировал все :( пропустил только так

        1 Reply Last reply Reply Quote 0
        • W
          werter
          last edited by werter Jan 12, 2020, 10:17 AM Jan 12, 2020, 10:12 AM

          Добрый
          @flamel

          я полностью не разобрался с -t none и правкой записи в стартовом скрипте

          Объяснение и решение выше. Пробуйте.

          Скрины были использованы потому что местный антиспам блокировал все :( пропустил только так

          Пользуйте тэг "Code":

          40627d18-81de-435e-8cab-da6990ea4c71-image.png

          Пример:

          ldapusersearch ..
          
          F 1 Reply Last reply Jan 12, 2020, 10:16 AM Reply Quote 0
          • F
            flamel @werter
            last edited by Jan 12, 2020, 10:16 AM

            @werter в том то и дело) я его использовал, а все равно, я скрины делал с предпросмотра

            1 Reply Last reply Reply Quote 0
            • W
              werter
              last edited by werter Jan 12, 2020, 10:28 AM Jan 12, 2020, 10:23 AM

              This post is deleted!
              F 1 Reply Last reply Jan 12, 2020, 10:29 AM Reply Quote 0
              • F
                flamel @werter
                last edited by Jan 12, 2020, 10:29 AM

                @werter 😅 я не знаю как это работает, но у меня задница горела долго, потому что после каждого вырезанного куска кода и вставленного вместо него скриншота я пробовал опубликовать запись и каждый раз антиспам меня имел)

                1 Reply Last reply Reply Quote 0
                • W
                  werter
                  last edited by werter Jan 12, 2020, 10:31 AM Jan 12, 2020, 10:30 AM

                  This post is deleted!
                  F 1 Reply Last reply Jan 12, 2020, 10:33 AM Reply Quote 0
                  • F
                    flamel @werter
                    last edited by Jan 12, 2020, 10:33 AM

                    @werter это именно на сайте на этом встроенный антиспам как я понял, акисмет или как то так, возможно он ещё к рейтингу привязан какому нибудь

                    1 Reply Last reply Reply Quote 0
                    • W
                      werter
                      last edited by Jan 12, 2020, 10:34 AM

                      @flamel
                      Рейтинг? Хм, возможно )

                      F 1 Reply Last reply Jan 16, 2020, 3:48 AM Reply Quote 0
                      • F
                        flamel @werter
                        last edited by Jan 16, 2020, 3:48 AM

                        @werter Хотел допилить статью и включить туда Lightsquid для мониторинга трафика и тд по пользователям, к тому же вернули возможность ковырять это все и уже с 50 пользователей начали ходить через пфсенс, как выяснилось что lightsquid в пакетах есть, запущен, sqstat открывается, а lightsquid вообще не открывается, не по порту, не через http://ip/lightsquid/, есть где нибудь внятные инструкции или рекомендации? Уже вроде открыл порт для lightsquid, но толку нет, по порту просто ответ не приходит, а по ссылке выше 403 ошибка

                        1 Reply Last reply Reply Quote 0
                        • W
                          werter
                          last edited by Jan 16, 2020, 8:24 AM

                          @flamel
                          httpS://ip/lightsquid/ ?

                          lightsquid + pfsense --> гугл :
                          https://www.netgate.com/resources/videos/squid-squidguard-and-lightsquid-on-pfsense-24.html
                          https://shop.nativepc.ru/content/26--lightsquid-
                          https://1cloud.ru/help/bsd/nastroyka-proksi-servera-pfsense

                          F 1 Reply Last reply Jan 16, 2020, 8:40 AM Reply Quote 0
                          • F
                            flamel @werter
                            last edited by Jan 16, 2020, 8:40 AM

                            @werter lightsquid живёт на wan или на lan?
                            Видеоролик вообще крутой, он его просто включает и сразу он у него работает, браво😅 завтра попробую по одной из инструкций что то сделать, если получится - дополню инструкцию и пойду смотреть почему clamav не запускается)

                            1 Reply Last reply Reply Quote 0
                            • W
                              werter
                              last edited by werter Jan 16, 2020, 8:58 AM Jan 16, 2020, 8:55 AM

                              @flamel

                              Не, ну еси вам надо весь инет своим лайтсквидом "обслуживать" - тада и на ВАН тоже ) Все же надо думать немного.

                              LAN + loopback (если выбирается)

                              ClamAV? Сразу НЕТ. Выкл. и даже не думайте его пользовать. Толку-нуль, а проблем типа "апачимуминяниработаить" - куча.

                              F 1 Reply Last reply Jan 16, 2020, 9:27 AM Reply Quote 0
                              • F
                                flamel @werter
                                last edited by Jan 16, 2020, 9:27 AM

                                @werter у меня и Лан и Ван просто в локале торчат) в интернет не они смотрят

                                1 Reply Last reply Reply Quote 0
                                • W
                                  werter
                                  last edited by werter Jan 16, 2020, 10:26 AM Jan 16, 2020, 10:25 AM

                                  @flamel
                                  Тогда и WAN у вас НЕ WAN в прямом понимании этой аббревиатуры.

                                  1 Reply Last reply Reply Quote 0
                                  • milleniumM
                                    millenium
                                    last edited by Jan 16, 2020, 10:56 AM

                                    Дошел до первой проблемы!

                                    Проверка kinit: kinit my.user@MYDOMAIN.LOCAL

                                    выдает: kinit: krb5_init_context failed to parse configuration file

                                    куда смотреть?

                                    F 2 Replies Last reply Jan 16, 2020, 11:25 AM Reply Quote 0
                                    • F
                                      flamel @millenium
                                      last edited by Jan 16, 2020, 11:25 AM

                                      @millenium по моему такая ошибка возникает если крб файл неправильно сконфигурирован, попробуйте другие способы создания и передачи файла

                                      1 Reply Last reply Reply Quote 0
                                      • F
                                        flamel @millenium
                                        last edited by Jan 16, 2020, 11:27 AM

                                        @millenium я бы ещё крб5.конф глянул, там синтаксис должен соблюдаться и синхронизацию нтп проверить стоит. А также пингануть контроллер домена

                                        milleniumM 1 Reply Last reply Jan 16, 2020, 11:28 AM Reply Quote 0
                                        • milleniumM
                                          millenium @flamel
                                          last edited by millenium Jan 16, 2020, 11:30 AM Jan 16, 2020, 11:28 AM

                                          @flamel КД пингуется, по имени, все ок.

                                          какие еще способы конфигурирования krb5 есть?

                                          и в какую дерикторию его лучше класть?

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received