a direct publicism site
personal pages of Yasen Pramatarov

s2s

GoogleTalk се присъедини към Jabber-мрежата


Най-после.

Новината е от онзи ден и Юнуз ведната реагира в коментар към предишната ми статия. Ето я отново самата новина - тук.

Вече XMPP-сървърът на gmail.com приема записвания за състоянието от и на сметки от други XMPP-сървъри. С две думи вече са в джабер-мрежата.

Сървърът продължава да поддържа само основната услуга - само съобщения към включени потребители, нищо друго. Никакви екстри, съвсем в спартански дух. ;) Разбира се, сигурно има много лъскави джаджи за потребителите на клиента, направен от Google, но пък той е все още наличен само за Wind(Bl)ows. :) Какво пък - на мен не ми и трябва; още повече, че не е свободен софтуер и не бих си го инсталирал тъй или инак…

Донякъде добър резултат от дългото чакане на гугъл е наличието на библиотеките LibJingle за пренос на глас и видео върху XMPP. Не съм видял работещ клиент с jingle, та нямам много-много представа що за чудо е и защо точно него избраха. При условие, че имаше вече библиотеки за внедряване на IAX, SIP/SIMPLE… Дано да е добро нещо, щом като заради него чакахме толкова ;)

——

Между другото, голям купон е начинът, по който googleTalk поддържа (или не поддържа;) състоянието “невидим”. То не е в стандарта на XMPP, а в негово разширение, та не е бял кахър - те гугъл почти нищо от разширенията май не поддържат, та камо ли това…

Но все пак ми беше много странно и интересно - ето разговор между клиента ми и сървъра на гугъл по въпроса за невидимостта:

<presence type=”invisible” >

<priority>5</priority>

</presence>

<presence type=”error” >

<priority>5</priority>

<error type=”modify” code=”400” >

<bad-request xmlns=”urn:ietf:params:xml:ns:xmpp-stanzas”/>

<text xmlns=”urn:ietf:params:xml:ns:xmpp-stanzas”>unknown type</text>

</error>

</presence>

Ясно, не се поддържа - “неизвестен вид” на състоянието. Ще взема някой ден като си нямам работа да отворя конзолата на клиента си и да започна да пробвам подред всяко нещо, което се сетя… Мне, вярно, че нямам работа отскоро, но чак пък толкова ;)

Това, което ме изненада в първия момент беше, че клиентът ми “мина” в невидимо състояние и си твърдеше, че е невидим… Явно бъг на клиента - спирам дотук, това е тема за googleTalk все пак ;)

——

Поздрави на всички, които ползват правилния протокол и добре дошли в правия път на потребителите на гугъл ;) (ама направо фанатично прозвуча, нали;)

Някои пишат из мрежата, че това било голяма победа за XMPP/Jabber, но аз продължавам да твърдя, че това е голяма победа за Google, които малко поне си поочистиха визията пред джабер-общността.

Ако Jingle пък се окаже добро решение, ще са още по-добре поставени. И може би ще им бъде простено дългото разтакаване и явния натиск да не се приема друг стандарт за глас и видео, преди да са успели да внедрят и пуснат Jingle.

——

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

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

Никой не може да си позволи да “продава на ламери” вече. Щом като започнаха и да съдят спамерите, значи вече става поне малко по-важно да си добре поставен в очите на тази част от общността, която е малко повече “в час”.

Явно Google си вадят някакъв подобен извод. Какъв е точно никой не знае - както казах преди, там са в мъгли обвити…



Tags:
19 Януари, 2006 - 09:58

 
 

Google подготвят s2s


Изтичат тук-там данни, че най-вероятно Google се готвят да пуснат междусървърна свързаност (s2s) за джабер-сървърите си. Да напомня само, че това, което е познато като googleTalk, всъщност (за щастие на цялата общност;) е услуга, придържаща се към стандарта на протокола за моментни съобщения XMPP, тоест е фактически Jabber услуга.

