Monthly Archives: April 2005

Да се обадим на ВиК?

Вчера в работа се видяхме с Йовко Йовков, a.k.a. Aerion — внедряват някаква система тяхна, а пък нашите шефове си мислят, че така е по-добре и се развиваме. Нищо против системата, идеята е готина, ще стане ;) Просто се сещам за оня лаф за “чифте пищови”…, ама нейсе ;)

Та попривършиха работата си Aerion и неговият човек с моя шеф и аз реших да поработя малко, заех се с една дългоотлагана задачка-закачка с нисък приоритет. Времето беше хубаво, слънце влизаше през щорите… — защо да не се позанимава човек с LDAP?

Не зная дали ще ми повярвате, но откакто бачкам тук, наистина никога не ни е спирал токът. Освен за няколко минути при проверка на инсталацията, при смяна на UPS-и и подобни “нормални” неща.

Та значи почвам аз да тракам по-ритмично връз клавишника (не така “накъсано”, както при чат през jabber-а ми;) и точно в най-неподходящия момент (представете си да сте направили промени в 5-6 различни файла, отворени в съседни страници на gnome-terminal, плюс разни документации, прелистени до нужното място… абе нормална работна среда всъщност;) екранът ми става черен и чувам тишината. В първите няколко секунди позаглушена от спиращото свистене на всичките фърфолатори в стаята — по процесори, видеокарти, захранвания, дори онова, на малкия switch в ъгъла, дето почти “говори членоразделно”. :-O

Успях да кажа само едно “е, не!”, като в момента дори не осъзнавах, че наистина ни е спрял токът. Някои хора свикват да изпитват тази тръпка, аз явно съм разглезен тук. ;)

—-

Йовко не можа да повярва, след което започна с бъзиците. Е, всички шефове на отдела се разтичаха по коридора и беше кофти да се подхилкваме пред тях, а пък и Йовко си беше приключил задачката, затова си казахме “чао до скив” и останах само аз подхилкващ се.

Причината за изключването, естествено, беше много сериозна — голяма авария, която засяга и нас и това като се е съчетало с “нещо си там” на UPS-а, той си дърпа сам шалтера — и язък, че си мислим, че сме зад UPS. Не зная точната причина, но си беше сериозна и колегите се потрудиха доста, явно. Но пък те са си специалисти — може от компютри бъкел да не отбират, ама иначе са все “енженери”… ;)

—-

Интересните неща, дето исках да споделя, са две, всъщност…

Първо странно ми стана, че след възстановяването на захранването и тръгването на всичко имах много особено изживяване именно с въпросния LDAP. Бях работил по съседно разклонение на структурата, съседен OU (Organisational Unit) на LDAP-дървото, но много тайнствено бяха изчезнали данни от друг, важен OU. Които, колкото и странно да ми беше, лека-полека сами си се “възстановиха”.

Обяснение пълно не мога да дам и на себе си, но може би е станало нещо, което се е отразявало в непълни отговори на запитванията за търсене в дървото. Понеже всички LDAP клиенти всъщност търсят в базата със запитвания разни. Станалото “нещо” не би трябвало да е нарушение на целостта на данните на базата върху диска — ако беше така, нямаше да успея въобше да заредя ldap-сървъра. Не зная какво е, но явно по някаква причина търсенията връщаха “извадка” от истинския отговор. И тази “извадка” се увеличаваше, докато сравнително скоро след включването на машините лека-полека се изравни с правилния отговор.

Тоест данните “се възстановиха”… Странно, наистина.

—-

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

— Да вземем да се обадим на ВиК?

— Ми що да им се обаждаме?

— Може да помогнат нещо…

— Е как ще ни помогнат ВиК? Няма смисъл…

— Не знам, аз пак си мисля да вземем да звъннем на ВиК…

— Защо??

— Ами имам чувството, че няма смисъл да звъним в Енергото…

;)

За сигурността в Jabber

Да, става дума за сигурност. Преди да продължа и да кажа, че общуването през Jabber/XMPP може да бъде несигурно, нека ви напомня нещо.

