Automatizované bezpečné předávání dat mezi linuxovými servery

Pavko

Dobrý den, mám v plánu napsat vlastní utility na statistiku linuxových serverů - chtěl bych na serverech automatizovaně získávat informace typu obsazení místa na discích, monitoring SMART, obsazení paměti, apod. Tyto získané údaje bych chtěl sbírat do jedné centrální databáze na dedikovaném stroji. Řeším problém, jak předávat data mezi serverem sbírajícím data a jednotlivými servery - ssh bez hesla se mi moc používat nechce, sshpass z důvodu bezpečnosti také ne. Doporučili byste mi nějaké relativně bezpečné řešení, ideálně s minimalizací zásahů při změnách skriptů na jednotlivých serverech? Vše by mělo běžet automatizovaně, pro jednotlivé distribuce bych si skripty vychytal. Děkuji, Pavko.


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #1 kdy: 20. 12. 2017, 00:14:58 »
SSH s klicem.

Franta <xkucf03/>

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #2 kdy: 20. 12. 2017, 00:16:32 »
SSH má určitou režii při navazování spojení, ale jinak je to dobrá volba. Jak často se budou data předávat? Jak často by se to muselo připojovat?

Jinak akorát uděláš na všech strojích neprivilegovaného uživatele, který může jen posbírat naměřené hodnoty, nebo je naopak někam zapsat, podle toho, jakým směrem to chceš posílat, a přidáš mu SSH klíče druhé strany do .ssh/authorized_keys. A tyhle klíče budou bez hesla.

Tomas2

  • ****
  • 310
    • Zobrazit profil
    • E-mail
Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #3 kdy: 20. 12. 2017, 00:25:48 »
ssh multiplexing řeší režii navazovaného spojení.

Každopádně nevím proč tazatel vymýšlí kolo, zabbix, icinga, netdata, nagios a spousty dalších řešení již tohle dělají, podporují šifrovaná přes ssh, push/pull režimy, stačí si vybrat podle potřeb.

Kit

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #4 kdy: 20. 12. 2017, 00:27:18 »
Do .ssh/authorized_keys se dá umístit příkaz, který se má po přihlášení provést. Tímto způsobem je možné bezpečně použít i rootovský účet.


<sfaf

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #5 kdy: 20. 12. 2017, 00:27:51 »
z mnoha stroju bych to posilal na jeden s ssh serverem. na strojich pak staci klient ssh a prihlasovani na centralni stroj klicem,

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #6 kdy: 20. 12. 2017, 01:25:11 »
SSH s klíčem, nebo odesílat do webové služby (přes TLS) to je také celkem jednoduché a efektivní.
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #7 kdy: 20. 12. 2017, 06:46:27 »
Dobrý den, mám v plánu napsat vlastní utility na statistiku linuxových serverů - chtěl bych na serverech automatizovaně získávat informace typu obsazení místa na discích, monitoring SMART, obsazení paměti, apod. Tyto získané údaje bych chtěl sbírat do jedné centrální databáze na dedikovaném stroji. Řeším problém, jak předávat data mezi serverem sbírajícím data a jednotlivými servery - ssh bez hesla se mi moc používat nechce, sshpass z důvodu bezpečnosti také ne. Doporučili byste mi nějaké relativně bezpečné řešení, ideálně s minimalizací zásahů při změnách skriptů na jednotlivých serverech? Vše by mělo běžet automatizovaně, pro jednotlivé distribuce bych si skripty vychytal. Děkuji, Pavko.

Na tento účel se nejvíc hodí SNMPv3, je to standard pro předávání těchto informací a je i šifrovaný. Podle mě není potřeba znovu vynalézat kolo, když je technologie funkční a hotová.

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #8 kdy: 20. 12. 2017, 07:45:14 »
1. dělat něco, co je hotové je minimálně ztráta času, obvykle dost velká chyba

2. myslím že je lepší model data sbírat na každém serveru a odesílat pryč, než z jednoho místa data periodicky číst - takové řešení je obvykle lehké, spolehlivé a bezpečné ( neotevíráte na serveru další port s potencionálně nebezpečnou službou ). Osobně mám pro tento způsob sběru dat dlouhodobé zkušenosti s collectd ( super nástroj, jen jsem v některých starších verzích narážel na memoryleak, ale to už je snad definitivně minulost ) nebo telegraf ( relativně mladá věc, sbírá data velmi rychle, napsané v go )

