• Squid с фильтрацией HTTPS без подмены сертификата, интеграция с Active Directory 2012R2 + WPAD

    Этот мануал был написан в связи производственной необходимостью мониторить трафик (http и https) пользователей, а также распределения доступа по белым и черным спискам. За основу были взяты статьи: эта и вот эта , в которых использовалась технология peek-n-splice. В данных статьях конфигурация предполагает использование хоста со squid как шлюз, после доработки конфига, получился полноценный прокси-сервер с возможностью распределения прав доступа по группам из Active Directory. По завершению конфигурирования встал вопрос передачи настроек прокси-сервера для пользователей. В виду того, что в офисе часто ноутбуки берут домой — вся затея зашла в тупик. Изначально рассматривался вариант выдачи настроек прокси-сервера через DHCP, но он не самый лучший, т. к. офисы в разных подсетях, и разное оборудование, выходом из данной ситуации стал WPAD. Вкратце о данной технологии можно сказать так, клиентские машины на OS Windows ищут хост с именем wpad.example.ru (вплоть до доменов третьего уровня), чтобы запросить файл настроек для работы в сети. Исходя из такого принципа, нужно поднять веб-сервер, который просто бы отдавал файл wpad.dat Можно на самом хосте с прокси-сервером поднять веб-сервер (что и было сделано), а в DNS-сервере создать cname wpad на прокси-сервер. Прокси-сервер лучше использовать с возможностью сбора и просмотра статистики, благо выбор предостаточный. В виду некоторых консервативных соображений, было решено выбрать SARG. Он легкий в настройке, достаточно приемлемая статистика для офиса со штатом до 100 сотрудников.
    Читать дальше →
  • Установка FreeBSD по сети (PXE) с linux-сервера (dnsmasq + nfs)

    Возникла потребность установить FreeBSD на ноутбук. Так как ноутбук древний, он не поддерживает загрузку с флэшки по usb. Болванки под рукой также не оказалось, было решено опробовать установку через PXE (Preboot eXecution Environment). Погуглив, я нашел несколько статей на эту тему, однако в них описывается установка linux с linux-сервера, либо FreeBSD с FreeBSD-сервера. Я не претендую на создание какого-то особенного метода, просто выкладываю свою инструкцию по быстрому развертыванию FreeBSD 10.1 по сети.
    Читать дальше
    • +13
    • 15.4k
    • 4
  • Основы программирования под Android на примере игры Судоку

      В статье описаны основные трудности создания приложений под Android.
      Рассматриваются базовые понятия программирования Android.
      Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette.
      Осторожно много скриншотов.

      Читать дальше →
    • Squid3 в режиме SSLBump с динамической генерацией сертификатов

      • Tutorial
      Приветствую.

      Шифрованный веб-трафик вещь хорошая, но порой совершенно не ясно что пользователь там, внутри, делает. При заходе на любой https ресурс через squid, в логи записывается достаточно строк подобного вида:

      1330231066.104 10 172.26.27.8 TCP_MISS/200 390 CONNECT mail.google.com:443 — HIER_DIRECT/173.194.32.54 —
      1330241192.883 9 172.26.27.97 TCP_MISS/200 390 CONNECT mc.yandex.ru:443 — HIER_DIRECT/213.180.193.119 —

      Видно, что в определённое время пользователи зашли на gmail и яндекс. В принципе вот и всё что мы видим из логов. Но не понятно выполнялся ли GET или POST запрос, не видно полных урлов, ни размеров файлов. Так же нет возможности проверить ssl трафик антивирусной программой либо какими content inspection программами.

      В этой статье я хочу описать возможность squid'а «разламывать» ssl соединение и иметь хоть какой-то обзор происходящего в https трафике.

      Читать дальше →
    • Построение провайдерской сети на коммутаторах Cisco с использованием Option 82 и Dynamic ARP Inspection

      • Tutorial

      Пролог


      На хабре было довольно много топиков, описывающих те или иные варианты построения провайдерских сетей, в том числе и с использованием указанных в заголовке технологий. Отчасти они помогли мне в решении своей задачи, но многое пришлось копать самому. Хочу поделиться тем, что получилось и попытаться сэкономить время последователям.


      image

      Итак, постоновка задачи:


      Необходимо организовать сеть, максимально удобную для конечного пользователя, при этом также удобную (с точки зрения минимальной нагрузки на техподдержку) и безопасную (с точки зрения мошенничества) для оператора. К тому же сеть должна быть недорогой. Кто-то возразит, что Cisco и «недорого» — несовместимые понятия, однако для решения нашей задачи годятся и End of Life старички, которые можно приобрести по очень демократичным ценам.

      Для обеспечения удобства пользователя были отброшены следующие варианты:
      • статическое назначение ip-адресов — неудобно для пользователя, адрес нужно где-то записывать, потерявшие адрес пользователи названивают в техподдержку
      • dhcp с привязкой по mac-адресу — неудобно для пользователя, при смене устройства нужно перерегистрировать его у провайдера или менять на нем mac.
      • всевозможные виды туннелей, в основном pptp — требует настройки у клиента, забытые логины и пароли

      Из всех рассмотренных вариантов для пользователя наиболее удобен вариант с DHCP, но для провайдера есть ряд сложностей:
      Привязка по mac неудобна, так как придется перерегистрировать новые mac-адреса. Аутентификация пользователя в биллинге только по ip-адресу тоже на первый взгляд кажется ненадежной, хитрый пользователь может поставить себе вручную ip-адрес соседа и внести смуту. Однако решение есть и строится оно на технологиях из заголовка статьи — option 82 и dynamic arp inspection

      Кому интересно решение — прошу под кат
      Читать дальше →
    • RPG для обучения детей программированию на Java


        Java считается мало подходящим для того, чтобы стать первым языком программирования, в отличие от того же Pascal или Python, тем более для детей. Однако, это обстоятельство не остановило специалистов университета Калифорния (Сан-Диего) от любопытного эксперимента, который, по их словам, показал вполне успешные результаты — ими была разработана игра CodeSpell для обучения детей Java в ходе игрового процесса.

        Игра представляет собой нечто вроде RPG от первого лица с довольно скромной на сегодня графикой и весьма типичным сюжетом. Игрок — волшебник в стране, населённой гномами, которые по некоторой причине утратили свои магические способности. Задача игрока — помогать гномам при помощи своей магии, которая представляет из себя Java-код, выполнение которого приводит к модификации предметов и влиянию на окружающий мир: левитация, полёты, уничтожение огнём и тому подобное. Игра «помогает» игроку различными способами, начиная от подсказок и заканчивая чем-то на подобие дополнения кода, так что раздражения по поводу заклинания на Java «как разрушить это препятствие» у школьников не должно возникнуть.

        Игровой процесс — правда, урывками и без особого смысла — можно посмотреть на видео
        Узнать подробности
      • Прозрачное проксирование или как подружить Cisco и Squid

        По роду своей деятельности, достаточно часто приходилось слышать от счастливых обладателей Cisco ASA в базовом комплекте поставки (без дополнительных дорогостоящих модулей типа CSC-SSM), в принципе как и других SOHO\SMB маршрутизаторов данного производителя, нарекания на достаточно слабые возможности фильтрации URL, проксирования и других вкусностей, которые умеет делать даже самый простенький проски-сервер.

        Однако из этого положения есть выход и достаточно простой. В этой статье я вам покажу пример работы связки Cisco ASA5510 + Squid, которая отлично справляется с поставленными задачами.
        Читать дальше →
      • Fido + BBS на Ubuntu 11.04 Server

        Synchronet BBS logo
        В далёкие времена, когда интернет у простых студентов и школьников был либо явлением редким, либо flat rate (читай — после двух ночи) — а иногда и на двоих (читай — после пяти утра), за бутылку “Степана Разина” можно было подключиться к Fido. А за две — так вообще к CM боссу, т. е. круглосуточному.
        Фидо — сеть, созданная анархичным гением Тома Дженнингса и разросшаяся в начале 90-х до нашей страны, стала для многих отечественных гиков основным способом общаться. Стоит отметить, что многие информационные новшества развивались или даже зарождались именно в фидонете: статусы (“now playing” из винампа в оригине), форумы (эхи), файлобмены (фэхи), блоги (локалки), магазины (даже с доставкой), онлайн игры (на ббсках), башорг (HUMOR.FILTERED) и пр. И при этом не нужно было хранить кучу паролей, фильтровать горы спама, а работа эх не зависела от “пожаров” на хостинге, ибо была в определённой степени децентрализована. И, что интересно, все — от мала до велика — друг к другу на “ты”.
        Тем не менее, то время, когда каждый СисОп знал какая у него АТС — декадно-шаговая или координатка и когда CPS (ЦПС) более 3000 считалось круто, уже прошло… Сейчас совсем необязательно по всей квартире искать лишние “шипящие” скрутки в телефонной линии, запускать непонятные фоссил драйверы, и вводить мораторий на снятие телефонной трубки после полуночи. Фидо можно организовать и по IP на своём домашнем сервере.
        Зачем? ...Just for fun.

        Под катом: ставим Fidogate + binkd + Synchro BBS на Ubuntu 11.04 Server (amd64).
        Читать дальше →