Именно, че общуването през всичките нароили се други протоколи *не е сигурно*. Когато някой от вас ми казва “ами хайде, сложи си “Q” или “Яху”, щото нали най-важното за месинджърите е колко хора ги ползват, кво се правиш” все се сещам за онези времена, когато се използваха наистина масово т.нар. “icq клиенти”. На половин година излизаше нова версия, но пък за сметка на това всеки месец излизаше по някоя нова програмка-“инструмент”. Я за подслушване, я за заливане до отказ на клиента, я за крадене на списъка с контакти…

Любимият ми пример всъщност е този с “невидимостта” в icq. Не зная как се осъществява състоянието “невидим” в днешните собственически програми за моментни съобщения и не ме интересува, честно казано. Но навремето сътсоянието “невидим” (“invisible”) в небезизвестното icq беше направено по супер-балъшки начин.

Значи минавате вие в “невидимост” и какво става? Ами много просто – icq-то ви казва на всички, че сте невидим. Невидимо е не *то*, а… *вие*. Получава то запитвания за състояние и на всяко запитване отговаря, че състоянието ви е “невидим”. Нещо като “Мен ли търсите? О, мен ме няма, не мога да говоря по телефона, защото ме няма. Приятен ден!”. После е ясно откъде се появяваха т.нар. “un-invisiblisers”.

Тоест всичко е измисляно “през пръсти”. Пък ако мине номерът – мине…

Правилният начин, както може би сте се досетили, е в състояние “невидим” на запитвания за състояние да не се отговаря. Така де – когато “няма никого вкъщи” не отваряте вратата, нали? ;)

Jabber също не отваря вратата, ако още се чудите. ;)

—-

Но въпросът е за сигурността. Най-важното за сигурността е, че трябва да бъде осигурявана.

Глупаво е да се мисли, че има универсални решения. Всъщност аз бих могъл да ви кажа, че е глупаво да се мисли, че изобщо има решения. Повлиявам се от философския си background, ще кажете вие. Добре, тогава бих добавил, че е човешко да бъдем глупави.

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

Трябва да имаме security reflex. ;)

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

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

—-

След като ви казах, че използвайки собственическите програми за моментни съобщения вие почти сигурно говорите “голи”, да кажа и за Jabber.

Jabber поддържа няколко нива на защита на преминаващите данни.

1) шифрирана връзка към сървъра (c2s, client to server) през SSL (Secure Socket Layer) на друг порт, 5223

2) шифрирана връзка към сървъра (c2s) през TLS (Transport Layer Security) на стандартния порт за нешифрирана връзка, 5222

3) шифрирана връзка между сървърите (s2s, server to server) през SSL

3a) други варианти на подобна схема на s2s шифриране.

4) шифрирана връзка на цялата комуникация между двата клиента (e2e encryption, end to end encryption) чрез подписване и шифриране на данните с електронни ключове.

Въпросите тук са два:

1) кой вариант или кои комбинации са достатъчно сигурни и

2) кое доколко е въведено в наличните днес сървъри, сървърни компоненти и клиенти.

Първият въпрос е лесен за отговаряне.

Най-сигурният вариант е 4). Когато всичко е шифрирано от единия край до другия, данните са най-добре защитени.

След него се нарежда вариант 3) в разновидностите му, комбиниран с 1) или 2). Тогава данните изминават следния път: първо клиент1 ги шифрира до сървър1, след това сървър1 ги шифрира за вътрешния обмен между процесите си и/или до сървър2 (ако разговорът е между хора към различни сървъри) и накрая сървър2 ги шифрира до клиент2.

За да работи тази схема са нужни две условия – и двата клиента да са свързани през SSL или TLS към сървъра си и всеки от включените в разговора сървъри да е настроен да шифрира данните.

