OpenFest 2015 – зов за лектори

August 21st, 2015 by Vasil Kolev

И дойде време да се обяви зовът за лектори, лекции и всякакви забавни неща за OpenFest 2015. Мястото за подаване на заявки е cfp.openfest.org, имаме същите потоци като миналата година и както обикновено, се радваме на всички подадени заявки за лекции и workshop-и.

Тази година сме в зала “България” (т.е. в Софийската филхармония), където и залите са по-големи, и мястото е повече, та оплакването от миналата година – “аз дойдох на фест, ама трябваше да гледам на телевизор” не трябва да важи :)

2015-08-16 VarnaConf и Rails Girls Varna

August 16th, 2015 by Vasil Kolev

Да видим доколко съм адекватен да пиша :)

Направихме VarnaConf 2015, а след това – и Rails Girls Varna 1.0.
(записи – като станат готови, при добър късмет идващата седмица, реалистично – следващите три)

За VarnaConf успяхме в петък да setup-нем двете зали за около 3 часа, с по-сериозните setup-и (ето в общи линии схеми на setup-а на голямата зала (3), малката зала (2) и мрежата, иска ми се да направя една голяма на всичко). Имахме прилично количество проблеми, но големия setup е сравнително отработен, а не-отработения (за малката) се получи доста добре (понеже бях делегирал голямата зала на Марио да вика по хората и се занимавах с нея :) ).
(Варна е ужасяващ град. Излязохме от залата към 9 вечерта, уморени и гладни, и открихме как навън е горещо и МНОГО влажно. Стана ми ясно защо хората излизат само по нощите – през деня там просто не се живее)

Изобщо, направихме си прилична конференция, почти тренировка за OpenFest, с приятна програма (от която може и да успея да гледам нещо от записите). Успяхме да се справим в условия почти като на епидемия – половината хора не бяха пристигнали вечерта, други ги нямаше по различно време, почти никой не беше спал и като цяло май всички си бяха на под средата на силите. Определено за идващите събития ще измислим нещо на ротационен принцип.

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

Rails Girls си беше нормално, като изключим това, че токът на залата не понесе 60 лаптопа и другата техника и спира на няколко пъти, докато не пуснахме един удължител от коридора от друг контакт. Трябва да си отбележа да искам подробни схеми на тока на всичките зали, в които правим такива неща…
(също така има някакви записи от обясненията на Митьо (известен като “Релсата” или “Корпоративния хакер от джитхюп”) какво е програмиране и lightning talk-овете от събитието, които е много вероятно да бъдат качени (ако стават за нещо)).

И едно финално откритие (понеже реших, че не мога да понеса пътя до Варна с друг транспорт) – на летището може да се свърши страшно много работа, докато човек си чака полета, особено ако се намери контакт някъде (какъвто мисля да потърся след малко).

Update: Обещаната пълна картинка на нещата.

2015-08-03 Две събития

August 3rd, 2015 by Vasil Kolev

На 15.08 ще се случи четвъртия VarnaConf. Този път сме upgrade-нати и ще имаме два потока, като във втория сме наслагали малко по-админски теми. Очаква се да е весело (както обикновено)…
(запазване на тениски, fb event)

Има и CCC Camp, от 13 до 17 август, който ще се stream-ва в initlab и в който се очертава да има разни интересни лекции (аз си направих предварителен списък), вероятно и ще пиша тук за някои от тях.

2015-07-30 пак online гласуване

July 30th, 2015 by Vasil Kolev

Имаме референдум за електронното дистанционно гласуване. Очаквам скоро да имаме такъв и да се строят новите сгради от използвана тоалетна хартия.
(като ми прати някой нещо такова се усещам колко ми е хубаво, че не чета новини)

Като за начало, на последния CCC конгрес имаше две лекции по темата, за проблемите на internet гласуването в Норвегия и в Естония, полезни са като идея за проблемите, както и предишното нещо, което написах по темата.

Не мисля, че някой изобщо схваща колко ужасяващо е счупен целия ни технологичен стек и колко лесно се атакува, от хардуера, през firmware, през операционните системи, през протоколите до user-facing нещата (особено browser-ите). Всичко подлежи на атакуване и чупене срещу сравнително малко пари (човек може да си купи нужните exploit-и за под $500k и за още $100-200k може да си реализира цялата атака, което е в общи линии под 1/10 от парите за една нормална кампания).

