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í
×

včera 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 20
včera 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
včera 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 6
včera 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

Ladislav Hagara | Komentářů: 0
14.12. 23:55 | Nová verze

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 6
14.12. 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
14.12. 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

Ladislav Hagara | Komentářů: 0
14.12. 18:11 | Nová verze

Byla vydána verze 2.11.0 QEMU (Wikipedie). Přispělo 165 vývojářů. Provedeno bylo více než 2 000 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 0
14.12. 17:44 | Komunita

Canonical oznámil dostupnost kryptografických balíčků s certifikací FIPS 140-2 úrovně 1 pro Ubuntu 16.04 LTS pro předplatitele podpory Ubuntu Advantage Advanced. Certifikace FIPS (Federal Information Processing Standards) jsou vyžadovány (nejenom) vládními institucemi USA.

Ladislav Hagara | Komentářů: 3
14.12. 16:11 | Zajímavý software

Společnost Avast uvolnila zdrojové kódy svého dekompilátoru RetDec (Retargetable Decompiler) založeného na LLVM. Vyzkoušet lze RetDec jako webovou službu nebo plugin pro interaktivní disassembler IDA. Zdrojové kódy RetDec jsou k dispozici na GitHubu pod open source licencí MIT.

Ladislav Hagara | Komentářů: 3
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (76%)
 (14%)
Celkem 997 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Dotaz: Ako skryvate hesla v kode?

    9.6.2015 14:55 vasmo
    Ako skryvate hesla v kode?
    Přečteno: 1016×
    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: 40 | 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: 74 | blog: Výlevníček | 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á.
    Why did the multithreaded chicken cross the road? to To other side. get the
    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: 74 | blog: Výlevníček | 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?
    Why did the multithreaded chicken cross the road? to To other side. get the
    Heron avatar 15.6.2015 16:26 Heron | skóre: 51 | 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: 37 | 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...
    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: 74 | blog: Výlevníček | 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.
    Why did the multithreaded chicken cross the road? to To other side. get the
    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: 40 | 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: 74 | blog: Výlevníček | 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.
    Why did the multithreaded chicken cross the road? to To other side. get the
    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: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Ako skryvate hesla v kode?
    A k čemu se to heslo používá?
    Why did the multithreaded chicken cross the road? to To other side. get the
    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: 16 | 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: 74 | blog: Výlevníček | 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ě.
    Why did the multithreaded chicken cross the road? to To other side. get the
    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.