Cерия публикаций про сбор подписей

1. Введение, сайт «Навальный 20!8», подготовка к сбору
2. Железо и сети, видеонаблюдение
3. Жнец-2018: система для сбора подписей
4. Управление проектом

В предыдущем посте мы рассказали, что такое сбор подписей и почему его бессмысленно вести без специализированной IT-инфраструктуры. А эта глава про сетевое и компьютерное оборудование федеральной сети штабов Навального, а также про разработку собственного сканера документов.



Какие задачи мы решали


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


Ожидаемые трудности:


— кража оборудования до инициализации комплекта оборудования;
— кража оборудования после инициализации;
— отключение интернета (отрезали провод, создали помехи в канале);
— человеческий фактор (любые некорректные действия с оборудованием);
— токсичные работники штаба;
— быстрый переезд (который хуже пожара);
— собственно пожар (и другие способы физического уничтожения штаба).

Мы подобрали оборудование так, что любой элемент инфраструктуры легко заменяется, и его не обязательно везти из центрального штаба, а можно купить в местных магазинах. Сборка оборудования состоит из простейших операций уровня «вставьте провод в разъем». Последовательность действий подробно описана в инструкции (с гифками!).

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

Доступ в штабную VPN-сеть выдается на основе нескольких факторов, чтобы кража оборудования (с сертификатом, ключами PSK) или утечка пароля не приводили к утечке данных. Все устройства отслеживаются в специальном приложении и могут быть заблокированы удаленно.

Ниже описаны основные принципы без глубокой детализации. Скрипты и конфигурации пока не выкладываем в открытый доступ по соображениям безопасности.


Элементы инфраструктуры


Гипервизор — сервер, на котором работают KVM-виртуалки с нужными приложениями.

Owl — виртуальная машина с приложением для операторских рабочих станций.

Video-сервер — виртуальная машина, на которой крутится ivideon-server и захватывает поток с камер.

Штабной комп — личный компьютер работника штаба, с которого можно получать доступ к закрытой части наших приложений и выходить в интернет.

R-station — операторская станция на базе Raspberry Pi 3 Model B.

Камера — наружная или внутренняя ip-камера для видеонаблюдения в штабе. Питается через PoE-адаптер, подключением занимаются местные специалисты.

Роутер — MikroTik, который используется в штабе для раздачи интернета и маршрутизации трафика между элементами инфраструктуры.

3G-модем — USB-модем Huawei в режиме LTE, обеспечивает резервный канал.

Dashboard — система регистрации, автоматизации и мониторинга состояния элементов штабной инфраструктуры.

Сканер документов, он же Коробка — DIY-сканер документов на базе USB-камеры.


Dashboard


Dashboard — это приложение, которое управляет конфигурациями роутеров и позволяет наблюдать за работой штабной сети. Отсюда можно следить за состоянием всех устройств и быстро отключать доступ в случае изъятия оборудования или других проблем. Для каждого штаба видно состояние его каналов связи и подключенных устройств. Есть логи состояния роутеров и действий с ними, uptime всех клиентов сети.


Еще Dashboard управляет конфигурацией роутеров и камер (ниже будут подробности).


Роутеры


В качестве штабных роутеров мы используем SOHO-модели MikroTik. Они недорогие, есть в любом городе, гибко конфигурируются и позволяют реализовать необходимую нам конфигурацию сети, включая VPN-туннель, резервирование канала и сложную маршрутизацию между устройствами.

Инициализация нового роутера организована так, чтобы минимизировать риск постороннего подключения к нашей сети:

— штаб сообщает сотрудникам поддержки mac-адрес роутера;
— роутер подключается проводом к операторской станции;
— на станции запускается скрипт инициализации роутера;
— скрипт сбрасывает настройки роутера и загружает нашу прошивку;
— роутер отключается от станции и подключается к интернету;
— скрипты прошивки делают всю остальную работу.

При появлении интернета Mikrotik устанавливает временное VPN-соединение, забирает с нашего сервера свою индивидуальную конфигурацию, устанавливает ее, поднимает постоянное VPN-соединение, конфигурирует свой DHCP-сервер и подключает штабные устройства.

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