Въпреки че тази схема е доволно добре изглеждаща, има слаби точки. Тези точки са двата сървъра, или по-точно администраторите на двата сървъра. Съответно – сигурността на двата сървъра, защото ако са несигурни и незащитени, има възможност някой си друг да стане практически “администратор” и… сещате се;) Обяснението е, че всяко нещо, което минава нешифрирано през машината и зависи от програмно осигурената услуга да бъде шифрирано, е уязвимо. Да обясня с пример: ако кракер1 добие достъп до, да речем, сървър2, то той може така да промени софтуера на машината, че, примерно, да изпраща нешифрирано копие на данните до кракер-клиент1. Или още по-“яко” – да изпраща шифрирано от кракер1 копие.

А най-опасното е да имате или връзка със сървъра през SSL, или връзка между сървърите през SSL, но не и двете едновременно. Най-лошо е, защото си мислите, че сте защитени (понеже, примерно, “катинарчето” на клиента ви е заключено), но не сте (в случая – защото между сървърите всичко е в прав текст).

—-

Да видим каква е реалността. Доколко тези възможности са внедрени в сървърите, компонентите, клиентите.

От компонентите ни интересуват най-вече транспортерите към другите протоколи. При тях положението е ясно – няма защита. Защо ли? Ами много просто – доколкото поне на мен ми е известно, защита нямате и в самите въпросни собственически протоколи, как Jabber сървърът да я “измисли” тази защита? ;)

При клиентите също нещата са ясни – все пак клиентите ги “виждаме”, пред нас са. Списъкът им се променя много често, все по-често излизат и нови версии. И все пак единственият клиент, който хем е колкото може по-съвместим с протокола, хем поддържа SSL, TLS и e2e шифриране, е Psi. С Psi направо можете да си настроите електронните ключове – вашия и този на събеседника ви и след като минете в засекретен режим, да говорите спокойно. Без това да бъде “нещо специално”. Както казах, просто рефлекс за сигурност. ;)

В другите клиенти положението не е чак толкова добро, но има проблясъци – Gaim, колкото и оплюван от Jabber-общността, поддържа шифриране и всичко останало, макар и през допълнителни приставки.

В някои други клиенти има наченки в новите версии на e2e crypt – Kf, Gajim.

В някои клиенти пък изобщо липсва такава възможност. Много са, но ще спомена само един от най-качествените сред тях – Gossip, бъдещият стандартен Jabber-клиент за настолната среда Gnome. Колкото и да е странно, в пощенския списък на Gossip като че ли битува едно разбиране, според което ако хората използват SSL връзка със сървъра, всичко е наред – и “пей, сърце”. Дано в дълго готвената нова версия включат и шифриране между клиенти. Макар силно да се съмнявам – просто понякога се прекалява с “user friendly” обяснението. Gossip малко прекаляват с прекалената изчистеност. Аз използвам Psi в среда на Gnome и съм доволен от интеграцията му. Пък и ако “съвместимост със средата” означава да нямам сигурност на данните защото “било трудно за новия потребител”, ами… майната й на съвместимостта…

При сървърите положението едва напоследък започна да става по-розовичко. Доскоро, именно до 20.01.2005г., когато излезе версия 1.4.4, един от най-разпространените (и всъщност първият, оригиналният;) сървъри, jabberd14, *НЕ* поддържаше SSL връзка в междусървърната комункация.

Новата версия, 1.4.4 поддържа.

Другият разпространен сървър, jabberd2 също доскоро не поддържаше шифриране. Ето едно примерно доказателство.

Последните версии поддържат. Проблемите с внедряването на s2s SSL бяха най-вече свързани с трудността при критериите за автоматичното приемане на сертификатите – някои сървъри може да имат изтекли, самоподписани сертификати и т.н. А администраторът да решава “на ръка” за всеки сървър и да следи дали сертификатът е валиден… си е гърч ;)

Третият най-използван сървър, руският написан на Erlang ejabberd и в момента *НЕ* поддържа s2s шифриране. В сайта му вижте най-долу. За всеки случай ще цитирам:

Misfeatures of ejabberd

No support for authentification and STARTTLS in S2S connections