Също така, единствената работила някакво време система за online гласуване е тази в Естония, която се крепи в общи линии на единия човек, който я е писал, заедно с екипа, който е подбрал. За да се намери такъв човек в България, на който хората да вярват и да може да свърши работата ще ни трябва клъстер от Диогеновци, които да ходят и да го търсят със свещ из страната.

Накратко, идеята е учудващо лоша, почти невъзможна от техническа гледна точка и тотално невъзможна от социална, и изглежда малко като гигантски опит да се хвърлят едни пари за нищо. Склонен съм да кажа, че хората, които пробутват online гласуването са тези, които смятат, че ще получат поръчката да го пишат.

2015-07-29 ffmpeg като софтуерен видео миксер

July 29th, 2015 by Vasil Kolev

Моето отношение към ffmpeg може да се опише основно като “love-hate relationship”. Пипал съм по кода му, гледал съм хилядите security проблеми, които излизат в него, дебъгвал съм всякакви мизерни (и много мизерни) проблеми с него, и съм го ползвал за какво ли не.

Днес обаче успях да направя нещо, което може да се окаже интересно и за по-нормални хора.

Ако човек си компилира ffmpeg-а с –enable-libzmq и някъде във filtergraph-а сложи zmq, т.е. да речем направи нещо такова:

ffmpeg -re -i ~/20140407ripetest.mp4 -re -i ~/20140508pclapi-lecture.mp4 -i ~/video/transparent-eye.png \
	-filter_complex '[0:v] split [0big][0smp]; [0smp] scale=w=iw/4:h=ih/4 [0sm];
			[1:v] split [1big][1smp]; [1smp] scale=w=iw/4:h=ih/4 [1sm];
			[0big][1big] overlay, zmq [big]; [0sm][1sm] overlay [sm];
			[big][sm]overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10 [outn];
			[outn][2:v] overlay=x=main_w-overlay_w-10:y=10 [out]; [out] split [outflv][outsdl]' \
	-c:v libx264 -s 1280x720 -profile:v high -level 4.2 -preset ultrafast -g 60 -b:v 2000k -acodec aac \
	-ar 44100 -ac 2 -bsf:a aac_adtstoasc -flags +global_header -strict -2 -threads 2  \
	-f flv -map '[outflv]' rtmp://strm.ludost.net/st/test \
	-f sdl -map '[outsdl]' "SDL Output"

Това в общи линии значи следното:
– вход 0 се цепи на два, 0big и 0smp, вход 1 по същия начин;
– 0smp и 1smp се scale-ват на 1/4;
– Прави се един overlay от 0big и 1big;
– Прави се втори overlay от 0sm и 1sm;
– От първия и втория overlay се прави един друг overlay, т.е. като picture-in-picture;
– В/у този overlay се слага png с финалния overlay;
– Цялото това нещо се encode-ва до h.264;
– Праща се на екрана и на по rtmp до моя тестов setup.

До тук – нищо особено, само дето се вижда само едното видео. ОБАЧЕ, чрез zeromq интерфейса човек може да контролира overlay-ите и да мести overlay-натите неща, като може дори да ги изкарва от картиниата. Ето така може да се сменя видеото в някой от overlay-ите, през zmqshell.py (от tools/ на ffmpeg-а):

lavfi> Parsed_overlay_4 y 900
Sending command:[Parsed_overlay_4 y 900]
Received reply:[0 Success]
lavfi> Parsed_overlay_4 y 0
Sending command:[Parsed_overlay_4 y 0]
Received reply:[0 Success]

Проблемът е, че всичките тия имена на филтри (Parsed_overlay_4 например) се генерират и не може да се кръщават, та човек трябва да си ги налучка първия път. Чудя се дали биха приели patch по въпроса…

Примерната работа на нещото може да се види тук, тествах с две мои видеа и логото на феста.

2015-07-25 Лекция “The web as a training set”

July 25th, 2015 by Vasil Kolev

На 23ти юли Data Science Society организираха лекция на Преслав Наков, “The web as a training set”. Записът е готов, одобрен и може да се свали от тук.

2015-07-20

July 20th, 2015 by Vasil Kolev

Миналата седмица беше основно deployment-и.