Дълго време се натрупва напрежение в джабер-общността заради бавното внедряване на стандарта и допълненията му в сървърите на google, най-вече в публичния gmail.com. Най-големият проблем все още е липсата на междусървърна свързаност на gmail.com - това означава, че всеки, който иска да се свърже с човек със сметка в gmail.com (е-поща и, съответно, джабер;) трябва да си регистрира своя сметка там. Трябва да станеш клиент на google, ако имаш дори само един приятел там и искаш да говориш с него. Защото сървърът там не приема връзки от другите сървъри в джабер-мрежата. Поведение, което е много нетипично за джабер-нагласата, която някак съвсем естествено допреди предпоставяше разпределеност на услугата. Ако човек иска, може да си открие сметка в сървър, като се ръководи само от звучността на името му или пък от услугите, които предлага. Или защото познава администратора му и затова се доверява. Дори може да се пуска сървър на отделната машина, който веднага да става част от мрежата при зареждането. Аз, например, имам свой си сървър и когато съм на моя компютър, съм откриваем и през моя джабер-сървър. Не е много удобно, защото може да съм на публичен терминал и там, разбира се, няма да има такава (или същата;) услуга, но принципно междусървърната свързаност е нещо толкова присъщо на джабер-мрежата, че никога не сме предполагали, че заради един (само един публичен - gmail.com, другите са вътрешни на компанията) сървър тази нагласа ще е проблемна.

Преди когато някой сървър отказваше s2s, просто беше изтриван от публичните списъци на мрежата, например нямаше го в списъка на jabber.org. Сега един сървър прави проблеми, и то от ужасно много вече време и всички го търпят и всички само се оплакват тихичко, но това продължава да е проблем. Въпреки че този сървър не е и никога не е бил в горния списък. Въпреки че като услуга изобщо не заслужава внимание (например май все още не поддържа offline-съобщения…).

Причината да продължава да е проблем? Ами все пак това са google. Вярно, че google не са това, което бяха допреди година-две, когато имаха малко услуги, но качествени. Сега имат безброй услуги, почти всички в “бета” стадий. Някои “бети”, като пощата им, са си ок, но моментните им съобщения са под всякаква критика.

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

Имаше слухове, че google пишели сами сървъра на googleTalk, защото щели да измислят някаква гениална система за тотално справяне със SPIM-а (спам-а в моментните съобщения). Всъщност в джабер никога не е имало истински spim и много хора твърдят, че няма и да има заради разпределеността на услугата. А и да се появи, почти сигурно е, че мрежата ще се справи за нула време. Има подготвени допълнения към стандарта, които се занимават с това.

——

Като кажем всичко това и като теглим една черта, какво остава? Защо google 1) пишат свой си сървър за джабер, при това със затворен код и 2) защо толкова дълго време отказват да поддържат междусървърна свързаност?

Отговорът се набива на очи и е толкова прост, че все не ни се иска да е така. Не ни се иска това да са google. Дето са “добри”, дето ги ползваме всеки ден за търсене.

Отговорът е, че така се завладява територия.

Териториалното разбиране на Интернет е така типично за корпоративната нагласа, че колкото и “добри” да са google, няма начин да не му се подчинят изцяло. А google е търговска компания, нали не сте забравили? Не е интернет-общност, нито е фондация с идеална цел…

Жалко за google. Жалко, защото точно джабер е съвременен работещ пример за неадекватността на териториалния принцип в Интернет. Но пък това е добре за самата джабер-мрежа - още една победа. Защото много скоро google ще се принудят да пуснат официално s2s. И ще станат просто още един от многото джабер-сървъри в мрежата. Както трябва да бъде, където им е мястото. Разбира се, ако слушкат и ако услугата им е на ниво. Поне на нивото на другите сървъри там ;)



Tags:
17 Януари, 2006 - 10:51

 
 

За сигурността в 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. ;)



Tags:
21 Април, 2005 - 10:19

 
 
Different Photography
Make Money Fast - Work At Home
helio ocean
Cheap Macs, PCs, LCD TVs etc
Flash Drive Recovery
Ако сайтът ви е харесал, можете да ме почерпите с
или
през ePay
perdolitical manager good job trachilic
money cash casinos