Трябва да се отбележи, че фактът, че някои от сървърите отскоро вече имат възможност за s2s шифриране *НЕ* означава, че на практика тази възможност е настроена в самите сървъри. Или че изобщо сървърните пакети са обновени. Затова – проверявайте. Добрият клиент трябва да поддържа ServiceDiscovery (“disco”) и да може да дава подробна информация за сървъра.

—-

И сега – какво? Ами… нищо – аз си ползвам шифриране с електронни ключове в моя Psi. И говоря свободно само с малкото хора в списъка ми, които са включили тази настройка, защото разбират положението на нещата.

Говоря и с другите; някои от тях са ми близки приятели. Но внимавам какво пиша и давам чувствителни данни само ако те се съгласят и след като им кажа, че връзката не е сигурна. И го правя с нежелание.

Но какво да се прави. Всъщност то все още има линуксчии, всякакви други хора, вярващи в софтуерната свобода, които продължават да използват icq, yim, msn и какви ли още не бозици.

А пък аз съм тръгнал да говоря за сигурност…

В обобщение: използвайте колкото се може по-близък сървър. Не само заради скоростта на връзката до него, а и заради по-голямата възможност да познавате администратора му и/или да имате по-голямо доверие на специалистите и защитните стени около машинката. ;) Проверявайте версиите и другите данни за сървъра – от уеб-страница за състоянието му или през disco.

И второ – използвайте винаги SSL/TLS връзка със сървъра. Не вреди, а пък в редки случаи може да повиши сигурността на връзката. Е, поне паролата ви към сървъра е защитена. ;)

И накрая, но най-важно – използвайте GPG за шифриране клиент-клиент. Намерете си клиент, който го поддържа и разкажете на хората в списъка ви за предимствата.

За да може някой ден да приемаме сигурността като нещо естествено, а не нещо супер-специално и прекалено user-unfriendly. Да си изградим security reflex. ;)

Администратор? На кого му пука…

Да не се подлъгват неопарените – няма никаква файда в работенето в известно място. Важно е да имате мегдан за действие и това, което направите добре, да е нещо, за което да ви уважават. Важно е трудът ви да се признава.

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

—-

Ха – какво говоря аз, дето седмица преди заплата отново съм на червено и си броя левчетата дали ще ми стигнат за изпита LPI201 на WebTech2005…

Преди малко ми вдигнаха кръвното с глупости. Влиза един колега и вика “Яска, какъв тип е сървъра ни (еди-кой си) и сървъра ни (еди-кой си друг)?”.

Седя, в началоно мигам на парцали, после с леден глас успях да промърморя “кой пита”. Обикновено съм доста (дори прекалено, за админ) приятелски настроен към разни най-разнообразни *тъпи* искания. Доста често дори засенчвам собствената си представа за “съпорт по телефона”, например. Макар, честно казано, да не се виждам как го правя постоянно – по-скоро се “лигавя на моменти”, като угаждам на разни малоумници, намерили ме в добро състояние на духа.

Обаче тоя въпрос направо ме удари в земята. И наистина нямаше да отговоря, ако на моя въпрос не бях получил “ами чехите питат тук, статистика правят”… Абе аз.. а-ма-ха…

Казах какъв *тип* са сървърите.

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

А пък ако *моят работодател* иска да има статистика, защо, аджеба, не вземе първо да направи статистика на заплатата ми. Да види откога не ми е повишавано възнаграждението (че после да ми каже, щото и аз не помня вече…), да реши най-накрая да сложи климатик в стаята на администраторите (трета година в парник, трета!)… Тъй де, да се поинтересува малко.

А пък после, ако толкова им е интересно, да ме питат какъв е Линуксът. Но преди това да вземат да ми платят някакъв курс или поне конференция. Защото за моите умения тук никой не ми е платил – все аз съм плащал.

То така е много лесно – развърташ се из “пазара”, намираш си някой безработен специалист и си го държиш няколко години.

Просто ей-така. Да ти работи.