По един проект завършихме инсталациите, мигрирахме основната част в четвъртък вечер (съвсем прилично, с под час downtime и внимателно действане), а в събота имаше довършително мигриране, на един пощенски сървър (dd if=/dev/xbvda1 bs=1M | nc x.x.x.x. yyyy и от другата страна nc -l -p yyyy | dd of=/dev/sda1 bs=1M, хубаво нещо е българския peering). Изяде ми по-голямата част от седмицата, но днес трябва да завършим съвсем всичко и да се брои за приключено.

За курса по системна администрация тръгнахме да реализираме ето тази схема, с mSTP, като стигнахме почти до никъде (след като открихме, че половината хардуер не поддържа mstp или има някакви странности по въпроса), та ще се продължава следващата събота.
Също около курса, octavo (на което са видео архивите) вече се премести като клиент на ISP-то (допреди това беше в СУ), и помогна да се хванат няколко забавни проблема с тунели и mtu-та, които вероятно ще ги разкажа друг път.

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

п.с. желаещи за посещене на telepoint? Пишете един mail.

2015-07-12

July 12th, 2015 by Vasil Kolev

Честото блогване се оказва сложна задача… Няма много неща, които да са интересни и да стават за писане, и дори да има, все се оказвам достатъчно уморен, че да не ми се занимава и да оставям тая работа за неделята (докогато съм забравил вече доста от това, за което бих писал).

В новините (които са почти официални вече) – на 15.08 ще се случи VarnaConf (където мислим вече да има два потока), а на 7ми и 8ми ноември – OpenFest 2015.

init Lab започва да изглежда все по-приятно, и тия дни наснимах едно обикаляне около и в него (с gopro-то на Пешо, което се оказа супер удобно за подобни цели). Не е особено подредено (Петко чак му стана гузно и леко подреди рубинената стая, преди да я снимам), но е доста удобно за всякаква работа.

Тунелния проект се движи прилично. Малко статистики:
14 потребителя;
14 заделени мрежи (1 /49 (за isp.initlab.org), 2 /62 и 11 /64);
23 дефинирани тунела;
9 вътрешни BGP peer-а на marla, 8 на tyler.
Нямам прилични статистики за трафика (и имам колебание дали да ги показвам). Така като гледам, се движи съвсем прилично, ползва се и си работи съвсем добре (въпреки че още е с quagga).

2015-07-01 калпави технологии

July 1st, 2015 by Vasil Kolev

Мечта за една по-добра България – PHP компаниите да изхвърлят PHP-то и да почнат да пишат на Ruby on Rails .. :D (радорадо)

Аман бе.

В превод, “яжте моето лайно, по-вкусно е от чуждите”, което не променя факта, че си е лайно. Идея си нямам откъде е това желание на двете общности да се сравняват, и особено рубистите да се чувстват много велики в сравнение с PHP, при условие, че и двата езика са играчки, на които заблудени деца се опитват да пишат големи неща и после дълго време страдат. Единствената причина все още да няма толкова много некадърен код на ruby е, че просто не са мигрирали достатъчно от маймуните, дето пишат на php натам, после резултатът ще е същия.

А защо не изхвърлим mindset-а, че “технологията, дето беше модерна докато бях млад е най-хубавата”, не разучим какво има и не ползваме подходящото нещо за подходящата цел? Хора, дето трябва да учат другите на програмиране трябва да дават някакъв хубав общ поглед, не да забиват в конкретни технологии.

Колкото до това, че и двете са играчки – за php няма нужда да го обяснявам, за ruby – в наши дни да направиш нещо толкова гигантско, тромаво, single-thread-нато (да, знам за мижавите опити да се направи нещо я с fiber-и, я с thread-ове и колко много не работят) и като цяло с инфраструктура и технологии от преди 15 години си е жалко. Може да се види като цяла система go, което е изчистено, паралелизирано както трябва, не особено голямо и доста бързо, или lua, като чист и ясен език, който може да се интегрира някъде.

Та, накратко, може би е добра идея програмистите да мислят за програмиране (и свършване на работа), не за мерене на пиш^Wтехнологии.

2015-07-01 leap second 2015

July 1st, 2015 by Vasil Kolev

