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

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 2
    dnes 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 1
    dnes 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    včera 21:33 | Nová verze

    Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.

    Ladislav Hagara | Komentářů: 5
    včera 16:11 | Nová verze

    Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Humor

    Asociace repair.org udělila anticeny těm nejhorším produktům představeným na veletrhu CES 2026. Oceněnými jsou například šmírující kamery Amazon Ring AI, chytrý běžecký pás od společnosti Merach, která otevřeně přiznává, že nedokáže zabezpečit osobní data uživatelů, případně jednorázové lízátko, které rozvibrovává čelisti uživatele a tak přehrává hudbu. Absolutním vítězem je lednička od Samsungu, která zobrazuje reklamy a kterou lze otevřít pouze hlasovým příkazem přes cloudovou službu.

    NUKE GAZA! 🎆 | Komentářů: 11
    včera 12:00 | IT novinky

    Íránští protirežimní aktivisté si všímají 30% až 80% ztráty packetů při komunikaci se satelity služby Starlink. Mohlo by se jednat o vedlejší důsledek rušení GPS, kterou pozemní přijímače Starlinku používají k výpočtu polohy satelitů a kterou se režim rovněž snaží blokovat, podle bezpečnostního experta a iranisty Amira Rashidiho je ale pravděpodobnější příčinou terestrické rušení přímo satelitní komunikace Starlinku podobnou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 13
    včera 00:55 | IT novinky

    Evropská komise (EK) zvažuje, že zařadí komunikační službu WhatsApp americké společnosti Meta mezi velké internetové platformy, které podléhají přísnější regulaci podle unijního nařízení o digitálních službách (DSA). Firmy s více než 45 miliony uživatelů jsou podle DSA považovány za velmi velké on-line platformy (Very Large Online Platforms; VLOP) a podléhají přísnějším pravidlům EU pro internetový obsah. Pravidla po

    … více »
    Ladislav Hagara | Komentářů: 22
    včera 00:44 | IT novinky

    Tržní hodnota technologické společnosti Alphabet poprvé v historii přesáhla čtyři biliony dolarů (83 bilionů Kč). Stalo se tak poté, co Apple oznámil, že bude na poli umělé inteligence (AI) spolupracovat s dceřinou firmou Alphabetu, společností Google.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (45%)
    Celkem 430 hlasů
     Komentářů: 12, poslední dnes 21:12
    Rozcestník

    Dotaz: Ako skryvate hesla v kode?

    9.6.2015 14:55 vasmo
    Ako skryvate hesla v kode?
    Přečteno: 1107×
    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: 46 | 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: 46 | 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: 71 | 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.