Ehm, to vypadá skoro tak bezpečně, jako curl | bash. Samozřejmě pokud věřím, že se nemůže stát, že by uploadovat mohla osoba které nedůvěřuji, tak to může byt ok. Narážím tu například na "koupi" starých addons do prohlížeče osobami, jejichž zájmem bylo pouze šíření malware, který do pluginy prostě přibalili a následně počkali až uživatel, nebo prohlížeč spustí aktualizaci.
Ja celkom rozumiem tomu, preco to tak "musi" byt. Na jednej strane stoji "kazdy spravny admin", ktory pouziva RHEL, alebo CentOS. Na druhej strane kontajnerovy priemysel, ktory sa dost zivelne vyvija. To nejde dohromady.
RHEL bude zamrazeny na tragicky zastaralych verziach balikov, oproti ktorym je Debian stable vykrikom modernej techniky. Specialne s RHEL7 bol kopec srandy ked clovek narazil na nieco, co potrebovalo napriklad tak beznu vec, ako fungujuce C++11.
Kontajnerovy priemysel vytvara a zahadzuje buzzwordy rychlostou len o malo mensou, nez ktorou vznikaju a zanikaju javascriptove frameworky. Kontajnerizacia, ktora sa dnes pozaduje v kazdom druhom inzerate bude o rok davno zabudnuta technologia a tie tooly? O pol roka budu uplne ine...
Na jednej strane korporat pozaduje stabilny OS ako RHEL, ale na druhej strane ide po krku "najnovsim" kontajnerovym technologiam (vacsinou si vybere buzzword, ktory fici prave v dobe, ked sa pre kontajnery rozhodne a s tym, co si vybral pojde do hrobu).
Vsetko staticky zlinkovat voci nejakemu jakz takz stabilnemu runtimu je jedina moznost, ako v takej situacii prezit.
To sme sa nepochopili. Kontajnerizacia ako taka nevymizne. Len je to stale este "relativne" nova zalezitost a tak sa utriasaju skatule. Frontendy, frameworky a koncepty prichadzaju a odchadzaju. Chvilu je jednotkou jedna technologia, len aby bola o rok zabudnuta. A tie frontendy? Ved len clanok vymenuvava zo 4 rozne.
Já se snad musím smát, a ne vám ale té ironii. Měl jsem na Debianu Python (kvůli certbotu) a na starém Pythonu nefungovalo DNS ověření CloudFlare, tak jsem i z jiných důvodů zkusil CentOS a ten měl přes moduly mnohem novější verzi. Takže, ... asi tak staré verze to nemá (oproti Debianu, který je konzervativnější)
Já si to normálně nainstaloval přes dnf. Lepší je používat návody od Red Hatu.
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/using-python3_configuring-basic-system-settings
Ubuntu nemám rád, protože nemám rád Canonical a jejich výplody kterými to Ubuntu jen kazí.
Jenomže hned na začátku stránky je napsáno, že podpora jiných verzí než 3.6 je zkrácená. Takže se Ti může stát, že ten nový python zajde na úbytě a nezbude Ti než aktualizovat skripty. Aktuální Debian Stable obsahuje python 3.7, budoucí stable python 3.9.
Mimochodem, to, že existuje novEjší python pro RHEL nejspíš znamená, že ho potřebuje nějaký dostatečně významný zákazník. Pokud by nebyl zákazník, neměl bys Python.
Rozdíl je v tom, že aktuální Debian Stable má 3.7 a jen 3.7. Aktuální RHEL má 3.6 a zároveň novější verze se zkrácenou podporou. Díky modularizaci si člověk vybere tu verzi, která mu vyhovuje. Ještě dál je v tomto Fedora, která těch CPython3 má v repozitářích podporovaných snad 5.
Mimochodem, to, že existuje novEjší python pro RHEL nejspíš znamená, že ho potřebuje nějaký dostatečně významný zákazník. Pokud by nebyl zákazník, neměl bys Python.
Samozřejmě, že věci jako softwarové kolekce a modularizace jsou dělané na základě poptávky od zákazníků. Snaží se řešit právě ty protichůdné požadavky, kdy jeden chce staré a stabilní a druhý to nejnovější. Oba to ale chtějí podporované a od distribuce. Nicméně to už je dnes v RHELu standardní věc. Není to tak, že jeden velký zákazník si řekl o Python 3.8, tak jsme mu ho výjimečně poskytli.
Jinak pokud někdo porovnává "zastaralost" softwaru u RHELu, neměl by se spoléhat pouze na verzi komponent. Nové vlastnosti se totiž u RHELu backportují do starých verzí v míře, jakou nezná žádná jiná distribuce. RHEL 7 má papírově 8 let starý kernel 3.10, ale ve skutečnosti obsahuje klidně pár měsíců staré vlastnosti a ovladače. Objem práce investované do backportů v kernelu v RHEL 7 jde klidně do stovek člověkoroků. To je něco, co si Debian prostě nemůže dovolit.
> RHEL 7 má papírově 8 let starý kernel 3.10, ale ve skutečnosti obsahuje klidně pár měsíců staré vlastnosti a ovladače. Objem práce investované do backportů v kernelu v RHEL 7 jde klidně do stovek člověkoroků. To je něco, co si Debian prostě nemůže dovolit.
K čemu tohle vlastně je? Tolik změn, to už si rovnou můžu nainstalovat aktuální vanilla LTS. Nebo to je celé kvůli možnosti stále kompilovat stejné out-of-tree moduly (a doufá se, že ty masivní backporty je nerozbijí)? Na Debianu backporty funkcí do kernelu neřeším, když potřebuju něco novějšího, tak prostě nainstaluju aktuální kernel, a maximálně je potřeba o jednu verzi starší kvůli nvidii.
Je to o držení stabilního kABI. Když máte hardwarové partnery, certifikace apod., tak si nemůžete dovolit třeba každé dva roky jen tak skákat na novou upstreamovou verzi kernelu. Nedělám na kernelu, takže detaily neznám, ale odhaduju, že to množství práce, které by se muselo udělat při pravidelných přechodech na novou upstreamovou verzi jak na naší straně, tak na straně partnerů a zákazníků by ve výsledku bylo větší než u současného pečlivého backportování.
Tak třeba hlavní část funkce Checkpointích firewallů je jeden obrovský kernel modul a jen přechod z 2.6 na 3.1 (spodek EL6 -> EL7) jim trval několik let a v podstatě to psali skoro celé znovu. A když vezmu jiné podobné "velké" (minimálně na capex ;-) ) technologie tak to bude asi dost podobné.
Souhlasim. Jeste bych dodal, ze role toho "spravneho admina" dava cim dal mensi smysl. V dobe kdy se na jeden Unix server hlasili desitky uzivatelu aby si precetli postu, a na tom samem serveru bezel FTP/HTTP/SMTP server, .., tak ty doby jsou davno pryc.
Dneska ma kazdy server prave jeden ucel (vetsinou na tom bezi DB anebo app), a o tom jake binarky tam budou slouzit o rozhoduje ten kdo ma nastarosti aplikaci.
Ukolem toho spravneho admina je poskytnout nejaky stabilni zaklad pro neco co doinstaluje nekdo jiny.
Tak to vypadá, že už to programovat nemusím. Jenom to bude potřeba doplnit, aby to umělo nastavit i proměnné prostředí (třeba JAVA_HOME
), případně přesměrovat celý adresář binárek.
Tak az binenv dokaze nejak ovalidovat zdroj, tj ze binarku zkompiloval nekdo duveryhodny a z duveryhodneho src, ma asi smysl si podobnou pitomost porizovat.
Zda se, ze kontejnerizace vubec neresi bezpecnost. Tyhle zkratky v IT (odsouvani fundamentalnich veci do jine "vrstvy") jsou pritom extremne nebezpecne, kdyz zacinala klasicka virtualizace, take kazdy radeji prohlasil hypervizor za "bezpecny" by-definition (a kolik zranitelnosti se severitou vynasobenou tim, ze na jednom zranitelnem systemu jich bezi "x" se "dodatecne" objevilo, a to dokonce az na uroven hardware)
Obdobne cloudove sluzby jsou bezpecne "by-definition". Prece za to platim, tak je to jejich vec, ne ? A auditora pripadne poslu "do cloudu".
Kde ten paradox asi nejvic krici, je nesmyslne pouziti certifikatu za kazdou cenu (k vystaveni verejnych dat), klidne garantujicich jen to, ze nekdo mel chvilku pristup k Vasemu serveru, a to cele automatizovane scriptem (certbot) stahovanym "tak nejak bezpecne" z ciziho webu. No jupiii, jak je to snadne, tak proc ne.
Zkratka generace hipsteru odkojena socialnimi sitemi nepotrebuje ani soukromi, ani iluzi bezpecnosti. To vse se prece "pak" a "nejak" vyresi ... teda pokud nekdo bude (mit) moc chtit.
vlastně tohle je jen špička ledovce, ani repositáře pro běžné jazyky (python, java, node.js, php, perl atd.) nejsou bezpečné, dostat tam zákeřný kód, který si pak každý nainstaluje je strašně snadné. U většiny z nich dokonce ani nemám jistotu, že nedošlo při stažení k modifikaci.
Vlastně snad jediné místo, kde se provádí určitá kontrola jsou repositáře jednotlivých distribucí, ale tam se to zase nikomu právě nelíbí, protože to je pomalé, kontrola trvá nějaký čas.
K tomu jazyku go a distribuci pouze binárních artefaktů místo balíčků. Mně to nevadí, dává mi to volbu si ten balíček udělat sám, klidně si to sám zkompilovat, naopak to považuji za poměrně lepší než kdyby mi cpali svoje konvence do balíčků (stačí to vidět u ppa/deb, kdy každý balíček se chová jinak, některé ani neumí řádně službu spustit a zastavit).
Uplne suhlasim, v kontainerizacii sa na bezpecnost kasle, pricom si kazdy mysli, ze docker oddeluje system (co nie je pravda). Docker Hub kasle na bezpecnost a jej obchodny model je taky, ze ak chces tu najprimitivnejsiu tak si zaplat.
Podobne je to aj s NPM kniznicami.
A s tymi certifikatami suhlasim, Google v mene zvysnia bezpecnosti (spolu s LE) poslali bezpesnost do haja.
Ty CA to dělaly podle pravidel, která jednotlivé prohlížeče/OS vyžadují pro zařazení na seznam důvěryhodných certifikačních autorit. Netuším, co myslíte tím „odstavit všetky a vykašlat se na bezpečnost“. Nevím o tom, že by někdo někoho odstavil. A bezpečnost je co se týče ověřování domén stále stejná.
Nějak mi uniká, kde to bere zdroj těch instalaček. Je to nějaký repozitář/databáze zdrojů? A zrovna u toho prezentovaného případu, když zapátrám v balíčcích openSUSE, tak Tumbleweed má 1.20.2 a pro Leap jsou různé verze k dispozici v OBS devel:kubic. Akorát nevím zdali to umí víc verzí paralelně. Já ale myslel, že kontejnery musí být vždycky na těch nejnovějších verzích. ;-)
Ten výše zmíněný případ s Pythonem 3 je v openSUSE řešen tak, že minimálně TW umožňuje mít víc verzí paralelně. Ale blíže nevím, nepotřeboval jsem to.
Jinak OBS vynucuje minimálně dost technických kontrol, takže balíčky jsou konzistentní a málokdy narazím na něco, co by bylo vyloženě zprasené.
Github releases, teoreticky tam ale moze byt cokolvek.
2. 2. 2021, 14:35 editováno autorem komentáře