Jul 1 02:59:59 marla kernel: [3069423.164970] Clock: inserting leap second 23:59:60 UTC
Jul 1 02:59:59 cassie kernel: [2208647.880820] Clock: inserting leap second 23:59:60 UTC
Jul 1 02:59:59 tyler kernel: [3127496.541511] Clock: inserting leap second 23:59:60 UTC
Jul 1 02:59:59 router kernel: [3848405.967906] Clock: inserting leap second 23:59:60 UTC
Jul 1 02:59:59 alpha kernel: [901347.744564] Clock: inserting leap second 23:59:60 UTC
Jul 1 02:59:59 172.31.190.253 kernel: [2212252.480000] Clock: inserting leap second 23:59:60 UTC
Jul 1 02:59:59 172.31.190.254 kernel: [2212240.380000] Clock: inserting leap second 23:59:60 UTC
Jul 1 02:59:59 OBSHTESTVO kernel: [3159370.768336] Clock: inserting leap second 23:59:60 UTC

и т.н.

Този път (за разлика от предишния) проблеми нямаше.

2015-06-28

June 28th, 2015 by Vasil Kolev

СПИМИСЕ.

Anyway, седмицата беше пълна с всякакви весели неща:

– Имам си MNT-KROKODIL в RIPE (за което имам да черпя Драго).

– 7-8-9 човека, вързани по тунели, няколко и с BGP (които могат да се видят в моя nagios). Все още хората се добавят на ръка, Мариян е почнал да пише интерфейс (явно му е скучно).

– Пуснахме IPv6 в ISP-то, дооправихме някакви неща, повече – в status report-а. Две бързи интересни неща – IPv6 на alpha-та и nagios-а на ISP-то (user/pass guest/guest).
– По горната тема, трябва да пусна looking glass-ове. Приемам идеи за неща, които поддържат bird, cisco и quagga и не искат да им се прави черна магия, че да тръгнат (тоя от сайта на bird е тотална трагедия).

– Преди година и нещо, след една лекция на Боян Кроснов за инфраструктура, доста хора се заинтересуваха да видят истински datacenter. Два месеца след това бях направил една уговорка с Telepoint, и миналата седмица (никак не се забавих) в четвъртък и петък с групи от по 5-6 човека обиколихме и видяхме как изглежда и какви забавни неща има (например овлажнители на въздуха). По принцип е ориентирано към студенти, та ако има още интересуващи се, пишете ми, за да събера пак една-две групи.
(целим се в сряда като ден за посещение, щото тогава тествали генераторите…)

– Тъкмо привършва HackTUES, на което не можах да отида, заради курса и всичките останали забавления, жалко.

– И идва BurgasConf, следващата седмица. Мразя да пътувам, но съм обещал… Тази година няма да говоря там, имах идея за една лекция, но там ще се иска още много research.

2015-06-23 тунелираме бавно

June 22nd, 2015 by Vasil Kolev

(картинки на цялата мрежа и само на BGP-то)

Бавничко започвам един нов проект – ipv6 тунели в България, за хората, дето искат да ги ползват и не ги радва, че всичко, до което могат да стигнат е извън страната, съответно бавно (и youtube ги мисли за немци).

Текущите потребители сме initLab, аз и един човек, дето в момента си оправя настройките. Услугата е предназначена както за съвсем нормални хора (прост тунел, едно /64, шапка на тояга), така и за по-болни хора (няколко връзки, повече от една мрежа, BGP, пълна routing таблица).

Хората могат да се връзват за момента до два node-а – marla.ludost.net и tyler.ludost.net (като мисля да намеря и още един).

Иначе, TODO-то е голямо, от миграция до BIRD (тва quagga-та е ламята Спаска), до документация, примерни config файлове и по-хубав/красив/видим monitoring (в момента част от нещата ги има в pnag.ludost.net, но не всички).

(а се оказа, че няма функция в pgsql, която да дели някакъв prefix на такива някакъв зададен по-малък размер (например да се разбие /62 на /64-ки) и си я писах сам)

2015-06-17 разни мрежови

June 17th, 2015 by Vasil Kolev

не-Курсът по системна/мрежова администрация води до доста интересни открития.

Cisco IOS 12.2(11)T9 в/у 2600 (последния IOS, който има за тоя device, който мога да събера в моя flash/памет и в който има IPv6) по някаква причина не разпознава BGP peer-ите като directly connected, ако са вързани по някой сериен link и ттрябва да му се казва ebgp-multihop (не съм тествал за другите интерфейси). Отне бая ровичкане, и доста ровене в debug-а.

