Portál AbcLinuxu, 2. května 2025 10:26

sendxmpp - utilita k odesílání zpráv na jabber z konzole

19.12.2014 16:01 | Přečteno: 982× | Za vším hledej Linux | Výběrový blog

Nedávná aférka kolem úniku hesel ze serveru jabbim.cz, googlí oběšenec a rodinná vánoční mobilizace mne pohnuly k tomu, abych na svém serveru - kromě jiného - spustil také vlastní XMPP server. Volba padla na prosody, které mi je sympatické tím, že se obejde bez databázového serveru. A jelikož kecálka využívám poměrně hojně, raději než e-mail, narazil jsem přitom na zajímavou utilitku sendxmpp, které zde kupodivu zatím nikdo větší pozornost nevěnoval.

Jejím autorem je Ľubomír Host, čímžto mu za jeho práci děkuji a přeji hodně radosti a elánu do dalších let.

Instalace a použití stupidně snadné, i když mne zpočátku zmátlo, že konfigurační soubor .sendxmpprc pro poslední verzi aplikace (v1.24), který je demonstrován na webu používá jinou syntaxi, než verze 1.23, která je součástí repozitářů Debianu.

K utilitě je poměrně slušná manuálová stránka, takže zde uvedu jen jeden ilustrativní příklad odeslání takové notifikační zprávy:

user@stroj~# echo "Testovací notifikační text" | sendxmpp kdosi@jehoxmppserver.net -t -p mojexmppheslo -jserver mujxmppserver.net -u mujxmppusername

Jsou-li přihlašovací údaje na xmpp účet uložené v souboru ~/.sendxmpprc v rámci uživatelského profilu pod kterým zprávu odesílám, pak je lze z parametrů pro sendxmpp vynechat.

Možná bych mohl zmínit, proč upřednostňuji notifikaci na jabber, místo e-mailu.

Je to z toho důvodu, že to jsou většinou zprávy, které mne zajímají jen tady a teď, takže nemám potřebu je nějakým způsobem uchovávat. Kdežto k obsahu e-mailových zpráv, se vracím mnohdy i po letech.

A když se při nějakém problému do mailu nasype hromada notifikačních upozornění, že se někde něco vyhnojilo, tak mi to za A, k ničemu není a za B, mě to přináší opruz s odstraňováním těchto notifikací z pošty, což většinou nedělám ihned, ale až s nějakým zpožděním, poté co se mi podaří problém vyřešit. A protože je všechny neprocházím, snadno se stane, že díky tomuto balastu přehlédnu, nebo i dokonce smáznu opravdu podstatnou zprávu.

       

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 (4) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Dreit avatar 19.12.2014 20:44 Dreit | skóre: 15 | blog: Dreit a jeho dračí postřehy | Královehradecký kraj
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Odpovědět | Sbalit | Link | Blokovat | Admin

sendxmpp znám už nějakou dobu, ale nikdy jsem pro něj nenašel využití. Možná tak aby cups server poslal zprávu, že tiskárně došel papír (nikdy nezkoušeno) :-)

 

Jinak pro zvrhlíky, je i možnost používat jabber jako vzdálenou konzoli (posílám text na stdin, vrací se mi stdout) a údajně i jako TCP tunel.

Nope
20.12.2014 10:27 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Já to používám na zaslání aktuální IPv6 adresy ve službě Freenet6.
xkucf03 avatar 20.12.2014 01:08 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Odpovědět | Sbalit | Link | Blokovat | Admin

Předně díky za článek, ale jednu kritickou připomínku bych měl:

