abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | IT novinky

    IBM kupuje společnost HashiCorp (Terraform, Packer, Vault, Boundary, Consul, Nomad, Waypoint, Vagrant, …) za 6,4 miliardy dolarů, tj. 35 dolarů za akcii.

    Ladislav Hagara | Komentářů: 4
    včera 15:55 | Nová verze

    Byl vydán TrueNAS SCALE 24.04 “Dragonfish”. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Oznámeny byly nové Raspberry Pi Compute Module 4S. Vedle původní 1 GB varianty jsou nově k dispozici také varianty s 2 GB, 4 GB a 8 GB paměti. Compute Modules 4S mají na rozdíl od Compute Module 4 tvar a velikost Compute Module 3+ a předchozích. Lze tak provést snadný upgrade.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Nová verze

    Po roce vývoje od vydání verze 1.24.0 byla vydána nová stabilní verze 1.26.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.26.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Nová verze

    Byla vydána nová verze 6.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.14.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána nová verze 30.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí JavaScriptu, HTML a CSS Electron (Wikipedie, GitHub). Chromium bylo aktualizováno na verzi 124.0.6367.49, V8 na verzi 12.4 a Node.js na verzi 20.11.1. Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

    Ladislav Hagara | Komentářů: 2
    včera 04:11 | Nová verze

    Byla vydána nová verze 9.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 2 700 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (72%)
     (9%)
     (2%)
     (17%)
    Celkem 731 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Ako skryvate hesla v kode?

    9.6.2015 14:55 vasmo
    Ako skryvate hesla v kode?
    Přečteno: 1057×
    Ako riesite ukladanie hesiel v programoch? Napr. cez prikaz strings je mozne zobrazit textove konstanty v exe suboroch.

    Odpovědi

    9.6.2015 15:06 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    V programech nijak. Hesla jsou v konfiguračních souborech, které jsou přístupné pouze té aplikaci.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.6.2015 15:13 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    1) je to špatně mít heslo hardcodované do aplikace 2) pokud to opravdu chceš tak použil třeba XOR, pak přes strings nic rozumného neuvidíš, ale jako ochrana to rozhodně není,...
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    9.6.2015 15:27 Martin H. | skóre: 27 | blog: linservis | Brno
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?

    Přesně tak. Hesla jsou v konfiguračních souborech.
    Standardně je nelze nijak skrývat (pokud myslíš např. před dalšími adminy, to nelze - snad jedině include souboru s heslem odněkud, kam má přístup apache, ale ne ten uživatel, co vidí strom přes FTP a pod.)

    Pozor však na standardní chybu: konfigurační soubor má příponu .inc a ta není vázána na žádný interpterer. Takže pak stačí napsat např. www.mojedomena.cz/inc/config.inc a máš naservírovaný výpis zdrojového kódu , tedy i hesla.
    Standardně by měl být config buď .php, nebo třeba config.inc.php - pokud fakt někdo vyžaduje .inc, pak buď .inc přidat jako soubor pro php, nebo omezit přístup přes .htaccess do té složky, kde jsou konfiguráky.

    Pokud chceš vyšší bezpečnost, pak lze pomocí .htaccess nastavit, které konrétně soubory smí uživatel zavolat.

    Příklad:

    <FilesMatch "\.(php|inc)$">
    Order allow,deny
    Allow from all
    </FilesMatch>
    <FilesMatch "(index.php|login.php|other.php)$">
      Order allow,deny
       allow from all
    </FilesMatch>

    Tak i v případě znalosti názvu souboru jej uživatel přes prohlížeč nezavolá. Tak snad tento postřeh někomu pomůže.

    --- Kapitalismus je lepší, než socialismus ... ale horší, než jsem čekal. (Jiří Suchý) ---
    Jendа avatar 9.6.2015 15:33 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Podle mě nemluvil o webu, na php skripty se nevolá strings, protože ten vypíše celý soubor :).

    K tématu: neřešíme to nijak, uchránit to nelze a pokud tvoje aplikace něco takového vyžaduje, pak je nejspíš špatně navržená.
    14.6.2015 21:59 Heslo
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Proc hned spatne navrzena? Pokud jde o aplikaci pracujici napr. s databazi (jak db file nebo db server) tak kam ulozite heslo k databazi? Do konfiguracniho souboru jako plain text!? Nechavam jej v kodu a mam na to napsanou classu, ktera heslo slozi a vyda. Nevidim jinou moznost. Reakce typu
    ..., pak je nejspíš špatně navržená.
    mi prijde uplne mimo.
    Jendа avatar 14.6.2015 22:29 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Do konfiguracniho souboru jako plain text!?
    Samozřejmě. V čem je problém?
    Nechavam jej v kodu a mam na to napsanou classu, ktera heslo slozi a vyda.
    Takže stačí tu aplikaci spustit a v okamžiku přihlašování k DB pořídit coredump?
    Heron avatar 15.6.2015 16:26 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Pokud jde o aplikaci pracujici napr. s databazi (jak db file nebo db server) tak kam ulozite heslo k databazi? Do konfiguracniho souboru jako plain text!?
    To v té aplikaci máte také natvrdo zadrátovaný connection string, tedy hostname serveru, jméno databáze, jméno uživatele? To se musí konfigurace docela komplikovat, když jen k vůli změně serveru musíte změnit zdroják, překompilovat a sputit "s novou konfigurací". Co děláte, když chcete mít spuštěné dvě instance nad dvěma databázemi? Zkompilujete si dvě různé binárky?

    Heslo je součástí přístupových údajů. Plaintext soubor s heslem může být viditelný pouze pro speciálního uživatele, pod kterým se daný program spouští. To, že je heslo v plaintextu rozhodně neznamená, že jej může přečíst každý. Kdyby tohleto platilo, tak to heslo nakonec nikdo nepotřebuje. (Prostě jen proto, že kdyby se někdo dostal k souboru s tím heslem - překonal by zabezpečení pomocí práv k souboru - tak by si stejným způsobem mohl rovnou odnést datové soubory té db.)

    Petr Tomášek avatar 10.6.2015 17:10 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Pro konfigurace hesla pro napr. php skripty existuji daleko bezpecnejsi cesty (napr. SetEnv z konfigu apache)...

    Ale na to se tazatel neptal...
    multicult.fm | monokultura je zlo | welcome refugees!
    9.6.2015 17:37 Sten
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Nijak. Heslo nemá být v programu, ale v konfiguraci, případně pro vyšší bezpečnost (konfiguraci lze zálohovat na nedůvěryhodná média) můžete používat keychain (KWallet, GNOME Keyring, MacOS Keychain ap.).

    Pokud má někdo přístup k tomu programu, snadno získá heslo z paměti ve chvíli, kdy se používá, takže skrývat v tom případě ho stejně nemá smysl.
    Jendа avatar 9.6.2015 17:48 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Nijak. Heslo nemá být v programu, ale v konfiguraci, případně pro vyšší bezpečnost (konfiguraci lze zálohovat na nedůvěryhodná média) můžete používat keychain (KWallet, GNOME Keyring, MacOS Keychain ap.).
    Mně přijde že lidé co se takto ptají neřeší jestli má být heslo jinde, ale mají nejspíš nějaký program, který má někam přístup, a tento přístup se snaží omezovat na straně uživatele.
    9.6.2015 22:22 tom
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Tak presne na to muze pouzit TPM a nikdo mu to heslo ze systemu nevytahne (pokud v TPM neni backdoor).
    9.6.2015 20:15 R
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    V Linuxe nepouzivame exe programy a ani ich nevytvarame.
    9.6.2015 20:43 chrono
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Programy, ktoré využívajú Mono sú exe súbory (a pravdepodobne sa nájde niekto, kto niečo také vytvára lebo používa aj v Linuxe). ;)
    9.6.2015 21:05 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    To jsou IMHO výjimky. Mono je v linuxových OS spíš na okraji zájmu, protože Java je prostě výhodnější. Nemluvě o dalších zajímavých jazycích.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.6.2015 21:33 R
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Vidis, to je pravda. Bohuzial som to musel nedavno pouzit - na editaciu SIM kariet cez citacku smart kariet som nasiel jediny program: monosim.
    10.6.2015 09:21 vasmo
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Jedna sa o executable subor, konkretnejsie ide o aplikaciu, ktora musi byt prenositelna - agent ju ma na svojom USB a spusta ju na klientskom PC, kde po skonceni prace ju vymaze. V tomto pripade je nutne, aby aplikacia pozostavala iba z jedneho suboru kvoli jednoduchosti kopirovania a tiez mazania. Obcas sa vsak stane, ze ju agent zabudne vymazat. Preto sa pytam na skryvanie hesiel. Teraz to je vyriesene sposobom, aky tu bol naznaceny (xor).
    10.6.2015 09:39 pb
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Agent? To zní skoro tajemně. Mohl by to heslo agent zadat na klávesnici? Pak by v programu nebylo vůbec.

    Když se to nějak "skryje", tak když tam "agent" ten soubor zapomene, tak záleží na "zbabělém a zákeřném podvratném živlu", jak moc to heslo chce. Pokud ho chce moc, tak ho z toho souboru dostane. Pokud ho chce málo, tak se asi nebude obtěžovat, pak třeba i ten xor může stačit. Pokud ho chce opravdu moc, tak ho získá, ikdyž v tom programu nebude vůbec.
    10.6.2015 14:23 chrono
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Nemôže sa to heslo načítať priamo z USB kľúča?
    10.6.2015 15:31 vasmo
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Ani agent nemoze poznat heslo. Heslo bude ulozene na USB v plaintexte? Ak nie, tak zase potrebujem desifrovaci protokol. Dalsia moznost, ktora ma napadla je nacitat heslo z internetu vhodnym sifrovanym protokolom. Alebo implementovat jednorazove hesla, ale to by znamenali prekopat vela veci.
    10.6.2015 15:33 vasmo
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Oprava: desifrovacie heslo
    10.6.2015 16:35 chrono
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Prečo nemôže poznať agent heslo? Ak problém nevyrieši asymetrický šifra, tak treba pohľadať iného agenta (aby nebol problém s tým, že heslo pozná).
    Jendа avatar 10.6.2015 16:43 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Heslo bude ulozene na USB v plaintexte?
    Ano, jinak to ani nejde.

    Když dostanu ten exáč, tak s ním můžu provádět to stejné, co agent, a ani heslo extrahovat nepotřebuju. Pokud se s tím heslem může provádět víc než dovolí ten exáč, je to naprosto nesmyslně navržený systém, který spravuje přístupová práva na klientovi.
    13.6.2015 19:47 Matlák
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Přesně tak. Agent ani nemusí tušit, že na tom PC, do kterého ten exáč nahrává, už sídlí program co mu ten exáč sebere. Spoléhat se na postup "přijdu, nahraju tam exe, spustím, smažu a zmizím" je neuvěřitelně primitivní (a i to by se to dalo ještě vylepšit třeba tím že si exáč sám vygeneruje nějaký baťák co ho automaticky smaže :-))

    Taková operace přímo volá po jednorázových heslech. A jestli je to heslo opravdu "mocné" a jde s ním dělat i jiné operace než které provádí (jednorázově na tom PC) ten agent, je to hodně velký hazard.
    Jendа avatar 10.6.2015 16:41 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    A k čemu se to heslo používá?
    10.6.2015 18:22 R
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Tipujem to na nejaku "kvalitku" typu upload suborov niekam ("najlepsie" cez FTP), samozrejme bez SSL.
    14.6.2015 10:35 Leinad | skóre: 18 | blog: spheniscidae
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?

    Hádám, že se jedná třeba o program, který se napojuje přímo na databázi? A heslo nesmí jít najít proto, aby si pak nemohl někdo to heslo v programu najít, přihlásit se na databázi, celou ji stáhnout či smazat?

    Pokud ano, jedná se o špatný návrh architektury. Jak píšou ostatní nade mnou, heslo půjde vždy zjistit. Takže se to musí řešit tak, že se program nebude připojovat přímo na databázi, ale naprogramuje se nějaká mezivrstva, která se umístí na server a která bude podporovat příkazy jen ty, co umí i ten program. Takže pak nikdo nezpůsobí víc škody, než umožňuje samotný program.

    Jendа avatar 14.6.2015 14:32 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Například v MySQL jde uživateli nastavit, jaké příkazy smí vykonávat. Pokud třeba agent jenom sbírá data, povolíš mu jenom INSERT. Pokud naopak data jen čte, povolíš mu jen SELECT. Atd. Do každé tabulky to navíc může být nastavené pro různé uživatele různě.
    14.6.2015 15:27 R
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Dokonca to funguje az na urovni stlpcov. Takze mozes mat pouzivatela, ktory cita nejake informacie, ale napriklad k stlpcu s heslami sa nedostane.
    14.6.2015 22:08 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Takhle hrubé řízení přístupu nemusí stačit, ale často to lze vyřešit pomicí stored procedure. Někdy nestačí ani to a pak opravdu může být řešením middleware, ale zdaleka to není vždy.
    finc avatar 17.6.2015 07:53 finc | skóre: 8 | blog: Finc | Kolín
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    Nevím, k čemu se přesně hodláš připojit, ale pokud chceš zachovat stávající architekturu, tak neexistuje uspokojivé řešení. Můžeš heslo uložit do konfiguračního souboru jako plaintext, můžeš ho mít v kódu, můžeš ho mít zamaskované nejakým saltem, apod. Ale nic z toho nebude řešení, které by nešlo obejít a z programu heslo "vydolovat".

    Druhou a správnější variantou je poskytování služeb přes middleware. Uživatele vyzveš k přihlášení a potom pomocí tokenu (např. implementace OAuth 2.0) komunikuješ se zdroji na druhé straně. Aplikace pak obsahuje pouze "vstupní bod", což je adresa middleware, která je ovšem zabezpečená (https, token). Zbylé věci poskytuje buď samotný middleware (ideálnější varianta), nebo middleware nabídne možnosti jak se dostat na další zdroje (databáze, apod).
    Kdo Vam dal pravo ty lidi urazet? A kdo ti dal pravo cumet z okna, ty kr.vo!

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.