3. pokud byste chtěl přeci jen model pull a nikoliv push, tak zvažte zda to nespojit s nějakým monitorovacím nástrojem - pokud mít na serveru nějakého agenta na tyhle věci, tak ať je jeden.

kojot4

  • ***
  • 217
    • Zobrazit profil
    • E-mail
Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #9 kdy: 20. 12. 2017, 08:11:33 »
Pokuď vím, tak NRPE pro Nagios podporuje SSL a blokaci podle IP, podle mě v interní síti dostatečně bezpečné.

Jinak já jsem přítelem monitorovat jen to, co opravdu budu řešit. Tj. pokud servery běžně běží na 100% občas a je to standard, tak si nenastavím monitoring CPU a alerty, které mi budou chodit 10x denně.

Ve většině firem kde jsem dělal, tak admini vždy chtěli monitorovat každé prdnutí (já byl vždy proti), a když to konečně nastavili, tak ráno přišli do práce, z telefonu vymazali 100SMS s alertama a šli si dát kafe, pozor takovýto monitoring je na dvě věci.

Trupik

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #10 kdy: 20. 12. 2017, 08:35:10 »
Spravil by som to tak, že sa dáta POST-om odošlú cez HTTPS, z nodu, ktorý dáta nazbieral. V prípade nedostupnosti centrálneho servera by som dávku uložil lokálne a pri najbližšom posielaní ju pripojil k novej dávke. Ak je potrebné vylúčiť podvrhnutie dát, pre HTTPS existujú aj klientské certifikáty.

Pavko

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #11 kdy: 20. 12. 2017, 09:43:43 »
Děkuji za odpovědi. K řešení ssh s klíčem (neprivilegovaný uživatel) - některé příkazy potřebují práva roota. Posbíraná data nechci dávat do Nagiosu, ale historicky i uchovávat, to Nagios umí? SNMPv3 umí spustit libovolný příkaz? Děkuji, Pavko.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #12 kdy: 20. 12. 2017, 11:03:37 »
Děkuji za odpovědi. K řešení ssh s klíčem (neprivilegovaný uživatel) - některé příkazy potřebují práva roota.

Rikal jste, ze ta data chcete jen stahnout, takze jsem cekal, ze vam je pod tim rootem pripravi nejaky skript na vzdalenem serveru a vy to pak stahnete pres nejake scp nebo rsync. BTW, tomu neprivilegovanemu uzivateli muzete nastavit jako shell treba /bin/false, aby vam tam nikdo nelezl, kdyby ukradl klice. Tusim, ze scp by s tim melo chodit, jestli i rsync se uz nepamatuju.

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #13 kdy: 20. 12. 2017, 13:34:53 »
Děkuji za odpovědi. K řešení ssh s klíčem (neprivilegovaný uživatel) - některé příkazy potřebují práva roota. Posbíraná data nechci dávat do Nagiosu, ale historicky i uchovávat, to Nagios umí? SNMPv3 umí spustit libovolný příkaz? Děkuji, Pavko.

Ano, snmpd umí spustit příkaz a poslat jeho návrat.
http://net-snmp.sourceforge.net/wiki/index.php/Tut:Extending_snmpd_using_shell_scripts

Re:Automatizované bezpečné předávání dat mezi linuxovými servery
« Odpověď #14 kdy: 20. 12. 2017, 13:37:30 »
Rikal jste, ze ta data chcete jen stahnout, takze jsem cekal, ze vam je pod tim rootem pripravi nejaky skript na vzdalenem serveru a vy to pak stahnete pres nejake scp nebo rsync. BTW, tomu neprivilegovanemu uzivateli muzete nastavit jako shell treba /bin/false, aby vam tam nikdo nelezl, kdyby ukradl klice. Tusim, ze scp by s tim melo chodit, jestli i rsync se uz nepamatuju.

Pokud /bin/false není v /etc/shells, neproběhne ani scp či rsync. Jako lepší řešení mi přijde rsssh, tedy restricted secure shell, tam se dá pak povolit, že projde např. pouze rsync či scp, ale nic dalšího.