Прокси+firewall. Часть восьмая, прокси https на squid.
HTML-код
- Опубликовано: 18 авг 2017
- Добавляем функцию проксирования https в наш squid. Будем использовать пакет openssl для работы с сертификатами, соберем свой собственный squid с нужными опциями.
Мануал: github.com/ksemaev/manuals
Мануал: yadi.sk/d/6PE3ywP8zajxt
Рад Вас видеть! За команду удаления закоментированных строк отдельное спасибо :-)
дружище, +100 лет тебе к здоровью за все твои уроки!
С возвращением, годнота подъехала ! :)
Отлично просто! спасибо, что не забываете о нас!
Подписался на этой неделе. Начал смотреть. А тут он ещё и возвращение) удачненько я)
С Возвращением! Очень ждали!
Работа проделана огромная! Очень интересно. Свой домашний шлюз так и не осилил. Будет повод покопаться еще. Плохо только что все эти штуки быстро устаревают. Огромное спасибо!!!
Не, базовые как раз не устаревают. Только всякие хипстерские навороты и всякие systemd
С возвращением!!! Рады Вас видеть в эфире!
С Возвращением!
Спасибо)
С нетерпением жду продолжение банкета про написание собственного сервиса, точнее запаковка в RPM
Спасибо за видео, с возвращением и успехов.
Я соскучился. Уже и забыл что есть качественный контент на ютубе)
Уже разобрался, но посмотрел всё равно. С возвращением)
Кирилл спасибо большое за Ваш труд!!!
Отлично!!! Давно ждал пересборку сквида из исходников под HTTPS
ух! я уж думал всё. с возвращением! твой труд очень полезен, продолжай:)
Никогда так не ждал возвращения человека . Спасибо за ваши видео. Может еще Ansible захватите ?
С возвращением! Совсем заждались)
Ура . Вернулся наш учитель.
Супер. С возвращением!
С возращением, очень рады! ;)
Омагад ты жив, я так рад
Круто, с возвращением!
С возвращением!
Наконец-то вернулся! Снова подписка
Kirill Semaev
Спасибо большое за хорошую инструкцию :)
Кирилл, спасибо что не забросили канал!
Спасибо, давно ждал!
Кирилл рад видеть!)
Ура!! Очень ждали!!)
Кирилл, вы живы! Я то было испугался что с вами что то случилось
Да я сам испугался. Нельзя так работать...
Емае на конец то вернулся заждался уже
Ура, Кирилл!!! Я уж было думала, что вас скрали!
Почаще бы видео!
Сейчас поток наладим)
ООООООООООгромное спасибо... хоть в немного, но утряслось!
Спасибо за курс Кирилл, очень интересно подаешь материал. У меня просьба, расскажи про таблицу Mangle которой мы так и не коснулись, и еще просьба рассказать про настройку безопасности ssh в iptables в частности флаги fin syn и т.д. Заранее спасибо...
Мне кажется как раз в lpic-2 это будет
И да лайк за видос!
не, Кирилл, донаты надо прикрутить. Ваш труд должен быть оплачен
Круто, спасибо
Хочу пожелать Вам здоровья и сил, столько бесплатной инфы, я искренне благодарен за Ваш труд! побольше бы таких как вы людей! Могу ли я к этому сборному сквид прикрутить squidGuard и могу ли я блочить вообще https ресурсы?
Спасибо) Вот тут под конец написано как блочить: imbicile.pp.ru/ubuntu-16-04-prozrachnyj-squid-https/
Я так понял, эта инструкция предполагает подмену сертификата ssl?
там два варианта... или вы только заголовок прочитали ?
Да,да повылазило, у меня при команде apt-get source squid3
вылетает туевая туча ошибок:
NOTICE: 'squid3' packaging is maintained in the 'Git' version control system at:
git://anonscm.debian.org/pkg-squid/pkg-squid3.git/
Please use:
git clone git://anonscm.debian.org/pkg-squid/pkg-squid3.git/
to retrieve the latest (possibly unreleased) updates to the package.
Skipping already downloaded file 'squid3_3.5.23-5.dsc'
Skipping already downloaded file 'squid3_3.5.23.orig.tar.gz'
Skipping already downloaded file 'squid3_3.5.23-5.debian.tar.xz'
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
Can't locate Tie/Handle.pm in @INC (you may need to install the Tie::Handle module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/lib/x86_64-linux-gnu/perl-base/parent.pm line 20.
BEGIN failed--compilation aborted at /usr/share/perl5/Dpkg/Compression/FileHandle.pm line 32.
Compilation failed in require at /usr/share/perl5/Dpkg/Interface/Storable.pm line 27.
BEGIN failed--compilation aborted at /usr/share/perl5/Dpkg/Interface/Storable.pm line 27.
Compilation failed in require at /usr/lib/x86_64-linux-gnu/perl-base/parent.pm line 20.
BEGIN failed--compilation aborted at /usr/share/perl5/Dpkg/Deps.pm line 561.
Compilation failed in require at /usr/bin/dpkg-source line 40.
BEGIN failed--compilation aborted at /usr/bin/dpkg-source line 40.
Unpack command 'dpkg-source -x squid3_3.5.23-5.dsc' failed.
Check if the 'dpkg-dev' package is installed.
E: Sub-process dpkg-source returned an error code (1)
я делал на чистой ubuntu server 16, всё работает, и фильтрация тоже...
С возвращением! Стоящие и интересные уроки, некоторые из которых подвигли написать статьи. Интересно узнать Ваше мнение о дистрибутиве Slackware. Еще раз спасибо!
Спасибо) толком со Slackware не работал, ничего не скажу)
и где мы были?! с возвращением и огромное спасибо!
В Ланите. И остался. Но график свой пересмотрел)
В связи с последними изменениями в RHEL - хотелось бы цикл статей про командную аналогию RHEL 6 и RHEL 7.
Было бы здорово продолжать тему и развивать. На пример делать кэш ютуба через squid
С Возвращением, спасибо Кирилл за ваши труды, очень нравятся как вы ведете курсы. Скажите а будут уроки по шейперу трафика или ограничении скорости интернета ?
попробую захватить
ура!
Кирил у вас дар преподавать! Спасибо за труды. Все абсолютно понятно. Все 7 уроков вообще прошли без запинок. Только вот с 8 сложности. Просто у меня CENTOS 7 стоит. и не получается пересоздать пакет с --enable-ssl и --with-openssl. Если можно показать урок 8 на Центос я был бы очень благодарен.
я вот все в течении месяца под centos перепишу
Спасибо за крутые видео с ценной информацией! Благодарен за ваши труды. Скажите пожалуйста, будет ли работать такая система: На машине номер один стоит сквид, на машине номер два через iptables настроено перенаправление пакетов, и в итоге машина номер три через машину номер два выходит в интернет под ip адресом машины номер один. Будет ли это работать?
ещё если у вас больше 10 клиентов, то нужно использовать bind!!!
dnsmasq отваливается, соответственно перестаёт работать dns (((
Автору ролика респект, наконец то я собрал шлюз своей мечты ))))
ps: sudo service dnsmasq status
да, dnsmasq крайне слаб
С возвращением. Спасибо за то что вы делаете, очень много полезной информации. Не пропадай)
Планируется ли рассмотрение почтового сервера или кластеризации?
Игорь Витько я за почтовый сервер
я тоже за почтовый сервер (postfix)
Рекомендую посмотреть сайт serveradmin.ru там есть мануалы по почтовикам и многому другому.
Когда Кирилл перестал выкладывать ролики, нашел вот этот сайт, на котором после курсов Кирилла тоже оказалось очень все доступно расписано
MaxiMiliaN Да, хороший сайт. Часто его посещаю.
С возвращением ))) у вас в планах не найдется местечко для docker?
Сам очень хочу, я глубоко в него закопался. Попробуем по времени
было бы не плохо. В сети нормальный курс не нашел, есть неплохая книга по докеру (если смотреть литературу на русском - www.ozon.ru/context/detail/id/139411597/ правда нет в наличии уже целую кучу времени), есть курс на stepik ( stepik.org/course/1612 ) правда если с нуля сложновато.
и по Puppet вдогонку!)
Кирилл, благодарю за видео! Подскажите, а где можно прописать в конфиге, если на сервере 3 интернет канала, чтобы создать отдельный порт на каждый интерфейс интернет-канала, чтобы таким образом можно было подключаться по нужному порту, использую необходимый интернет-канал?? Благодарю.
Похоже, это вопрос к iptables
чтоб открыть нужный порт, надо указывать в iptables или squid.conf-e ?
А момент про обновление squid не был рассмотрен. У меня он обновился, спросил только про файл настроек заменить/оставить, а потом не запускается - ошибку выдает. Посмотрел, а там пунктов, добавленных при сборке - нет.
а можно скомпилированный выложить ?
при неудаче для выхода из телнет попробуй: Ctrl+\
Я конечно понимаю, что вопрос не в кассу... Но задам! Как мне кажется это довольно популярный процесс добавления в squid протоколов ssl?!? Почему же ему просто не добавят возможность работы с ssl сами разработчики?
Не знаю, какая версия Убунту установлена на демо-стенде, но предпочтительнее использовать вместо ifconfig команду ip a, вместо netstat - команду ss
Установи пакет net-tools
Привет, Кирилл. Ты еще сайт указывал в старых видео в описании. Интересно было бы посмотреть, но он сейчас не работает. Как понял там еще какие-то методички упоминал, уже не вспомню в каком из видео. Если есть материалы с сайта, выложи пожалуйста.
все перевез на гитхаб: github.com/ksemaev
Спасибо
Кирилл, а будет ли лекция по policy routing? я думаю тема 2-х провайдеров на шлюзе актуальна
Хорошая идея, можно продолжить в этом направлении.
Спс, жду)
собралась почему то версия 3.5.27
Спасибо, очень полезно!
Подскажите, если я правильно понял, то данная тестовая машина также является шлюзом.
Можно ли таким же образом подготовить прокси на отдельной машине и переадресовать на неё с шлюза?
Пробовал, не получилось. Наверно что-то упускаю(
можно, но это странная задача с костыльном топологией у вас выходит. Шлюз должен стоять на пути трафика, а у вас он просто в стороне в локалке, значит теоретически его вообще можно обойти.
шлюзом является микротик, получилось сделать так:
на нем маркирую трафик, и для трафика с отметкой создаю отдельный маршрут с более приоритетной метрикой который идет на linux с сквидом.
Цель наоборот упростить. В сети существуют компьютеры которые используют прокси, с времен когда необходимо было предоставлять отчет о том кто что посещает, часть без прокси.
идея в том чтобы перевести всех на без прокси, может обойтись средствами микротика.
Но на случай необходимости снимать отчет заинсталю linux и включу дополнительный маршрут; не нарушая спокойствия пользователей пущу их через прокси. не люблю бегать
З.Ы. прокся не в локалке, и её нельзя обойти
я все равно не понимаю) Ну пустить тупо весь трафик с микротика в прокси, прям кабелем единственным и всех пускать в инет через прокси - чем не подходит? Надо кого-то в обход прокси пускать?
Смысл в том что я не хочу усложнять конфигурацию всего остального что уже есть.
Сквид нужен только для того, чтобы формировать красивые отчетики по запросу от руководства, о том куда кто ходит(Squid Analyzer).
Идея в том, что я, как раз благодаря вашему видеоуроку, научился делать прозрачную проксю которую можно поднять отдельно(включить на время) переадресовать на неё нужный трафик (например действительно не всех) и получить отчет.
Есть только одна причина почему для меня не подходит держать проксю прямо в локалке:
шейпинг трафика сглаживает по источнику, и если прокся будет в локалке трафик всего офиса будет для микротика как-бы из одного источника.
Все шло отлично до момента начала сборки squid3.3.5.23 Поперли ошибки с команды dpkg -i *.deb и squid не собрался. Собирал в Debian 9.3. Поможете?
Да, скоро в мануал опишу для актуальных дистрибов
Спасибо за информацию! Я правильно понимаю, что если я хочу резать https и http сайты, то надо конфигурить squid.conf? Все шаги из уроков проделал, порты 3128, 3129
слушаются. Куда двигаться дальше?
скоро накатаю продолжение)
Очень жду. Надо оперативно решить задачу по контролю траффика, пока наверное буду смотреть в сторону untangle или зентал
Здравствуйте! Можно ссылку на продолжение?
Кирилл, не планируете ли вы в будущем видео по работе с базами данных (в особенности их резервное копирование, репликация, отказоустойчивость)? Сейчас это одна из основных обязанностей linux-админа в любой продуктовой конторе, а тема очень непростая и мало освещаемая на просторах российского RUclips.
вообще это задача dba, и я сам настолько глубоко это не умею, но как раз сейчас пытаюсь постигнуть
Может кому пригодится! А может даже если повезет то сам Кирил перезапишет видео так как вот тут в статье habrahabr.ru/post/267851/ говорится:
Дело в том, что в Openssl имеются кое какие баги, которые исправлены в библиотеке Libressl. Поэтому необходимо сначала интегрировать в систему Libressl, потом уже после внесения патча в файл bio.cc в исходниках Squid приступать к компиляции последнего. Поехали!
Не в упрек Вам Кирил! (очень хочется пожать Вам руку за проделанною работу на канале) Но мне кажется, что вся серия прокси становится бесполезной из-за того, что полноценно ssl не будет работать!
Хорошо бы этот ролик переснять раз в 5 лет. Часть ключей уже не работает в конфигах.
Скачал отсюда исходники, launchpad.net/ubuntu/+source/squid3/3.5.23-1ubuntu1
собрал.
Всё заработало, ушли тормоза.
Странно, что в убунту, не обновляются пакеты...
Спасибо за подсказку, очень помогли! Уже думал бросать урок... В итоге все собралось из вашего источника.
Кирилл, ждал вашего возвращения больше дня рождения :3 Напомните, куда донат кидать? На ваш сайт не заходит.
Все, нет донатов, они даже хостинг не оплачивают)) Спасибо за намерения)
Привет! Это как раз таки то что я искал. У меня такой вопрос, можно ли поднять squid на виртуальной машине на виндовом сервере и раздавать от него интернет на клиенты в локальной сети?
Можно! Я так и сделал! Windows server 2016 core все работает!
балин, проконсультируй, а. пжл. Есть вк?
Дак я как бы тоже не спец... У меня сервак с двумя сетевыми. Создал в диспетчере виртуальных комутаторов два моста (внешняя сеть) и все... У меня проблем с установкой не возникало! В вк есть но захожу туда крайне редко! Пиши pavel.kryachko@gmail.com
В Win10 не обязательно ставить telnet. Есть командлет powershell Test-NetConection.
Спасибо! А то я уже ушел от винды далеко, и не сильно владею ей)
Вам, спасибо за годный контент.
Привет! такой вопрос, как с помощью squid разрешить только один домен *.сom.ua?
так например: stackoverflow.com/questions/10599122/restrict-squid-access-to-only-one-site
По сути, действия этого прокси можно отнести к MITM-атаке).
А как иначе? Му@даки из Гугл и прочих помоек постарались, чтобы их реклама была защищена
Кирилл ,подскажи пожалуйста ,не собирается deb пакет
/usr/share/cdbs/1/class/makefile.mk:47: recipe for target 'debian/stamp-makefile-build' failed
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
делаю все так же как у тебя в уроке
решил ,проблема в --enable-ssl--crtd с этим параметром не собирается почему-то
Привет! такая же проблема! Не нашел решения еще?
@@user-md1nu4hu6c привет,ответ мой выше
@@aestheticsbody9623 Вижу, что написали " проблема в --enable-ssl--crtd". Хорошо)) так и что? Просто убрали параметр и без него собрали?
@@user-md1nu4hu6c да
ещё SNAT меньше нагружает процессор, чем MASQERADE ... проверено!!!
Если при сборке пакеты выходит ошибка:
../../src/ssl/gadgets.h:116:58: error: template argument 3 is invalid typedef LockingPointer SSL_Pointer;
Решение:
apt-get install libcrypto++-dev libssl1.0-dev
Перезапускаем сборку с ключами dpkg-buildpackage -us -uc -b -d
Чтобы не было не было ошибки
dpkg-buildpackage: error: failed to sign .dsc and .changes file
Воу воу воу, а где часть 7я и ...
Все в этом же плейлисте: ruclips.net/p/PLmxB7JSpraifsRUrtq2Y-il5NCLc3vKho
Kirill Semaev благодарю ☺️
Здравствуйте.
dpkg-buildpackage -d
Ошибка у меня при сборке пакета.
squid3-3.5.12/config.log
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/squid3_3.5.12-1ubuntu7.5.diff.2TWLjo
dpkg-buildpackage: error: dpkg-source -b squid3-3.5.12 gave error exit status 2
спасибо!
тут надо смотреть этот файл как раз /tmp/squid3_3.5.12-1ubuntu7.5.diff.2TWLjo но скорее всего вы там что-то поправили и надо с ноля перебрать
@@KirillSemaev Спасибо! Да вы были правы.
Мною изначально это всё делалось для фильтрации https. Всё получилось с первого раза, начал подключать блэклист ничего не фильтрует. Может быть я неправильно прописываю сайты в чёрный список...? Может кто, что подскажет...?
Столкнулся с тем же самым! Вы уже нашли решение?
Блокировка только по IP, чтоб узнать IP команда nslookup. Больше пока решений не нашёл...:-(
дело в том что современные браузеры сами резолвят домены и обращаются к нужным сайтам уже по ip. поэтому squid в режиме прозрачного прокси (intercept ) не сможет фильтровать c ssl-bump'ингом по доменным именам. в логах squid это замечательно видно. если хотите чтобы работали фильтры по доменным именам, то настройте squid в режиме кэширующего прокси. но тогда нужно будет сгенерировать сертификат и добавить его в доверенные корневые сертификаты каждого компьютера, который будет выходить через squid в интернет. и конечно же на каждом компьютере принудительно прописать прокси 192.168.ххх.ххх:3128.
и еще если для вас важнее в конфиге bump'ить большую часть соединений то используйте "stare" а не "peek"
If bumping is more valuable/important than splicing in your environment, you should "stare" instead of peeking. Staring usually precludes future splicing, of course. Pick your poison.
Be back
не открывается youtube.com всё перепробовал, в чём дело ?
2017/08/24 10:41:05 kid1| Error negotiating SSL on FD 15: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed (1/-1/0)
эта ошибка в логах
решение не нашел??такая же фигня
А как всë что мы сделали, проверить
Найти свежую статью по настройке прокси
почему то это всё очень медленно работает, у Вас как ?
вобшем прописал
dns_nameservers 8.8.8.8
visible_hostname LinuxSquid
тормоза ушли
там много тюнинга, это только первый шаг
Кирилл, я счастлив!!! Может, вы будете делать курсы для udemy.com(Вот здесь мой товарищ все рассказывает, вы не хуже, хотя он очень крутой ruclips.net/video/5jRwH0N674I/видео.html
). Типа lpic-2? Прослушал все ваши уроки
У меня концептуально курсы бесплатно без привязки к сайтам каким-то) Денег я работой заработаю)
Семаев, ни она ссылка на донат не работает! Сделай нормальный донат аккаунт на патреоне, подписка на месяц за один доллар. Если все кто ставит, лайки кинет тебе по баксу, можно жить не тужить и делать выпуски.
хех...поймал error: invalid package name: openssl. в момент dpkg-buildpackage -d
Буду гуглить((
нашел. В vim debian/rules прописал open-ssl ))
У кого-нибудь в 2020 на squid 4.13 заработало по этому уроку?!
из apt ставится пакет, с поддержкой ssl и все работает
cp squid.conf{,.bak}
как один из вариант
Шикарный вариант, я так не умел) Спасибо
очень удобно!
Качественные серверы у xserv24 com, поддержка отвечает в течение 30 минут. Цены от 69$! Нравится то что адреса IP неограниченны(при нормальном кол-ве делают вкусные цены на них) и лояльность к жалобам, в виде того что они позволяют реагировать на все жалобы по моему усмотрению. Прокси вроде 3proxy или Dante поднимают бесплатно! Поддержка часто решает вопросы которые не входят в их компетенцию - бесплатно! Рекомендую рассмотреть серверы этого провайдера!