vitus_wagner: My photo 2005 (Default)
Тут вот [personal profile] nataraj рассказывает о своем опыте приобретения коммерческих сертификатов для https сайтов.

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

Поэтому я использую letsencrypt. В качестве клиента я использую acme-tiny, которую обвязал своими скриптами с тем, чтобы процесс был полностью автоматизирован и сертификаты перевыпускались автоматически.

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

Второй - от специального непривилегированного юзера и выполняет собственно взаимодействие с letsencrypt.
Можно было бы в контейнер какой засунутЬ, но я счел это лишним. acme-tiny я доверяю, потому что я ее читал. (там всего 200 строк на питоне).

Третий - опять от рута, его задача ввести в эксплуатацию выпущенные сертификаты, т.е. перезаписать приватные ключи и сертификаты в тех файлах, на которые указывает конфигурация различных сервисов и перезапустить эти сервисы.

Скрипты можно посмотреть здесь.
vitus_wagner: My photo 2005 (Default)
Что-то я не нашел очевидного (казалось бы) решения по защите хранящегося на (хостинговом, доступном всяким нехорошим людям) сервере почтового архива, которое бы работало так:

1. В распоряжении MDA есть открытый ключ gpg/сертификат X,509 для каждого пользователя.
2. Любое письмо, прилетающее по SMTP (в наше время в норме защищенное TLS по дороге) шифруется этим ключом конечного получателя перед тем, как сложиться в его maildir (но после того как оно прошло через фильтры sieve). Ну да, сеансовый ключ придется каждый раз генерировать. Ну и что?
3. В распоряжении IMAP-сервера есть зашифрованный приватный ключ. Когда пользователь логинится на IMAP-сервер, его аутентификация производится путем расшифровки этого ключа. После этого можно любую хранящуюся почту расшифровывать и пользователю выдавать.


Причем шифровать письма совершенно спокойно можно вместе с заголовками.
То есть и метаинформацию without user consent хрен достанешь.

Модификации требуемые для IMAP-сервера достаточно тривиальные.


Но почему-то никто так не сделал. Во всяком случае я такого не нашел.

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

Видиом, идея full-disk encryption (каковая есть зло) людям глаза застит. В то время как никто не мешает maildir шифровать пофайлово.

Правда, немножко непонятно как быть с тренировкой байесовского антиспама в такой ситуации. Ну ладно, допустим ham мы будем в sa-learn скармливать непосредственно в ходе сессии, когда мы его можем расширфровать (а спам и шифровать не обязательно). Но не явится ли байесовская база, которая должна быть доступна на чтение MDA каналом утечки информации?
vitus_wagner: My photo 2005 (Default)
https://devuan.org/

Проект Devuan выпустил первый официальный стабильный релиз systemd-free дистрибутива.
vitus_wagner: My photo 2005 (Default)
https://betanews.com/2017/05/04/google-open-source-raspberry-pi-diy-voice-kit/

Гугль начал торговать набором на базе Raspberry PI для встраивания голосового управления во всякие самоделки. Правда, хотя в новостях на слешдоте и утверждается что "it can run completely on-device" я более детальных ссылок как это сделать без обращения к гугловским API не нашел.

Ну в общем-то хрен с ним с гуглом. В любом случае использованипе отдельного интерфейса из микрофона и динамика и отдельного процессора на каждом устройстве, куда прогрессивнее чем управление устройством со смартфона через внешний сервер.
vitus_wagner: My photo 2005 (Default)
Вот тут: https://github.com/citp/ad-blocking
лежат proof of concept расширения к браузерам, демонстрирующие что можно написать абсолютно недетектируемый скриптами блокировщик рекламы.

А также еще и расширение (только для chrome) которое распознает sponsored content в фейсбуке.
vitus_wagner: My photo 2005 (Default)
Задумался над идеей назначать клиентам OpenVPN ip-адреса по значению поля subjectAltName в их сертификатах.
RFC 5280 предусматривает тип поля IP в SubjectAltName, и OpenSSL его вполне поддерживает.

Идея хороша тем, что при подключении нового клиента не нужно вообще ничего делать на сервере. Удостоверяющий центр, выписывая клиенту сертификат (что все равно надо сделать) выделяет ему IP и DNS-имя и прописывает иъ в этот сертификат. А задача сервера - просто согласиться с тем что подписано удостоверяющим центром.

Правда, похоже просто так не получится. Что-то я не вижу там, чтобы client-connect скрипто получил доступ ко всему сертификату или хотя бы к subjectAltName.

Upd Благодаря [personal profile] dzz родилось более простое решение:
Сейчас у меня в скрипте client-connect соответствие CN сертификата клиента и выданного ему IP записывается в динамическую зону DNS. Чтобы на того клиента логиниться по имени.