По default ipip и подобните тунели под linux слагат за TTL на външния пакет TTL-а от вътрешния пакет (“ttl inherit”). Смисълът на това тотално ми се губи, понеже троши traceroute по ужасен начин. Сега разбрах защо всички примери, дето съм виждал по въпроса имат накован в config-а ttl.

И една дреболия, дето драснах днес – прост скрипт за nagios, който се връзва по SNMP до дадено устройство, и проверява дали всички портове, за които има description са UP, и дали всички останали са DOWN. Доста полезно е за следене на switch-ове и подобни, като има малко трески за дялане, но като цяло е бая удобно за по-прости setup-и (където няма нужда да се връзва конкретен порт с нещо друго).

2015-06-14 жив съм

June 14th, 2015 by Vasil Kolev

Качих един progress report за ISP курса, в който вероятно съм пропуснал някакви неща, но участниците ще си кажат и ще се допълва.

Тия дни около курса се чудех с какви IPv6 адреси да го правя, и накрая се реших, навих един LIR (благодарности на Драго от delta) да ми request-нат адреси и ASN. По случая вече си имам AS200533 и 2001:67c:21bc::/48, които ще използвам и за курса, и да направя един малък тунелен брокер за IPv6 тунели за желаещи (с дублиране на тунелните, BGP и такива забавни неща), очаквайте подробности по някое време, като успея да се заема сериозно.

Иначе, жив съм – имам си кило занимания около разни проекти, openfest (очаквайте новини), ходих да консултирам студенти във ФМИ по мрежи (трагедия), изпитахме си хората за мрежова сигурност 2 (по-малка трагедия), ходих днес на театър на “Контрабасът” (беше страхотно). Определено трябва да пиша повече, почва да ми се губи какво съм вършил…

2015-05-27 upgrade до jessie на останалите ми сървъри

May 27th, 2015 by Vasil Kolev

И изглежда приключих с upgrade-ите на личните ми машини до jessie. Малко изводи/наблюдения:

– прочетете release notes, полезни са (има например как да не си инсталирате systemd);
– инсталирайте си needrestart, който при всеки нов инсталиран/upgrade-нат пакет може да провери какво трябва да се рестартира и да си каже. Това се оказа много полезно около update-ите на openssl и като цяло може само да разбира кой процес кои библиотеки ползва, доста улеснява живота;
– инсталирайте си debian-security-support, казва кога даден пакет вече не се поддържа от security екипа (има някакво количество подобни бози);
– ако имате някакви пакети, които сте компилирали сами, с debootstrap може лесно да си направите един jessie chroot и да си ги приготвите там предварително. Аз така търкалям собствен build на ircd-ratbox (който да поддържа utf8 в nick-овете и имената на каналите, заедно с още една-две добавки) и си пренесох patch-а за нула време;
– postgres се мигрира много лесно до новата версия, има три команди, описани в /usr/share/doc/postgres-нещоси;
– mysql-а па изобщо няма проблеми (ако ползвате системния, не съм гледал ситуацията с percona);
– имах огромен проблем с ejabberd, дотолкова, че накрая се ядосах, пуснах го в някакъв вид и го мигрирах до prosody. Мисля, че проблемът беше, че mnesia базата беше синхронизирана преди между две машини и понеже някои настройки не бяха махнати, разни update-и в/у схемата не са се случвали изобщо;
– погледнете после и направете apt-get autoremove, да почистите нещата, които не ви трябват, или да кажете изрично за нещо, че ви е нужно. Хубаво е да се чистят ненужните неща, да не влачите по 5 версии на разни стари библиотеки;
– Ако като мен ползвате неща, които apache сервира от /home, ще трябва да си пипнете /etc/apache2/apache2.conf, за да си позволите да се чете там (и да дадете AllowOverride, че default-а му е доста зъл). Също така са казали, че всичко,което се include-ва от sites-enabled и conf-enabled (conf.d е разкарано), трябва да завършва на .conf (което наложи малко да пригаждам конфигурацията си към него). Също така access/allow нещата са много променени и ако имате нещо по-сложно, ще трябва да се заровите в документацията;
– GRUB-а в момента по default пуска някакъв страшен видео-режим, който не запали на единия монитор в telepoint. В /etc/default/grub има GRUB_TERMINAL=console, което може да се разкоментира за целта.