Dávat heslo jako parametr na příkazové řádce je fakt prasárna. Zvlášť pokud důvodem změny byla bezpečnost, únik hesel. A mít heslo uložené v souboru na disku je taky ošemetné, ale chápu, že tady to moc jinak nejde. Maximálně to rozdělit na dvě části – šifrovaný text + klíč – s tím, že je nižší pravděpodobnost, že uniknou obě části (každá se např. bude zálohovat jinam). Nebo by šlo použít klíče a kryptografické zařízení, takže by nešlo ukrást heslo/klíč, ale to je už moc velký kanón na tenhle případ užití.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
20.12.2014 09:05 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Pokud se používá konfigurace uložená v souboru, tak si to - alespoň u mne tomu tak bylo - vynutí aby měl nastaveno práva 600. Což samozřejmě není totéž jako kdyby to heslo bylo ještě navíc zakryptované.
20.12.2014 10:16 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Potvrzuji, že u mne to také chtělo tato práva.
Heron avatar 20.12.2014 11:35 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
zrovna u jabber účtu, který jen posílá hlášky ze serveru, je způsob uložení hesla fakt nezajímavý. Co si kdo vezme na tom, když to heslo získá? Že bude posílat vzkazy adminovi? ;-)
20.12.2014 11:45 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Chyba. Mohl by pak vystupovat pod jeho identitou, což je mnohem nebezpečnější.
Heron avatar 20.12.2014 12:10 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Pod identitou koho?
20.12.2014 12:22 chrono
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Aký zmysel majú potom tie upozornenia, keď ich môže posielať ktokoľvek?
Heron avatar 20.12.2014 13:04 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Tak pokud to jsou zprávičky z monitoringu (o čemž je blog), tak správce poměrně jednoduše pozná, zda je to "reálná" notifikace poslaná monitorovacím systémem, nebo někým, kdo jen získal user / pass. Trochu mi to připomíná výtku od kolegy, který se podivil nad tím, že nemám uložené číslo SMS brány z našeho monitoringu a argumentoval tím, že "co když tu SMS pošlě někdo cizí"? Odpověď: po sms je stejně nutné se podívat do monitoringu samotného a ohledat aktuální stav. SMS / zpráva na jabberu je pouze upozornění, není to úplně autoritativní informace.
20.12.2014 13:15 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Nezáleží kdo je pošle, ale komu je pošle a jaký mají obsah. A smyslem upozornění je - jak překvapivé - upozornění, že se něco děje. Přičemž obsah upozornění sdělí co ;-)

V dnešní mobilizované době, je to podle mě rozhodně lepší varianta, než upozornění e-mailem. Zpráva pinkne, kouknu o co jde a pak už záleží na situaci, jestli to nechám vyhnít, nebo budu něco řešit. Problémem mailů je ten, že zpráva o tom, že se něco začíná hnojit, může zůstat viset někde ve frontě, která se nemusí zpracovávat ihned. Taky nemusím mít zrovna e-mailového klienta po ruce, nebo mi to může spadnout přes nějaký filtr někam, kde ji mohu přehlédnout.
xkucf03 avatar 20.12.2014 12:33 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole

Např. to může být účet, pod kterým se posílají oznámení uživatelům a ti se pak podle nich řídí, protože si myslí, že to psal správce nebo jeho důvěryhodný skript. Samozřejmě by bylo lepší, kdyby ty zprávy chodily elektronicky podepsané, ale i tam musíš někam dát soukromý klíč nebo heslo k jeho odšifrování. A dávat jakýkoli citlivý údaj1 jako parametr příkazové řádky je prostě chyba.

Jeden můj program taky umožňuje zadat heslo na příkazové řádce2, ale aspoň tam zobrazuji varování, že to není bezpečné.

[1] klíč, heslo ke klíči, heslo k účtu atd.
[2] kromě toho, že může být heslo v souboru, což je výchozí a doporučené chování; to heslo na příkazové řádce není ani nikde explicitně zdokumentované (že tam jde zadat, je spíš vedlejší efekt něčeho jiného)

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
22.12.2014 15:25 miro
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Já bych to řekl ještě jinak. Pokud se k tomu heslu někdo dostane, je problém administrátora mnohem horší, než že jen někdo může odesílat jabber zprávy pod identitou serveru. Alespoň v mém případě (sendxmpp rovněž používám) by to znamenalo, že někdo na příslušném serveru přečetl obsah souboru s právy 500, který mu nepatří. V takovém případě bych vlastně měl být rád, že útočník byl tak hloupý, že to heslo použil a dal tím o sobě vědět.
xkucf03 avatar 22.12.2014 19:48 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole

Moje poznámka se týkala hesla uvedeného jako parametr na příkazové řádce – tam si ho může přečíst kdokoli, kdo je přihlášený na daném stroji. Pokud je to v souboru s dobře nastavenými právy, tak je to celkem OK.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
pavlix avatar 22.12.2014 19:50 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Moje poznámka se týkala hesla uvedeného jako parametr na příkazové řádce – tam si ho může přečíst kdokoli, kdo je přihlášený na daném stroji.
Což bych si ovšem dovolil označit za zásadní návrhnovou chybu.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
22.12.2014 20:31 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
A co tak nechat tohle rozhodování na těch co to používají? Uvedení hesla jako parametru na řádce si dovedu představit kupříkladu při dynamicky řízeném odesílání zpráv přes více účtů.
pavlix avatar 22.12.2014 20:45 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Když něco nepochopíš, tak se zeptej. Zobrazování parametrů příkazové řádky jiným uživatelům než vlastníkovi procesu a uživateli se zvláštními oprávněními (administrátor) považuju za návrhovou chybu. O tom nikdo jiný než já nerozhoduje, maximálně může můj názor ovlivnit technickými argumenty.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
22.12.2014 23:16 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Chvála bohu je autorem téhle aplikace někdo jiný než ty. Evidentně máš problém s chápáním svobody volby. Přidal bych i něco kousavého, ale už to za mne udělal někdo jiný v jiné diskuzi.
pavlix avatar 22.12.2014 23:35 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Tou aplikací máš namysli linuxové jádro, nebo jsi natvrdlejší, než jsem si myslel?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
18.2.2015 16:16 miro
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole

Tak nevím, jestli si to tady ještě někdo přečte (i když údajně tuto diskusi stále sledují čtyři uživatelé), ale teď jsem problém se senzitivními daty na příkazové řádce řešil, a vygooglil jsem, že ona "návrhová chyba" byla v jádře 3.2 vyřešena. Vyzkoušeno na 3.18.6, funguje to. Už mám upravený fstab. :-)

23.12.2014 18:03 miro
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Chápu, proč na to upozorňujete, ale on se ten sendxmpp bude asi typicky používat v nějakém skriptu, aspoň mě nenapadá rozumný důvod používat ho přímo z příkazové řádky. Na druhou stranu přiznávám, že jsem byl doteď přesvědčen, že neprivilegovaný uživatel vidí jen svoje procesy. Jak vidno, mezi "jsem přesvědčen" a "přesvědčil jsem se" je zcela zásadní rozdíl. No nic, už jsem se přesvědčil, ale přišlo by mi logické, kdyby neprivilegovaný uživatel cizí procesy neviděl. Naštěstí mají uživatelé na serveru jen samba a jabber účty, takže odchytávat parametry procesů nemají jak.
Josef Kufner avatar 24.12.2014 14:10 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Zda to spustíš ze skriptu nebo z příkazové řádky je úplně jedno, ty parametry budou vidět tak jako tak. Jediné rozumné je uložit heslo do samostatného souboru nebo ho předat na vybraný filedescriptor.
Hello world ! Segmentation fault (core dumped)
Josef Kufner avatar 20.12.2014 16:01 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Odpovědět | Sbalit | Link | Blokovat | Admin
Ad Prosody: Jak dobrá je podpora XEP-0198 (Stream management), XEP-0280 (Message Carbons) a XEP-0313 (Message Archive Management)?
Hello world ! Segmentation fault (core dumped)
23.12.2014 22:47 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
XMPP Extensions a jejich podpora v Prosody

Jinak pokud jde o XEP-0280, tak jsem to zrovna dnes zkoušel. A záleží na podpoře klienta. Androidí klienta Konverzace s tím funguje pěkně ale Pitkin pouze jednosměrně. Tj. když píšeš skrz něj, tak kopie na Konverzaci chodí, ale když píšeš přes Konverzaci, tak nic.
Josef Kufner avatar 24.12.2014 14:12 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
A co ten stream management? Na to, že to je naprosto zásadní věc to mají jen jako community module …
Hello world ! Segmentation fault (core dumped)
pavlix avatar 24.12.2014 15:12 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Dávat do kupy standardy je docela náročná práce, doporučuju vyzkoušet :).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
Josef Kufner avatar 25.12.2014 02:12 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
No vidíš. A jeden by čekal, že u spolehlivosti doručování zpráv začnou.
Hello world ! Segmentation fault (core dumped)
pavlix avatar 25.12.2014 09:52 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: sendxmpp - utilita k odesílání zpráv na jabber z konzole
Nevím, proč by zrovna XMPP mělo být výjimkou ;).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.

Založit nové vláknoNahoru

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