Так вот - сначала надо в DNS посмотреть, и если там это CN есть, то сказать openvpn-у "этому дай вот этот адрес". А вот уж если адреса такого в DNS нет - назначать первый свободный.
Это, конечно, не гарантирует от того что адрес будет переисиользован пока клиент будет в оффлайне. но все же.
vitus_wagner: My photo 2005 (Default)
Почему-то злые дуровцы в очередном релизе Telegram Desktop поменяли раскладку файлов, в которые оно пишет.

Раньше у меня телеграм пускался

firejail --profile /etc/firejail/telegram.profile --private-home=.TelegramDesktop  /usr/local/lib/Telgram/Telegram


и все работало. Потому что не дам я некту, своих файлов из ${HOME}, хоть он дерись.

После апгрейда - работать перестало - при каждом запуске заново просит ввести код из SMS-ки.

Создал каталог .telegram-home, передвинул ~/.TelgramDesktop туда, запустил

firejail --profile /etc/firejail/telegram.profile --private-=.telegram-home  /usr/local/lib/Telgram/Telegram


Заработало. Но выяснилось что в .telegram-home оно создало не только .TelgramDesktop

Оно теперь еще .local/share/TelegramDesktop создает, и, похоже, в нем все и держит.

Но вообще, похоже, надо сильнее эту гадость от системы изолировать. Примерно как я skype изолирую.
vitus_wagner: My photo 2005 (Default)
https://www.theregister.co.uk/2017/04/06/canonical_cuts_jobs_with_unity_bullet/

https://www.theregister.co.uk/2017/04/05/ubuntu_euthanizes_unity/

Unity отменили, Ubuntu phone отменили, сокращают от 30 до 60 процентов сотрудников, причем в первую очередь режут отделы разработки продукты, инвестиции в них медленнее окупаются, а сохраняют поддержку и сейлзов - то что приносит в компанию быстрые деньги.

Интересно, дистрибутивы-то они по прежнему раз в полгода клепать будут или как?

А то убунта замечательно держала нашу релизную группу в тонусе - каждые полгода нужно по всей цепочке от pgbuildfarm до выходного тестирования заводить новые виртуалки, править spec-и, но самое главное - не забывать ВЫКИДЫВАТЬ из всего этого хозяйства снятые с поддержки релизы.

И сисадмины у нас в компании очень Trusty Tahr любят. Что, теперь их всех на Stretch переучивать?

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

Тэг rip пока не ставлю, может еще побарахтается.
vitus_wagner: My photo 2005 (Default)
http://esr.ibiblio.org/?p=7421

Раймонд умный пост написал по поводу концепций, которые лежат под Unix way. Я эту мысль про семантическую локальность три дня думать буду.

Oh, yes!

Mar. 11th, 2017 11:17 pm
vitus_wagner: My photo 2005 (Default)
Том Лейн закоммитил мой патч!

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

Вот в PL/Python был контекст-менеджер, позволявший выполнять кусок кода в субтранзацкции, а в PL/Tcl почему-то нет. Хотя создавать собственные управляющие конструкции в Tcl гораздо проще, чем контекст-менеджеры в python (особенно если речь идет о Postgres. где python поддерживатеся начиная с 2.3 и до 3.6)

TTS

Mar. 8th, 2017 06:25 pm
vitus_wagner: My photo 2005 (Default)
Попробовал тут tts на десктопе. Тупо и в лоб

apt-get install festival festvox-ru
festival --tts somefile.txt

Вроде работает не хуже, чем это делает андродиный svox.
Правда, обнаружилось что оно ломется на m-тире и кавычках-ёлочках. Пришлось немножко попатчить файл msu_ru_nsh_lexicon.scm из пакета festvox-ru.

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

pandoc -t plain -o - filename.mkd|festival --tts

А то на звездочках, использованных для выделения курсивом, оно ломается.

Теперь осталось придумать какую-нибудь обертку вокруг FB2ToTxt.xslt чтоб можно было вперед-назад абзацы проматывать.
vitus_wagner: My photo 2005 (Default)
https://www.technologyreview.com/s/603637/how-a-college-kid-made-his-honda-civic-self-driving-for-700/

Студент сделал себе автопилот для машины из смартфона и свободного ПО.

Оно правда только для поездок по трассе (но это самое нудное и клонящее в сон). И HCL пока не впечатляет.
vitus_wagner: My photo 2005 (Default)
Наткнулся на ЛОРе на забавный проект:
http://unde.sourceforge.net/ru/

Чем-то это перекликается с некоторыми моими идеями изложенными под тэгом UNG. Ну то есть Раскина человек прочитал, понял, и местами (как и я) не согласился. Например, я полностью с ним согласен в том, что борьба с режимами должна иметь границы.