В момента част от машините са със systemd, част са без, за да видя каква ще е разликата.

Самият upgrade мина сравнително безболезнено, reboot-а също си мина ОК. Мисля си тия дни да обърна внимание и на koi.obshtestvo.bg, където обаче има lxc контейнери и ще трябва да се действа по-внимателно.

2015-04-24 първи upgrade на сървър до jessie

April 24th, 2015 by Vasil Kolev

Новия Debian stable (Jessie) се кани да излезе след ден-два, та по случая реших да upgrade-на cassie (router/сървър-a в initLab). Причина за upgrade беше и продължаващия проблем с drop-ване на определени пакети, най-вероятно от интеракция на route cache и двата отделни пътя навън.

Като цяло нещата минаха съвсем спокойно (mysql-а се upgrade-на сам, за postgres-а трябваше да се направи една кратка процедура по upgrade, пак сравнително автоматична), и за няколко неизползвани неща (като varnish) ми каза, че трябва да си пренапиша конфигурацията. Имаше обаче два мрежови проблема (за справка, описанието на мрежовия setup там):

– в последната quagga, която е в jessie, ospf6d е счупен, съответно външната IPv6 свързаност изобщо не захапа. След някакво ровене в changelog-ове намерих следното на сайта на quagga:
“[ospf6d] A large amount of changes has been merged for ospf6d. Careful evaluation prior to deployment is recommended.”
Реших да не го дебъгвам повече и минах нещата на BGP, с което така и така се чувствам по-комфортно (при v6 и quagga изборът не е много голям).

– след 3.6 са махнали routing cache, което води до любопитното поведение, че един tcp connection не може да просъществува дълго, понеже пакетите му почват да се мятат между двете връзки и доста бързо идва един reset. Оказа се, че има хубаво решение с CONNMARK, като връзката в началото се маркира откъде е излязла, след което с policy routing правила се праща през вече определения ѝ път.

Чакам да видя какво още ще се счупи (поне отварянето/отключването на вратата работят, та няма да се наложи да я режем с флекс).

2015-04-19

April 19th, 2015 by Vasil Kolev

Първа сбирка на курса.

2015-04-16 “На ръба” в народния театър

April 16th, 2015 by Vasil Kolev

Днес бях на театър, на “На ръба” в народния театър. Беше предпремиера, те си казаха, че е нещо като генерална репетиция, но поне технически представлението беше съвсем издържано и направено страхотно (няколко-слойната сцена, като два от тях ходеха нагоре-надолу беше наистина добре направена).

Представлението само по себе си беше гадно.

Като за начало, в описанието му има следното: “Народ, който достойно и гордо съществува на този свят хиляда и триста години, но който не успя да устои на бруталните, алчни, безмилостни колизии на съвременната „демокрация””… и на собствените си низостни слабости и противоречия. “. Усещането от това беше, че ще е нещо мрънкащо, но се оказа още по-зле.

Едно от нещата беше сцена, която сама по себе си е страхотно направена – има няколко паралелни случки (6-7-8), които се повтарят и вървят заедно. Като цяло прилича на музикална композиция – да се сложат няколко инструмента със свои ясни партии и да вървят към кресчендо – но на театър се получава странно и в случая – по-дълго от нужното.

Имаше няколко много хубави попадения – например преливането м/у различните сцени беше самолет, който прелита над тях, в общи линии символ на хората, които си заминават, както и един разговор по skype с децата в чужбина, който беше малко прекален, но прилично точен (особено в частта, в която девойката отсреща казва “още един месец и се прибирам” и отговорът е едно дружно и силно извикано “НЕДЕЙ”).

Но, като цяло нямаше голяма връзка м/у различните части, някои от тях бяха като от другаде и беше като съшито с бели конци. А цялостното послание, доколкото го имаше беше от гледната точка на тия, за които най-правилното ще е да се завием в бял чаршаф и да пълзим към гробищата, всичко е загубено и няма спасение. Понеже авторът няма кой-знае какво да каже освен това, по-голямата част от пиесата е пълнеж (основно музикален), който може да изглежда добре, ама никак не е ясно какво прави там.

Най-много ми пролази по нервите посланието и в общи линии ненужно грубото му натякване, чрез самоубийства, ровене в кофи за боклук, гавра с инвалиди и всякакви такива подобни.

