Portál AbcLinuxu, 8. června 2024 03:21

Instalujeme truc-server na Fedoře

2.12.2007 15:29 | Přečteno: 1511× | Výběrový blog | poslední úprava: 2.12.2007 15:30

Kdo byl na OWO, ten ví, že

Pinkava tam měl přednášku o jabbimu, přípravách nového klienta, který je napsán desetkrát rychleji, je lepší, má skin, dvacetkrát více funkcí a k jeho používání nepotřebujete dvě vysoké školy, jako u ostataních.

Ve své vrcholné řeči nejprve vyzdvihl přednosti jabberu, jeho otřevřenost apod, která poskytuje každému prostor pro založení vlastního serveru. O pár minut později označil servery, které si založili bývalý uživatelé jabber.cz (k vůli jeho nepřílišné stabilitě) jako truc servery (od slovesa trucovat). Aby ještě dále uvedl, že když se z malého serveru stane velký, ná problém se stabilitou. Zkrátka brilatní logika.

Pojď mě si takový server nainstalovat.

Naivní začátek

yum install jabberd
vim /etc/jabberd/c2s.xml
vim /etc/jabberd/sm.xml

Instalace a změna ID.

Tak takhle ne, přátelé. Funguje veřejná registrace, nelze přidávat uživatele v nějakém admin rozhranní, jen přímou editací BDB.

Bereme to vážně

Když už to nemá admin rozhranní a potřebujeme ručně editovat uživatele (po zablokování možnosti veřejné registrace), tak to alespoň strčme do MySQL.

V dokumentaci z roku 2003 na officiálních stránkách se píše, že stačí vytvořit v MySQL uživatele a DB a tyto údaje nacvakat do c2s.xml a sm.xml. Nic víc. Fajn. Opět trochu naivně jsem to udělal přesně podle návodu, s tím, že se mi to nezdálo. Ale což, jabberd si může tabulky vytvořit sám.

Očividně nemůže. O DB schématu se v manuálu neříká projistotu vůbec nic. Po chvilce hledání, při které jsem zjistil, že mi locate indexuje také zálohy, jsem nalezl /usr/share/jabberd/db-setup.mysql. Toto stačí naimportovat do MySQL:

mysql -u root -p -D jabberd2 < /usr/share/jabberd/db-setup.mysql

Pak už to funguje.

Editujeme DB přímo

DB schema je poměrně jednoduché. Pro odstranění uživatele stačí editovat tabulku authreg a smazat příslušný záznam. Pro "registraci" nového uživatele, jej stačí přidat příkazem

insert into authreg (username, realm, password) VALUES ......

Kde uvedené položky jsou samovysvětlující.

DB specialistům jistě vstávají všechny chlupy na těle z představy porušených cizích klíčů, sirotčích záznamů apod. Žádné tam nejsou ;-). Paranoikům potom z faktu, že heslo je v plain-textu. No, je to OpenSource.

Nastavujeme firewall

Pro připojení klienta na server je nutno povolit porty:

tcp/5222 -- nesifrovane spojeni
tcp/5223 -- SSL spojeni klienta a serveru.

Pro meziserverovou komuminakci pak

tcp/5269 

Pokud používáte firehol, můžete si copy-pastnout následující definice:

server_jabberd_ports="tcp/5222 tcp/5223 tcp/5269"
client_jabberd_ports="default"

A nastavit sekci příslušné interface:

server jabberd accept

Případně si rozdělit klientské/server a server/server porty

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

2.12.2007 16:09 Pihhan | skóre: 11
Rozbalit Rozbalit vše Re: Instalujeme truc-server na Fedoře
Odpovědět | Sbalit | Link | Blokovat | Admin
Malá poznámka autorovi. Hesla nejsou v otevřené podobě kvůli tomu, že je to open source, ale z principiálních důvodů. Nelze totiž reálně mít uložené heslo v zašifrované podobě a zároveň posílat nezašifrovaným kanálem heslo ne v plaintextu nebo ekvivalentní podobě. Jediný lék na paranoidní bezpečnost je SSL kanál a posílání tímto bezpečným kanálem prostého hesla v textové formě. Teprve potom si můžeme dovolit mít jenom hash na serveru a heslo nepřijde k újmě.

Protože jsou ale i zařízení nebo programy, které SSL nemají, ať už kvůli minimu paměti (mobil & spol.) nebo kvůli patentům nebo jiným právním problémům (např. vývoz šifer z USA), je dobré neohrožovat je plaintext heslem. No, na to je ale potřeba mít plaintext hesla na serveru. Tam to aspoň není tak neovlivnitelné, jako někde cestou wifinou po netu, že :)

Pokud se nelíbí plaintext hesla, jde použít i LDAP autentizaci. To ale vyžaduje, aby si to klienti nastavili v programu, proto to není jako výchozí nastavení.

mimochodem v článku myslím chybí, že jde o jabberd2 server.
Heron avatar 2.12.2007 16:36 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Instalujeme truc-server na Fedoře
Poznámka o OSS byla spíše k tomu DB schematu.

Ano, jedná je o jabberd2.

PS: máš pěknou fotku v profilu. Škoda, že nejezdím na jih. Mohli bysme skočit na pivko.
2.12.2007 16:47 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Instalujeme truc-server na Fedoře
Nelze totiž reálně mít uložené heslo v zašifrované podobě a zároveň posílat nezašifrovaným kanálem heslo ne v plaintextu nebo ekvivalentní podobě.
Lze to. Na serveru je možné mít uložený hash, který vznikne z hesla. A klient bude posílat hash hashe. Pak sice hash uložený na serveru je pro komunikaci s tímto serverem ekvivalent hesla (tj. při odcizení hashe se můžu přihlásit k serveru), ale není možné ten hash použít na jiném serveru (kde má uživatel stejné heslo, ale zahashované s jinou solí). Pak by ale zvolený komunikační protokol musel podporovat dvě soli – jednu pro server (kterou server hashuje všechna hesla před uložením do databáze) a druhou pro aktuální spojení (kterou se zabrání zopakování přihlášení s odposlechnutými údaji). Možná by to šlo simulovat tím, že by se v protokolech s autentizací na principu výzva–odpověď výzva rozdělila na dvě poloviny, půlka by byla sůl serveru a druhá půlka sůl spojení. Jenže to by asi dost oslabilo sílu používaných hashovacích funkcí.
5.3.2008 14:44 GEDIK | skóre: 3
Rozbalit Rozbalit vše Instalujeme truc-server na Gentoo
Odpovědět | Sbalit | Link | Blokovat | Admin
toto je mozna jeste jednodussi zpusob:
1. emerge openfire
2. zajdu si na kavu
3. nakonfiguruji si cely jabber server v klikacim rozhrani

Predpokladam ze na Fedore se da nahradit prvni krok pomoci yum install openfire a druhy krok je zbytecny ;)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.