У него есть вполне разделяемая мной идея, что интерфейс должен быть самообучающим. В том смысле что активно подсказывать более эффективные способы работы с ним. Заткнуть gap между пользованием GUI и командной строкой - это очень важно. Потому что между командной строкой и скриптингом барьер уже отсутствует.

С идеей "все есть директория" вместо "все есть файл" я игрался году в 93-94, когда еще не знал что на свете существуют не то что Mind Maps, но и файловые системы со множественными hard и sym-линками.

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

Очень интересной показалась идея двумерного расположения объектов в контейнере. В смысле "ты всегда найдешь файл там, куда ты его положил". Помнится в Communiware мы тоже были вынуждены вводить "человеческий" порядок сортировки. Поскольку критерии сортировки, которыми пользователю удобно пользоваться. неформализуемы.А использование двумерного порядка вместо одномерного существенно расширяет возможности удобозапоминаемого хранения.
vitus_wagner: My photo 2005 (Default)
Один нехороший человек использует в тестах алиасы таблиц на японском:
EXPLAIN (COSTS false) SELECT * FROM s1.t1 あいう WHERE あいう.c1 = 1;

Причем, похоже. делает это специально, дабы убедитсья что его код корректно работает с
не-ASCII-символами в алиасах таблиц.

А я потом беру и запускаю эти тесты мало того, что на десятом Солярисе, так еще и с LC_ALL=C.
В результате на сервер pgbuildfarm прилетает лог, который является чем угодно, но только не valid UTF-8.

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

Пришлось пропускать ввод в порядке санитизации через Encode::decode('UTF-8',$data,Encode::FB_PERLQQ).
Теперь хоть видно что там не так. (нет, я не буду вспоминать как оно пыталось на json Storable::thaw делать)..
vitus_wagner: My photo 2005 (Default)
Превратил жуткую свалку fb2 и epub-файлов, в которой мог разобраться только FBReader, да и то не сразу, в более-менее структуруированное хранилище,
вида перваябуква/автор/название

Была еще идея насоздавать симлинков для книг с более чем одним автором, но решил пока не связываться.

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

О, кстати придумал как обойтись без искейпинга. Вывод xmlstarlet который пишет автора на первой строчке, а title во второй, перенаправляем в
(read author
read title
# do what we need with author and title
)
. В результате внутри xmlstarlet нужно заэскейпить только ньюлайны.

P.S. А если для фотографий аналогичный скрипт сделать? Чтобы валить их все в кучу, чуть ли не rsync-ом, а скрипт пусть потом разгребает по датам и местам.
vitus_wagner: My photo 2005 (Default)
Выяснил, в чем причина того, что хецнеровская виртуалка была не доступна по IPv6:

Оказывается, я там что-то лишнее перекрыл на файрволле, и поэтому оно и не работало.
Файрвол был более-менее прямолинейно скопирован с IPv4 конфигурации и выглядел вот так:

правила ip6tables )

Вопрос в том, что я забыл там разрешить, что в итоке отвалилось всё?

vws 0.5

Jan. 14th, 2017 10:12 pm
vitus_wagner: My photo 2005 (Default)
В связи с необходимостью сетапит новый билд-сервер, выпустил очередную версию vws. На самом деле у нас vws уже почти год в production работает. Т.е. в итоге задача "сделать простые вещи удобнее, чем в virsh" вполне решена.

На идею нарисовать GUI я, похоже, окончательно забил. А вот автостарт виртуальных машин при перезагрузке допилил.

Буду теперь его везде ставить из deb-пакета.
vitus_wagner: My photo 2005 (Default)
Как траффикт-то в debian-russian упал. За весть 2016 год меньше полутора тысяч писем. А раньше по пять тысяч в год было.

Кстати, в прошлом году я чуть ли не в первый раз в жизни получил в этом списке осмысленный совет на тему как решить мою проблему. До того я там советы в основном давал.
vitus_wagner: My photo 2005 (Default)
Международная конференция PgConf.Russia 2017 | 15–17 марта, Москва, Digital October

А вот такая эмблема будет у нашей следующей конференции
vitus_wagner: My photo 2005 (Default)
От разработчиков Python.

Интересно, что монотонные и ограниченные мысли сходятся, и у них теперь тоже в виндовой консоли (правда еще и в файловой системе) юникод по умолчанию. Как у нас в PostgresPro-шном psql.

Собраться, что ли, наконец оформить этот патч для пропихивания в community. Или сначала все файловые операции на *W перевести, как питонисты.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2017

S M T W T F S
     123
4 5 6 7 89 10
1112 1314 15 1617
18 19 20 2122 2324
252627282930 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 24th, 2017 01:59 pm
Powered by Dreamwidth Studios