Mikrotik подключен по двум каналам: по проводу, который приходит в офис, и по собственному 3G/LTE-модему. Модем используется в качестве резервного канала. В прошивке роутера есть код, который следит за состоянием канала и переключается на резервный канал, если основной не работает.



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



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


Операторские компьютеры


Операторам верификации нужны компьютеры, чтобы сканировать документы, вносить в систему данные подписантов и проверять корректность этих данных. Компьютеры должны быть дешевыми, надежными, простыми в обслуживании и неинтересными для всяких там правоохранительных органов.

Настоящий «тонкий клиент» с сетевой загрузкой мы сделать не могли, т. к. достаточно надежного интернета во многих штабах нет и быть не может. Да и опыта такого ни у кого не было. Решили использовать традиционную загрузку операционной системы и во всех своих приложениях не выходить за пределы браузера. Такой подход позволяет быстро восстановить работу операторов, даже если со стандартными комплектами что-то не так. И веб-приложения мы точно умеем делать.

Для нашей задачи хватало характеристик современных одноплатных компьютеров. Испытания нескольких моделей показали, что браузер и достаточно сложные веб-приложения работают без каких-либо проблем и что за производительностью можно не гоняться, поэтому была выбрана одна из самых популярных моделей — Raspberry Pi 3 Model B. Там четырехъядерный ARM-процессор, 1 ГБ оперативной памяти, WiFi и HDMI-выход.



Raspberry Pi можно найти практически в любом крупном городе. Вся полезная информация находится на одной micro-SD-карте, которую в случае набега ОМОНа можно быстро вытащить и съесть.

В качестве операционной системы взяли стандартный Raspbian. Браузер — предустановленный Chromium.

Мониторы выбрали самые дешевые, у которых есть HDMI и разрешение 1920?1080.


Сканеры документов


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



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

Планшетные сканеры занимают много места на столе (формат A4 + корпус + питание), медленно сканируют (типичное время — больше 15 секунд, а мы экономим каждую секунду, т. к. от этого зависит пропускная способность штаба) и не показывают картинку до запуска сканирования.

Кроме того, непонятно, как любой из этих сканеров соединить с браузерным приложением. Чаще всего сканеры подключаются по USB и работают через TWAIN-интерфейс. Есть реализация такого подключения на HTML5 Web Scanning SDK, но под Raspbian ее завести не удалось.

Мы связались с Smart Engines, которые публикуют на Хабре статьи про сканирование и автоматическое распознавание паспортов, но они не заинтересовались поставкой только сканеров, а за весь комплекс (с автораспознаванием) попросили слишком большую для нас сумму.

В итоге мы решили сделать свой сканер на основе USB-камеры. Камера показывает изображение в реальном времени, а картинка доступна из браузера. Корпус сканера можно сделать точно под размер паспорта, чтобы он не занимал лишнее место и не было проблем с позиционированием документа.


Нашли производителя, вместе с ним сделали пару прототипов и после тестирования начали производство. Корпус сканера изготовлен из алюминиевых композитных панелей и стекла. Электронная начинка закрыта пластиковой крышкой.


Детали сканеров, готовые к сборке


Распознавание паспортных данных


Мы рассматривали вариант автоматического распознавания паспортных данных, но в итоге от него отказались. На реальных сканах паспортов (мятых, грязных, заполненных от руки) даже коммерческие решения по точности уступали ручному вводу.



Самая важная для нас информация — адрес постоянной регистрации — вообще не распознается автоматически, т. к. половина паспортов содержит штампы, заполненные от руки. Не некоторых штампах нет информации о субъекте РФ, его нужно узнавать у владельца.

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

Вот так мы не стали разрабатывать систему компьютерного зрения.


Видеонаблюдение


После открытия нескольких штабов начались нападения и сомнительные обыски (это когда приходят полицейские и выносят все содержимое штаба под предлогом поиска экстремистского текста в листовках). Для съемки подобных набегов и фиксации процесса сбора подписей мы сделали систему видеонаблюдения. В штабах установили три камеры — две в помещении и одну у входа.


Сбором и хранением записей с камер занимается один относительно мощный сервер. Подсчеты показали, что за месяц набирается около 40 ТБ архивных записей. Сервер с десятью SATA дисками по 6 ТБ каждый и 50 ТБ трафика обходится нам менее чем в 200 евро в месяц.