И сигурно нямаше да ме подразни толкова, ако я нямаше нашата групичка хора (която и не е единствена), която се опитва и даже успява да променя нещата и да ги подобрява, и които всъщност виждаме подобрението на прилична част от средата, в която живеем. Да, в текущата ни държава не бих гледал деца, но не значи, че не искаме и не можем да постигнем една бъдеща, в която това да е опция.

Накратко, иска ми се да кажа на автора, че не е прав и че и майка му не е права.

2015-04-15 end-to-end криптография за домашна/фирмена употреба

April 15th, 2015 by Vasil Kolev

Питаха ме тия дни “как да си говорим без да ни подслушват”, и понеже е просто, ето какво препоръчвам аз (и съм ползвал). Това не включва operational security неща (не говорете близо до други хора, не си качвайте записите някъде, не си давайте компютъра на непознати и т.н.), а само как да си направим setup, който може да се използва правилно. Базиран е на неща, които аз съм правил, т.е. конкретните препоръки са от моята практика.

Идеята е да имате end-to-end криптография (т.е. само крайните точки да могат да декриптират информацията) и forward secrecy (т.е. ако случайно някой ключ изтече, това да не дава възможност да се подслушва бъдещата комуникация). Това се постига с два протокола – OTR и ZRTP.

И двата са близки по идея, като първия се занимава с обмяна на текстови съобщения, втория с предаване на глас.

Като за начало – някакво собствено желязо, с криптиран диск, с debian stable и автоматични security update-и.
Ползвам debian, понеже си е стабилно и security update-ите работят както трябва и не чупят системата.
Криптирания диск е допълнителна мярка за сигурност. Реално на сървъра няма да пазите кой-знае каква важна информация, но си остава добра идея. Това влачи със себе си проблема, че на рестарт някой трябва да въвежда passphrase, но за това има начини да се прави по сравнително сигурен начин.
Виртуалните машини са твърде лесни за атака, че да се разчита на тях. Вариант са, защото при тоя setup данните не са чак толкова важни, но не ги препоръчвам.

Понеже всичката комуникация ще върви по TLS, е добре да си имате правилно подписан сертификат. Всички сме наясно, че сигурността на сертификатите е малко трагична, но помага понякога да се хванат разни MITM атаки. Има сравнително евтини CA-та, като скоро и ще работи това на EFF, което ще е съвсем безплатно.
Ако искате да избегнете всичките възможни атаки, може да си направите собствено CA и да го инсталирате по клиентите, но е по-сложно и доста често не се спазва както трябва и просто се казва на клиента да приема всякакви сертификати, което е лоша идея.

Следващата стъпка е XMPP (Jabber) сървър. Аз лично използвам ejabberd, понеже е сравнително прост за конфигурация, бърз и ако не трябва да дебъгвате S2S, направо идеален.
В него трябва да спрете некриптираните връзки като цяло, и да не включвате S2S (server-to-server) модула, така че да е ясно с кой говорите. Можете да си включите и конференциите, но за тях още няма end-to-end криптография.

Финално, трябват ви open-source клиенти, които да поддържат двата протокола (OTR и ZRTP). По принцип jitsi поддържа и двете и е доста добър избор (въпреки че е доста тежко и писано на java), като работи под всички desktop операционни системи и има alpha за android. За телефони (ios и android) за съобщения има chatsecure (само OTR). Също така аз самия ползвам pidgin с OTR plugin, който обаче няма ZRTP (и като цяло много кофти аудио поддръжка).
(някой може да допълни с още клиенти)

Този setup ви дава възможност да си говорите с end-to-end криптография и да сте много трудни/невъзможни за подслушване (по последните документи от NSA, OTR е нещо, за което не са намерили никакъв вариант да го счупят).

2015-04-09 Нов не-курс

April 8th, 2015 by Vasil Kolev

И ще правя новия курс. Подробности има на https://sa.ludost.net/?p=49, съвсем накратко:

Пак ще е не-курс;
Ще се провежда в initLab;
Такса – да сте член на лаба по време на курса;
Ще представлява да си правим ISP;
Желаещите да участват да се запишат в SA mailing list-ата.

Update: Понеже съм пропуснал да кажа, вероятно ще се провежда съботите от 14:00.