Пък той – колкото издържи. Нали на пазара има други… :(

Шмръкльо и Борко

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

Е, въпросните дни били този уикенд. Или поне едни от дните за почистване. Страхотно беше не само, че успяхме най-накрая да засадим Шмръкльо, а и Борко, а и че имаше толкова много хора, които просто решили в топлия съботен следобед да излязат за малко и да посъберат поне част от грязта, дето се валя по улиците на квартала. Дето я настъпваме, вдишваме вкарваме в домовете си, в които после спим, ядем… Грязта, дето цяла община има създадена най-вече да се грижи за липсата й. Защото помслете малко – за какво всъщност съдествува и е създадена общината? За да събира данъци? Не, те са средство. За да храни раздута и корумпирана администрация? Не, макар и изродена, и администрацията е средство. За да застроява тревни площи и да строи паркинги за милите гадни автомобилчета? Хм… това се прави от строителни фирми, за “община” имаме отделна дума…

Общината съществува, за да регулира страстите. Да прави всичко възможно в услуга на две неща: да е възможно всяка лична позиция да е бъде чута и да няма сблъсък на интереси. Тоест да ни бъде 1) уютно и 2) спокойно. А една от най-важнте предпоставки за уюта е чистотата.

Та прецакани сме и от общината, ама нейсе – няма да говоря тъжно точно в понеделник сутринта. ;)

—-

Въпросният “Шмръкльо” кой е, питате, значи. Ами за Коледа решихме с Краси да не си взимаме клончета или отрязано дърво, а истинско, живо дръвче. И донесох аз вкъщи красива малка коледна елхичка. С корени с пръст, увити в хартия. Посадихме я в голяма саксия, настанихме я в стаята, ориентирана правилно по посоките на света (по-развитата страна трябва да е към юг – така растат в природата, влияело им;) и я оставихме на Арти да си играе с нея. След това имаше стъклени играчки, сняг от памук, гирлянди – все големи забавления за котарака ни, който редовно си отъркваше мустаците в клончетата – опитваше да си оставя миризмата, но пък елхичката има свое мнение за телесната си миризма, а пък е и жива, не съхнеща, та не му се даваше на котака.

И понеже видът на домашното ни иглолистно е смърч, затова го кръстихме Шмръкльо. ;) Дълго време и след новата година стоя вкъщи, после го изнесох на площадката на стълбището между етажите. Гледахме да го поливаме, но малко дълго време го задържахме непосадено – когато го засаждахме в събота, доста от игличкие бяха покафенели и падаха при допир. Но пък има още живички, та дано се съвземе. Борко пък е другарче на Шмръкльо и е борче. Вътре в корените на смърча имаше едно мъничко борче – с малки коренчета и високо не повече от десетина сантиметра. Понеже е бор, логично стана “Борко”. Не успяхме да ги засадим преди най-вече заради липсата на инструменти – във входа няма бел, няма кирка, едно гребло даже няма. Е, сега се оказа, че домоуправителят е взел и права лопата, и гребло… само дето е забравил да напише на едно листче, че има акция по почистването. Оказа се, че хората просто не знаят. Както и ние не знаехме.

И посадихме дръвчетата, и почистихме една от градинките от камъни, безброй найлони от цигари и прогизнали фасове. Почистихме и външната страна на бордюра – там, където се събира най-много кал, откъм улицата. Не беше чистено поне от около примерно пет години. В нашия квартал минават само да изхвърлят контейнерите с боклука, никой вече нито мете, нито мие. Просто сме по-далечко от местната община. В съседната част, там, при общината, метат всеки ден и няма такива набити покрай бордюра калища. Е, поне няма толкова много.

—-

Усещането е страхотно, отдавна се каня да попрочиствам градинката по малко. Може например да си взема овощарски ножици и метла с дълга дръжка. И след бачкане да отмарям, като подрязвам тук-там дръвчетата и с метлата леко замитам попадалите листа и цветове. С раничка с лаптоп, естествено. Хм, трябва да възстановим с комшиите поне някои от изчезналите пейки в градинката. За да може след овощарството да сядам и да отварям за малко лаптопа. ;)