Можно сэкономить место в архиве и сделать работу с камерами немного более удобной, включив программный детектор движения (сохранять только те интервалы, где есть движение), но в таком случае потребуется 3-4 аналогичных сервера из-за нагрузки на процессор. Мы решили сохранять потоки полностью. Это проще, надежнее и дешевле.

Для сбора потоков с видеокамер используется ivideon-server, который бесплатно распространяет компания Ivideon. Для просмотра используется их же десктопное приложение, подключаемое к нашему серверу.



Конфигурацией устройств штабной сети мы управляем через собственное приложение Dashboard. В его базе есть информация о штабах и ip-адресах устройств. Dashboard создает конфигурационные файлы для каждого демона и единую конфигурацию для их запуска через supervisor, где каждому демону указан путь к его индивидуальным настройкам:

command=/opt/ivideon/videoserver -c /video/vs_0001.conf --v=5bccd2a043c14e

Параметр --v — это контрольная сумма файла настроек (vs_0001.conf). После сохранения новых конфигураций достаточно запустить supervisorctl update, чтобы перезапустились все процессы, конфиг которых поменялся. Supervisor видит изменения параметра с контрольной суммой и понимает, что данный процесс нужно перезапустить.

Отдельный скрипт занимается удалением записей, когда они становятся старше определенного возраста. Еще один скрипт обходит все sqlite-базы ivideon-server, собирает таймлайны камер (интервалы, когда есть запись с данной камеры) и складывает в PostgreSQL, чтобы их можно было показать в отчете на Dashboard.



Вот примерно и все, что нужно для организации своего сервиса видеонаблюдения на 230 камер.


Шеринговые сканеры


Если у вас есть USB-сканер, им может пользоваться один оператор. Как быть, если операторов больше, чем сканеров? Наладить стриминг изображения по сети!

Мы даже думали о покупке ip-камер, которые сами умеют стримить изображение, но работать с ними значительно сложнее: им нужно питание, дополнительное сетевое оборудование (порты роутера уже заняты, да и столько PoE-портов там нет). Ip-камеры настраиваются через какой-то свой интерфейс, очень плохой в дешевых камерах, это сложно автоматизировать. Тяжело найти модуль ip-камеры (без корпуса) с подходящими характеристиками (широкий угол, высокое разрешение, хорошая оптика с минимальными искажениями по краям). Кроме того, ip-камеры заметно дороже. Использование одного сканера несколькими операторами — это не основной сценарий, а «план Б», поэтому не хотелось на него тратить много сил и средств.

От стриминга нам нужна была низкая коммуникационная задержка (latency) и минимальное использование дефицитных ресурсов Raspberry Pi. Мы протестировали несколько решений:

