от SmashThePain(28-09-2012)
рейтинг (35)
[ добре ]
[ зле ]
Вариант за отпечатване XMPP (Extensible Messaging and Presence Protocol) или както е
оригиналното име Jabber, е протокол за
моментални съобщения и съобщения за състояние, оформен като
свободен стандарт, базиран на XML.
Има различни видове XMPP сървъри за Линукс. В тази статия ще ви
запозная с инсталацията и конфигурацията на jabberd14 под Debian 6.0
Squeeze.
За да осъществите всички стъпки по инсталацията на XMPP сървър,
ще ви трябва малко време и root терминал.
Първата стъпка е инсталирането на jabber демона:
apt-get install jabber
Текущата версия в хранилищата на Debian е 1.6.1.1. След като го
инсталирате, вече трябва да имате работещ Jabber сървър.
Първата и основна стъпка е да се запознаете с конфигурационите
файлове на сървъра. Основните файлове са в директорията
/etc/jabber . Конфигурацията на сървъра се
осъществява чрез файла /etc/jabber/jabber.xml .
Стойностите за стартиращите параметри на jabberd
се намират във файла /etc/default/jabberd14 .
Идеята на този файл е да се редактират параметрите на демона,
без да се
пипа в init скриптовете.
Със задаването на името на сървъра започва същинската
конфигурация.
Отворете с любимия редактор /etc/jabber/jabber.xml
и намерете:
<host><jabberd:cmdline
flag="h">localhost</jabberd:cmdline></hos
t>
На мястото на localhost поставете избраното от вас
име.
За да работи правилно сървъра е необходимо да промените и
hostnamе-a в /etc/default/jabberd14 . Редактирайте
стойността на променливата:
HOSTNAME=localhost
След като направите описаните конфигурации е време да проверите
работата на сървъра.
Първо е необходимо да рестартирата jabberd,
/etc/init.d/jabberd14 restart .
XMPP сървъра по подразбиране следи за свързвания на порт 5222.
Тъй като XMPP протокола е отворен и е базиран на XML е много
лесно да се комуникира с Jabber сървъра през
telnet .
telnet localhost 5222
След като сте се свързали със сървъра изпратете:
<stream:stream
to='localhost'
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'>
На мястото на localhost поставете името на вашия host. След
това изпратете:
<iq id='reg1' type='get'>
<query xmlns='jabber:iq:register'/>
</iq>
Ако всичко е наред сърърът ще отговори с необходимата
информация за регистриране на нови потребители. Ако възникне
грешка, убедете се че сте конфигурирали правилно името на
сървъра.
След тази стъпка отворете любимия си Jabber клиент като Pidgin
например и създайте нов потребител.
На този етап е трябва да конфигурирате клиента да използва
криптиран канал, само ако е наличен. Също и да разрешите
оторизирането, чрез чист текст.
След като влезете в акаунта си и XMPP сървъра ви приветсва с
добре дошли, можете да изпращате съобщения до другите
потребители на вашия сървър.
Например може да решите да изпратите съобщение до потребителя
foo@hostname . Хубаво е да знаете, че съобщенията,
които ще разменяте с foo , са лесна плячка за
хората, които подслушват трафика ви. Тоест, цялата комуникация
между вас и foo не минава през криптиран канал.
За да се убедите в това:
tcpdump -A -i eth0 port 5222
Сега може да наблюдавате трафика, който минава през вашия XMPP
сървър. Както ще забележите всички съобщения, които се изпращат
вие можете да ги прочетете без никакви пречки. Същото могат да
направят и хората, които подслушват нечия мрежа, през която се
изпращат съобщения към вашия Jabber сървър.
За щастие Jabber демона подържа интеграция на SSL сертификати.
С помощта на такъв сертификат, трафикът между клиентите и вашия
сървър ще бъде криптиран.
Препоръчителния вариант за издаване на SSL сертификат е да бъде
издаден от оторизирана организация. При подписаните
сертификати, вашите потребители ще бъдат обезопасени
допълнително и няма да са податливи на атаки, чрез
фалшифициране на сертификата.
Издаването на такъв сертификат не е много евтино и едва ли е по
джоба на всеки потребител. Поради тази причина, в текущата
статия, ще подпишем собственоръчно сертификат с помощта на
OpenSSL.
Първата стъпка е генериране на частен ключ:
openssl genrsa -out jabber.pem
С помощта на този ключ, може да генерирате и сертификата:
openssl req -new -x509 -key jabber.pem -out jabber-
cert.pem -days 1095
Променете групата на ключа и сертификата, така че Jabber демона
да има достъп до тях:
chown root:jabberd jabber.pem
chown root:jabberd jabber-cert.pem
След като вече сме генерирали сертификата и частния ключ е
време да конфигурираме сървъра да ги използва. Отворете
/etc/jabber/jabber.xml и намерете
<tls> .
След него въведете следната конфигурация:
<key id='*' type='chain' private-
key='/etc/jabber/jabber.pem'>/etc/jabber/jabber-
cert.pem</key>
Рестартирайте сървъра и конфигурирайте Jabber клиентите да
използват SSL/TLS криптиране, както и одобрете генерирания от
нас сертификат.
Накрая докато си пишете с третото Ви гадже, може да се убедите,
че останалите няма как да подслушват връзката:
tcpdump -A -i eth0 port 5222
<< Интервю на „Линукс за българи“ с Хюсеин Исмаил | Как работи DNS, част 1 - Resolvers и Cache сървъри. >>
|