— ffmpeg/ffserver (avconv);
— nginx + nginx-rtmp-module + ffmpeg;
— motion (https://motion-project.github.io/ — программный детектор движения);
— MJPG-Streamer (https://github.com/jacksonliam/mjpg-streamer);
— vlc.

Компиляция всего этого под Raspbian в сумме заняла, наверное, пару дней. Самым удобным и быстрым (low-latency) решением оказался MJPG-Streamer. Он забирал картинку с камер в нужном разрешении и без транскодинга отдавал через встроенный веб-сервер. Картинка была доступна в браузере без каких-либо дополнительных действий. Загрузка процессора при этом оказалась значительно меньше, чем с другими решениями.

Не у всех разработчиков были  под рукой сканеры или веб-камеры. Для отладки мы использовали трансляцию Interactive Online Biology из Стэнфорда. Там используется тот же сервер MJPG-streamer, что и у нас.





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

Комментарии (86)


  1. REPISOT
    24.01.2018 10:24

    Не боитесь раскрывать внутреннюю структуру, учитывая, что вас периодически атакуют? А как же Security through obscurity?


    1. StopDesign Автор
      24.01.2018 10:37

      Боимся, поэтому не раскрываем ничего, что существенно помогло бы атакующим.


      1. REPISOT
        24.01.2018 11:40

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


      1. anprs
        24.01.2018 16:41

        Теперь как минимум правоохранителям будут интересны ваши Raspberry, а в случае если они не найдут в нём SD-карту, оператору любезно предложат сделать клизму


        1. AlexP11223
          24.01.2018 20:32

          Думаете они до сих пор не заслали своих «волонтеров» в их штабы? :)
          Или хотя бы не зашли посмотреть. Ее ж вроде никто не прячет.


          1. anprs
            26.01.2018 08:10

            Ну не факт что они или их волонтёры достаточно грамотны чтобы понять что это за коробочка с малинкой. А тут сами всё рассказали


      1. voroshilovdo
        25.01.2018 00:15

        главное зло — социальный инжиниринг, но скорее всего это не про вас ;)


  1. dumistoklus
    24.01.2018 11:03

    Расскажите про сканер подробнее


    1. Alexufo
      25.01.2018 00:09

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


      1. Alexufo
        25.01.2018 01:26

        а нет, у фбк нет же распознавания.


  1. NikiN
    24.01.2018 11:04

    Не понятно, у вас для Микротика своя прошивка (firmware) или своя конфигурация?


    1. StopDesign Автор
      24.01.2018 11:37

      Обновляем RouterOS на определенную свежую версию и заливаем свои конфиги. Firmware не трогаем вообще.


      1. freezl
        25.01.2018 20:06

        Статья по централизованному управлению Микротиками будет? Очень интересна данная тема.


    1. KoMePcAHT
      24.01.2018 11:45

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


  1. Dageron
    24.01.2018 11:29

    В вашей инфраструктуре видеонаблюдение является одним из критически важных элементов, поэтому сделать удаленный сервер, на котором замыкалась бы вся видеозапись из всех объектов — весьма правильное решение (учитывая тот факт, что местонахождение этого сервера является «безопасным»).

    Вопрос в том, хватало ли вам интернет-канала на обработку этих видеопотоков? Если факты не являются корпоративной тайной, уточните параметры видеопотоков, который выставлялись на камерах (хотя бы просто разрешение и число кадров в секунду).


  1. dimatl
    24.01.2018 12:00

    Про сканер расскажите, DIY в таких ситуациях решение странное, не будет ли потом цена ошибки больше стоимости оборудования? Позовите изобретателя этого чуда, пусть поделится.


    1. FeNUMe
      24.01.2018 12:05
      +1

      О какой ошибке речь? Тут же задача простейшая — получить картинку, при сбое волонтер сразу видит проблему. То есть если железка сдохнет максимальная потеря это n не полученных подписей за время замены.


      1. dimatl
        24.01.2018 12:09

        Видимо это не очень важно «не полученные подписи». Я о своём думаю, нельзя не работать.


      1. Loki3000
        24.01.2018 12:41

        Подписи все равно будут получены — не будет скана документа, который, по хорошему, и не требуется.


    1. StopDesign Автор
      24.01.2018 12:13

      Что именно рассказать? Задавайте вопросы. Он очень простой, там USB-камера, светодиодная подсветка от этого же USB и корпус. Это даже не сетевое устройство.


      1. dimatl
        24.01.2018 12:25
        +1

        Питания хватает от юсб для подсветки и камеры? Модель камеры, расстояние от объектива до стекла, софт в конце концов


        1. SADKO
          24.01.2018 13:05

          для светодиодов то, более чем хватит


          1. dimatl
            24.01.2018 14:03

            Видимо зависит от их характеристик, ещё камере надо что-то кушать, а юсб может больше 2.5Вт не давать. По этому интересен практический опыт.


            1. lopatoid
              24.01.2018 16:06

              Я знаю, откуда взялась цифра в 2.5Вт, но в реальной жизни обычно никто не ограничивает ток на каждом из USB-разъемов по отдельности. В RPi питание на USB запараллелено, то есть с любого порта можно взять максимальный ток, который может выдать плата.


        1. StopDesign Автор
          24.01.2018 14:01

          Питания хватает. У нас небольшая светодиодная полоска, там смешное потребление. Расстояние от объектива до паспорта — немного больше 13 см. Специально брали камеру с ручной фокусировкой, чтобы один раз настроить при сборке и не получать размытые снимки никогда.

          Камера Aptina MI5100, никаких драйверов не требует. Объектив качественный и довольно широкоугольный, 100°. Пробовали еще 170°, но в этом нет смысла, короб и так небольшой.

          Пробовали средствами JS исправлять геометрические искажения, но отказались от этого. Искажения с камерой 100° совсем небольшие, не мешают.


          1. dimatl
            24.01.2018 14:07

            Спасибо! Самый полезный комментарий. А с 170° не получилось бы сократить фокусное расстояние? Извините, что в таком формате засыпаю вопросами, может кому-то тоже будет интересно.


            1. StopDesign Автор
              24.01.2018 14:13
              +2

              С 170° получалось сократить расстояние, но возникали проблемы:
              — неравномерная засветка из-за маленького короба, пришлось бы усложнять подсветку;
              — виньетирование самой камеры;
              — неравномерность фокусировки;
              — значительные геометрические искажения.

              Решили делать короб повыше, но зато без всех этих проблем.


          1. Alexufo
            25.01.2018 00:12

            Почему не ИК подсветка? В ИК паспорта чище для распознавания, так они и делались.


            1. Alexufo
              25.01.2018 00:19

              ЧБ камера еще и дешевле


              1. Kolegg
                25.01.2018 08:37

                Откуда инфа? За последнее время ни разу не встречал реально чб камеру — обычно это цветные с «правильными» настройками цветности.


                1. Alexufo
                  25.01.2018 13:55

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


            1. StopDesign Автор
              25.01.2018 04:34

              Если честно, не думали об этом. Но так делать скорее всего не стали бы по таким причинам:
              — тяжело было найти камеру с подходящими характеристиками оптики, а с ИК было бы еще сложнее;
              — сканируется не только паспорт, читаемость остального в ИК неизвестна;
              — видимый диапазон выглядит достовернее в качестве доказательства того, что паспорт у нас на самом деле побывал.


              1. Alexufo
                25.01.2018 14:06

                все кремневые матрицы до 1000нм видят нормально. (красный это 750нм) поэтому для ближнего ИК используют теже матрицы и туже оптику. Просто ставят фильтр отрезающий выше красного (прямо перед матрицей зеленоватое стекло) от 750нм и выше и не наносят цветной паттерн. вам да, плюс был только бы в резкости картинки так как там не должно быть интерполяции цветных пикселей в 1.


            1. Viknet
              25.01.2018 12:33

              Сейчас проверил ИК камерой — на моём экземпляре номер паспорта не виден совсем. И фото плохо различимо.


              1. Alexufo
                25.01.2018 14:00

                по ICAO заграны должны в 950нм давать четкий черный. Фото да, конечно будет не видно. Я попутал, думал у ребят распознавание.


      1. atd
        24.01.2018 12:41
        +1

        Процесс сборки и вообще фап-фап-фап. Можно даже видеообзор запилить (я не троллю, правда интересно)


        1. StopDesign Автор
          24.01.2018 14:17
          +2

          Да мы бы рады, но производство в другом городе, а производитель не очень-то рад нашим просьбам «сними то, сними это».

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


      1. SADKO
        24.01.2018 13:05

        Подсветка конечно решает множество проблем, но обычно у USB-камер тухлое разрешение, для сканирования документов не годное, надо бы хотя бы 720 но тут начинаются пляски с драйверами…


        1. arcman
          24.01.2018 13:25

          Сейчас все нормальные камеры — UVC. И дешевых моделей выдающих 720 строк тоже много.
          У меня в ноутбуке UVC камера, в мониторе — им никаких дополнительных драйверов не нужно, все сразу работает и в Windows и в Linux.


        1. darkk
          24.01.2018 13:54

          для сканирования документов не годное

          Зависит от целей сканирования же: одно дело паспорт, другое — лист A4 убористым шрифтом. Для проверки правильности заполнения формы та же курсера (или airbnb?), когда просила показать паспорт на камеру, вполне ноутбучной вебкой была довольна.


    1. neomedved
      24.01.2018 13:51

      А вы знаете какие-то готовые решения для этой задачи?


      1. dimatl
        24.01.2018 13:58

        Не знаю, ищу. Сейчас у меня сканер плюс веб-камера, но решение очень не удобное, человек в зимней куртке начинает плыть пока пройдёт регистрация документов, надо быстрее.


  1. brilliant_almazov
    24.01.2018 14:08

    один фиг эту бестолочь не допустили


    1. YaRobot
      24.01.2018 14:39
      +1

      У нас IT ресурс и политике тут не место.


      1. Dessloch
        25.01.2018 06:13

        Это уже не политика а прямое оскорбление.


    1. Ugrum
      24.01.2018 15:23

      И откуда ж вы такие здесь берётсь, бриллианты яхонтовые?


    1. Alexufo
      25.01.2018 14:12

      Либо вы дурак, либо в доле.
      Пока мне не удавалось найти какой-то третий возможный вариант для подобных комментариев по всей сети.


      1. alix_ginger
        28.01.2018 18:06
        +1

        Возможно еще, запугивание и/или пытки


  1. White_Scorpion
    24.01.2018 15:06

    токсичные работники штаба

    Штаааааа?!


    1. Grebenshikov
      24.01.2018 15:24

      В прошлой статье упоминаются «токсичные сборщики», думаю смысл тот же:

      Мы знали, что при сборе «в поле» нам обязательно внедрят «токсичных сборщиков», как это было в Новосибирске. Токсичные сборщики намеренно допускают ошибки в данных избирателя (например, подменяют одну цифру в номере паспорта). Их задача — увеличить количество недействительных подписей выше предела, после которого избирком отказывает в регистрации. В Новосибирске потратили много сил, чтобы вычистить токсичные подписи. При сборе по всей стране это сделать невозможно.


  1. Aries_ua
    24.01.2018 16:10

    Скажите, как боретесь с атаками? К примеру, попытки взлома сайта, ддос атаки итд.


    1. mammuthus
      24.01.2018 16:38

      Частично было в предыдущей статье

      От DDoS нас прикрывают дата-центры с аппаратной защитой или CloudFlare. Статистику по трафику мы не видим. Но атаки случаются регулярно, особенно во время каких-то ключевых событий (расследование вышло, выборы объявили). В среднем, наверное, мало такого трафика, но в «неспокойные дни» бывает по десять раз за неделю происходит переключение на защищенную от DDoS инфраструктуру.


    1. StopDesign Автор
      24.01.2018 16:56

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

      Про защиту от DDoS немного есть в комментариях к первой части.


  1. Vzory
    24.01.2018 16:57

    Спасибо, что рассказываете свой опыт!
    Мой вопрос далек от заявленной темы, но хочу задать его вам, как специалисту.
    На ваш взгляд, когда станет возможным создание системы с помощью которой можно будет проводить выборы, референдумы и т.п. он-лайн?
    И возможно ли это вообще?
    Заранее благодарю и удачи вам!


    1. Artyushov
      24.01.2018 17:58

      Если вопрос про техническую часть, то в Эстонии такая система уже успешно работает и используется.


      1. vire
        24.01.2018 18:55

        В этой системе можно независимо проверить учтен ли твой голос? Или это просто замена паспорта на ID?


        1. vershinin
          25.01.2018 10:52

          Сперва была просто замена паспорта на цифровую подпись, но такой подход подвергался критике, потому что не защищал от покупки голосов. Проблему решили таким образом, что позволили голосовать сколько угодно раз — учитывается только последний голос. Однако, скупщики голосов оказались тоже не лыком шиты — бывали случаи, что работадатель просил в их присутсвии проголосовать за «правильных» людей, а затем забирал карту на пару дней.
          Сейчас систему доработали так, что можно проверить за кого ушёл голос и за кого он был учтен при подсчете. Однако, это не отменяет проблему, что обслуживающий персонал хосписов или психиатрических может собрать карты дементных и психических больных и проголосовать за них. К сожалению, такие случаи имеются, а в условиях такой большой страны как Россия, это будет рядовым явлением.
          Так что проблема честных буржуазных выборов электронным способом не решается. Другое дело, что власти (настоящим хозяевам страны, что в Эстонии, что в РФ) выгодно проводить максимально честные выборы, но это отдельный разговор.


          1. vire
            25.01.2018 16:24

            Если можно проверить за кого отдан голос, то значит где-то нужно хранить связку юзер-голос. Да даже при голосовании создается такая связь. Как решается вопрос с тайной голосования?

            Что-то не очень представляю, как такое можно разрешить используя криптографию — даже если мы имеем список всех голосов и валидность каждого голоса можно проверить(аля биткоин, но без децентрализации и консенсуса), то мы все равно вынуждены абсолютно доверять тому, кто раздает ID.


            1. vershinin
              25.01.2018 18:15

              Доверять приходится хотя бы потому, что у используется не Web of trust, а классическая схема с корневым сертификатом. И при большом желании, правительство может создать фейковые ид-карты, проголосовав за кого надо.
              По-поводу криптографии — у них открытые исходники. Из того, что я видел своими глазами, при голосовании пользователю выдаётся хеш, по которому он может найти свой голос при общем подсчете. Правительство мамой клянется, что эти хеши не сохраняет, ну и по исходникам так и выходит. Соответствие исходников и програмного обеспечения в production, на сколько я понимаю, могут проверить сторонние наблюдатели.


            1. rotarru
              25.01.2018 19:39

              Как решается вопрос с тайной голосования?

              Предположу, что тайна голосования вредна, если разговор об альтернативной системе голосования.
              Абсолютная прозрачность. Открытая база избирателей, открытое голосование. Иначе это никому в России не нужно будет.

              Если кто знает, где обсуждается облачная демократия Волкова, дайте ссылку, пожалуйста. На само обсуждение, если таковое ведётся открыто в сети.


              1. Gryphon88
                26.01.2018 12:50

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


                1. rotarru
                  27.01.2018 00:16

                  Завтра десятки тысяч россиян выйдут на улицы. Личности большинства из них будут распознаны, даже если их не захватят террористы из омона. Так что база уже существует. Также КГБ анализирует телефонные разговоры, переписку. Плюс старые методы – стукачи.
                  Кто боится оказаться в такой базе, тот дома сидит. И на альтернативные выборы, даже если вы гарантируете анонимность – не пойдёт. Просто не поверит в безопасность.

                  А вот открытое голосование – мощнейший инструмент. Миллион фамилий, проголосовавший за что-то, это мнение, которое сложно игнорировать. У нас же всё от имени народа делается. Только имён этого народа никто не знает. Точнее, все знают, где этот «народ» сидит.


                1. vershinin
                  27.01.2018 12:29

                  Это только пол-беды. Открытое голосование плохо тем, что можно будет скупать голоса, заплатив по факту голосования за определённого человека. При тайном голосовании это сделать значительно труднее — все эти карусели, вбросы, и т.д. достаточно легко обходятся.


    1. dani
      24.01.2018 17:59

      В Эстонии вроде так и делают


      1. MacIn
        24.01.2018 23:06

        Делают, но есть привязка к единому идентификационному номеру личности. В РФ, насколько знаю, такого нет.


        1. Pas
          26.01.2018 17:12

          Вроде как у нас СНИЛС пророчат на роль primary key.


          1. MacIn
            26.01.2018 20:46

            У детей он есть?


          1. vershinin
            27.01.2018 12:34

            Знакомые немцы занятые в Германии построением электронного государства жаловались, что у них не возможно ввести Primary Key, потому что против этого протестуют еврейские общины — мол вы нас уже раньше в концлагерях нумеровали, а теперь мы этого не допустим.
            Из-за этого развитие электронного государства очень затруднено. Причем, предпринимались попытки сделать перманентными номера документов (паспорт, например), но еврейские общины к такому хитрому ходу были готовы и отвергли это предложение. Вот такой вот единый ЕС :)


    1. jex
      24.01.2018 18:29

      И возможно ли это вообще?

      У Волкова есть проект «Облочная демократия», там на эту тему рассуждения.


      1. Vzory
        25.01.2018 15:49

        Спасибо!


  1. Antikiller
    24.01.2018 17:50

    Вы крутые.
    Приходил в московский штаб, тогда ещё подивился «малинке» и сканеру, но расспрашивать не стал, хотя было очень интересно.


  1. Gryphon88
    24.01.2018 21:37

    Можете немного рассказать о том, как организована связь с другими сотрудниками компании, в частности, юристами, является ли она критичным узким местом? В статье поднимались вопросы видеологирования и выемки оборудования. После выемки кто-то со своего телефона пишет юристам (или вверх по вертикали командования) простой е-мейл, или автоматом/по тревожной кнопке уходит письмо с описанием ситуации, таймстемпами видео и частично заполненными шаблонами заявлений?


  1. Alexless
    24.01.2018 22:10

    Dashboard крут, наглядный и информативный мониторинг получился да еще и всеми конфигами ведает. Жаль что самописное а не открытое решение(


  1. aml
    24.01.2018 23:49

    Это о.ф.и.г.е.н.н.о! Вы проделали колоссальный объем работы! За такой срок это особенно круто. Респект.


  1. Vlad_fox
    25.01.2018 11:00

    красиво, похоже на борьбу Давида против Голиафа, желаю команде разрабов крепкого здоровья и силы духа


    1. TiGR
      26.01.2018 21:49

      Только Давид уложил Голиафа всего одним камушком. Здесь же такой быстрой победы не было и не предвидится.


  1. BerliozNSK
    25.01.2018 12:11

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


  1. warik
    26.01.2018 17:13

    А в будущем выложите, например, скрипты для микротиков? А то очень интересно посмотреть как сделали.


  1. asterix78rus
    26.01.2018 17:13
    +1

    «сарказм» Не интересно, и так понятно, что у вас все круто.
    Вот бы прочитать ту же историю, ток от штабов Путина — годный был бы материальчик


    1. StopDesign Автор
      26.01.2018 19:08

      Тоже с нетерпением жду. Мы про свои системы каждый раз отчитываемся (но раньше не так подробно было).


    1. Sulako
      26.01.2018 23:27

      *сарказм* Да ну, это же скучно. «Мы обзвонили отделения партии, приказали расставить в торговых центрах стенды с волонтерами, дали указания по предприятиям собрать подписи с работников по квотам. Связались с ЦИК, уточнить когда и куда приносить подписи, доброжелательный секретарь сообщил, что ничего этого не требуется, что ЦИК нам полностью доверяет и с нашими подписями конечно же все в порядке, и даже документ о нашем допуске уже готов. Ну тогда мы заодно еще согласовали и утвердили проценты, которые мы наберем на выборах, их скоро будут рассылать по участковым комиссиям. Только пока не определились с процентом явки, но работа ведется. Так что 400млн потрачены не зря.»


      1. asterix78rus
        27.01.2018 00:04

        Я ожидаю чего-то вроде:
        "… и так как весь бюджет с*****ли до нас, выбор технологий для организации VPN пал на пыльный D-Link, валявшийся в шкафу у админов (они его не использовали из-за постоянного перегрева) и мегафоновский свисток, воткнутый в старый комп главбуха. Комп был последним, что оставалось в Фонде Национального Благосостояния (Орловское отделение). Сформирован был фонд в тучные годы, когда вполне годные машины меняли просто от скуки. С использованием новейшего стека нано-разработок ака Папка «Автозагрузка» + index.html была настроена 3-х факторная аутентификация. Дальнейшее было лишь делом техники. Зато подписей на разных бумагах, подтверждающих выполнение заказа на 10 млн. рублей мы собрали раз в 5 больше, чем все отделение собрало их у граждан за нашего кандидата ......"


  1. Seboreia
    28.01.2018 18:47

    Не троллинга ради — интересует, сколько денег ушло в итога на всю инфраструктуру?
    Видел фин. отчеты на сайте, но они довольно обобщенные


    1. StopDesign Автор
      28.01.2018 19:45

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


  1. Gryphon88
    28.01.2018 20:29

    Кстати, небольшой оффтоп и больше по организации. Рассказывается об изъятии компьютеров и оргтехники; хотел узнать, а стоят ли они на балансе? В каком-то из рейдерских захватов, вроде Евросети у Чичваркина, внезапно оказалось, что почти всё на свете там было в аренде, в итоге гешефт у рейдера получился сильно меньше ожидаемого. Не будет ли сложнее изымать технику, если её арендовать у зарубежного юрлица?


    1. StopDesign Автор
      28.01.2018 20:52

      Точно никак не поможет. Вот сегодня был очередной полицейский налет на офис. Что-то вынесли (пока неизвестно, что именно). Думаете, полиция предъявила хоть какие-то документы? Нет. Они просто приходят и выносят всё, что сочтут нужным. В том числе и личные ноутбуки/телефоны сотрудников. Основанием в этот раз назвали звонок о бомбе. Видимо, технику забрали, чтобы бомбу там искать.