Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Témata - Ondřej Novák

Stran: 1 [2] 3 4
16
O serveru Root.cz / blog.root je mrtvý?
« kdy: 10. 12. 2015, 11:57:59 »
Poslední příspěvek vidím z července. Je ta služba mrtvá, nebo jen jednoduše nikdo od té doby nic nenapsal?

17
Vývoj / Vícejazyčné texty v DB
« kdy: 14. 11. 2015, 13:14:18 »
Snažím se někde vygooglit rozumnou strategii pro vícejazyčné texty v databázích. Samozřejmě že nejprve jsem to řešil extra tabulkou, ve které byly pro každý řádek v primární tabulce textové popisky pro konkrétní jazyk s tím, že primární tabulka má take textové popisky, které suplují "default" jazyk, tedy situaci, kdy někdo žádá o jazyk, který není v jazykové tabulce.

Tohle řešení dost komplikuje některé dotazy a moc se mi nelíbí, je málo univerzální.

Pak mě napadlo dávat vícejazyčné texty dohromady do jednoho sloupečku a nějak to rozlišit uvnitř, s tím, že by po vrácení z DB došlo k nějaké filtraci textu podle toho, co žádá uživatel za jazyk. Zpracování textu by bylo obecnější, ale dělal by to až backend, ne databáze (maximálně, že by se napsala funkce pro databázi, která by to dělala).

Poradí někdo řešení, jak se to třeba dělá jinde? Nebo stačí jen poradit vhodný dotaz pro googla.

18
Server / Protokol mezi proxy a backendem
« kdy: 07. 11. 2015, 21:48:32 »
Zdravím.

Řeším takovou otázku která mě možná začne trápit v blízké budoucnosti. Vzhledem k nastupujícímu trendu provozovat všude HTTP/2.0 a šifrování, řeším, jak dále vyvíjet mé backendy psané v C++. Doposud jsem používal uspořádání nginx -> proxypass -> backend(http/1.1). Je výhodné, zejména nginx řeší třeba SSL, zajišťuje jakousi izolaci, například ochranu proti různým exploitům typu slowloris, dále pak propojení statického obsahu s dynamickým a mapování cest a jinak do vlastní komunikace moc nekecá, hlavičky se předávají v zásadě 1:1, takže zbytek má v rukou sám backend.

Na co se mám připravit v případě http/2.0? Jasně, předpokládám, že nadále bude proxypass nějak emulován, takže s tím asi vydržím, ale neumím si tam představit nové featury, jako server push. Na druhou stranu mi nepřijde rozumné tu komunikaci provozovat plně na HTTP/2.0, jednak bych musel šifrovat, a pak nginx stále bude v roli míchání statického obsahu s dynamickým, takže 1:1 by to asi nešlo.

Jaké jsou další možnosti? Zkoumal jsem FastCGI, ale ten protokol mi přijde velice odporný, chybí mu jednoduchost běžného http :) Chystá se nějaká lepší alternativa?

19
Server / Groupware na Linuxu s ActiveSync
« kdy: 21. 10. 2015, 12:00:05 »
My linuxáci máme život jednoduchý, posíláme si maily z terminálu, kecáme na jabberu, občas si vystačíme s gmailem a tickety píšeme do tracu.

Jenže jakmile vám do vaši práce začnou mluvit obchodníci, chtějí svůj standard. Tedy ideálně outlook, kde si mohou navzájem posílat úkoly, pozvánky na schůzky, kalendář s programem na další tři měsíce, a podobně, znáte to.

Problém třeba je, že jsem jim to rozchodil přes google, ale bylo mi řešeno, že omalovánky gmailu jsou jak pro puberťáky, že tohle se nedá použít pro profesionální práci... chápejte, prostě outlook a synchronizace do všech zařízení, které obchodník má.

No a další požadavek  je, aby instalace byla stupid easy. Co jsem vyzkoušel (Zimbra, Sogo) tak je to na dlouhé zimní večery hrát si s konfigurákem. Navíc některé projekty chtějí úplně nesmyslné požadavky. Například už během instalace chce Zimbra nebo Kolab FQDN a MX záznamy v DNSku. Já to první chci vyzkoušet ve virtuálu, i kdybych měl do klienta psát číselné adresy. Nejsem admin, nemám po ruce pět šest fyzických strojů s pevnou IP adresou a DNS záznamem. Potřebuju najít řešení o jehož finální nasazení (alokace stroje, přístup k DNSkám, nastavení infrastruktury) se bude muset ještě rozhodnout na vyšších místech

Máte zkušenosti s něčím funkčním, co třeba používáte u vás ve firmě?

20
Vývoj / Vizualizace kryptografického otisku (Hashe)
« kdy: 16. 10. 2015, 16:19:12 »
Chtěl bych nějak vizualizovat kryptograficky otisk (hash) zprávy. Nějak pěkně graficky, aby uživatel snadno na první pohled dokázal porovnat dva otisky a snadno se přesvědčit, že jsou stejné. Neměl by někdo nějaký nápad? Třeba nějaké náhodné malování na canvas?

Příklad, když uživatel uvidí na obrazovce obrázek divného stromečku a na mobilu stejný obrázek divného stromečku (tedy vygenerovaný obrázek), pochopí, že na mobilu má stejný otisk jako na obrazovce počítače.

Ideálně by bylo, aby se jednalo o kresbu, nejlépe monochromatickou. S barvama je potíž, lidi bejvají barvoslepí.

Nějaké fraktály? Ale zase aby se to počítalo rychle, ideálně v JS

21
Vývoj / Ochrana DB proti přeplnění (web)
« kdy: 22. 12. 2014, 23:57:19 »
Zdravím.

Řeším tu takový menší problém. Mám insert-only databázi - databáze, kam se jen zapisuje a její stav je odrazem všech zápisů a přepisů novými zápisy. Mazání je také zápis informace o tom, že se něco smazalo. Je tedy k dispozici kompletní historie změn.

Jak byste takovou databázi zabezpečili proti třeba DoS útoku založeném na přeplnění databáze prakticky "spamovými" zápisy? Jak případně takový spam řešíte?

Já si dokážu nějaký techniky vymyslet, ale snažil jsem se na google najít nějaké oficiální nebo známé způsoby a doporučení a moc jsem neuspěl.

- mohu všude mít captchu
- monitorovat zápisy každého uživatele (a poslat ho do háje, pokud překročí limit)?
- měřit rychlost bobtnání databáze a při překročení limitu začít všechny zápisy zdržovat?

Nebo je nějaký jiný lék?

22
Server / Nástroje na sledování serverových statistik
« kdy: 01. 12. 2014, 15:42:51 »
Zdravím.

Hledám nějaké nástroje ideálně open source na reportování a grafování statistik ze serveru. Hlavně aby to mělo zdokumentovaný formát reportů, protože se nejedná o standardní server typu apache nebo nginx, takže report musí sestavovat server sám. Klidině  může pravidelně generovat nějaká XML, JSON, a podobné formáty o svém běhu, mě jde o to, abych si následné zpracování dat nemusel sám vyvíjet.

Chci sledovat: Počet requestů za sekundu, doba zpracován requestu, počet běžících vláken, atd.. v zásadě bych si tam mohl zadat cokoliv co by se dalo monitorovat.

A prosím neco jednoduchého, žádnou elektrárnu. Díky za tip.

23
Vývoj / Proč bych měl přejít ze SVN na GIT? (vážně)
« kdy: 30. 07. 2014, 13:19:12 »
Poslední dobou jsem obklopen lidmi, kteří "jedou na gitu" doslova to tak cítím, protože se kolikrát chovají jak ujetý jako by jeli v nějakých drogách. Git je úžasný, git je světový trend, zapomeň na cokoliv jiného, všechno bude git

Jsem šťastný uživatel SVN pro jeho jednoduchost. Ke své práci potřebuji commit, update a občas nějaký to branch a merge. Bohužel jsem už několikrát narazil na nutnost s gitem pracovat a vždycky jsem se ztratil v přehršli příkazů v příkazové řádce a možnostech, o kterých pochybuju, že někdy využiju (momentálně zápasim s chromiem, který má ještě nad gitem nějakou vlastní šílenou nadstavbu - proč asi?)

Předem upozorňuji, že nechci a v budoucnu neplánuji pracovat na distribuovaných repozitářech a spolupracovat na opensource projektech. Takže rovnou vynechte tuhle "výhodu".

24
Vývoj / Konzolové C++ IDE
« kdy: 26. 04. 2014, 10:44:30 »
Zdar.

Potřeboval bych poradit, nebo nějaký tip. Většinu svých aplikací vyvíjím v Eclipse CDT. Nicméně bych občas ocenil mít k dispozici IDE v konzoloidním režimu (kvůli SSH, a podobně). Poraďte mi vhodnou alternativu? Prosim rovbou přeskočte vi, vim, emacs, nano, joe, mcedit

Jsem zvyklý na rychlé přepínání zdrojáků Ctrl₊TAB, přepínání mezi H a CPP, content assistant a hlavne Undo a Redo ideálně na Ctrl+Z. Ocením i standardní chování Copy Cut a Paste, včetně standardním přiřazení kláves.

Nějaké C++ related nástroje by nebyly k zahození. Nalezení reference symbolu, skákání po funkcích, nebo inkrementální hledání, a samozřejmě hledání v projektu.

Pohledem na google se zdá, že chtít něco takového je mezi komunitou chápáno jako rouhání :)



25
Odkladiště / Bezpečný přenos hesla/klíče
« kdy: 03. 02. 2014, 21:45:23 »
Ahoj.

Tak zajímavě se rozjela diskuze o obtížném dešifrování, doufám, že stejně dobře mi poradíte i v tomto případě. Potřebuju bezpečně přenést heslo/klíče z jednoho počítače na druhý, který má bohužel jednu zásadní nevýhodu. Je pořád stejné. Ale mělo by se vždy po použití smazat. Přesněji je součástí jiného většího hesla/klíče a slouží k tomu, aby k odemčení zašifrovaných dat byly vždy dvě strany. Ta druhá strana zároveň svou částí hesla autorizuje požadavek, který zasílá, tedy mělo by být nemožné, aby se za tuto stranu někdo vydával. Je samozřejmě jisté že,

1. přenášet mohu pochopitelně po zabezpečeném kanále (SSL/TSL)
2. mohu k autentifikaci použít digitální podpis.
I tak to ale znamená, že přijímaci strana musí vědět, že nebyla oklamána. Ideální bylo, kdyby součástí požadavku bylo i heslo k odemčení zabezpečených dat nutných k dokončení akce.

Příklad.
Mám dva stroje.
1. agent
2. master

Agent se neustále chodí ptát mastera na úkoly a pokud se objeví úkol, master mu v odpovědi zašle parametry úkolu. Předpokládá se, že agent je zodpovědný za provedení zabezpečené operace například s citlivými daty (třeba výplatu peněz).

Je mi blbý do odpovědi dávat přímo to heslo, i když bude putovat zabezpečeným kanálem. Lepší by bylo, kdyby heslo bylo předáno po kanálu nějak fikaně. Třeba jako OTP autentifikace. Ale je potřeba nakonec získat vlastní text hesla, tedy nestačí jen potvrzení Ano/Ne, zda druhá strana se správně identifikovala.

Opět jsem nejprve použil googla, abys se pokusil najít řešení vlastními silami. Dovedlo mě to k D/H key exchange a RSA.
  • Agent pošle na mastera požadavek a s ním vyšle náhodný řetězec jako challenge
  • Master kromě toho, že sestaví odpověď, tak provede výpočet X = F(a,b,s), kde X heslo, který chci přenést, F je hledaná funkce, a je challenge, s je tajná hodnota, kterou mohou znát obě strany, ale by se X nemělo nechat spočítat. Server vypočítá b a odešle ho v odpovědi.
  • agent přijme b, hodnotu a zná,  spočítá F(a,b,s) a získá X. to použije na odemčení zabezpečených dat a pak X z paměti vymaže.

Pokud by vládu nad agentem převzal útočník, nebude schopen spočítat b, protože nezná x. I kdyby se mu podařilo agenta kompromitovat (třeba pomocí jiné chyby) a vyřadil by kontrolu autorizace požadavku, tak bez správného hesla a tedy hodnoty x nezmůže nic.

Otázka zní, jaká je funkce F.

Napadla mě primitivní odpověď jako příklad   F(a,b,s) = a XOR b XOR s.  Ze znalosti X,a,s jsem schopen spočítat b. Ze znalosti a,b,s jsem schopen spočítat X. Ovšem bez jedne z obou proměnných X neodvodím.

A otázka. Kde bych hledal podobnou funkci, ale s mnohem lepší implementací. Cílem je, aby v případě, že útočník získá jedno nebo i oba řetězce (například z komunikace), aby i tak nebyl schopen spočítat X a zejména pak simulovat mastera a tím ho donotit provést neautorizovanou operaci.

PS: není to jediné zabezpečení

26
Vývoj / Šifrovací knihovna s obtížným dešifrováním
« kdy: 01. 02. 2014, 13:01:45 »
Zdar

Potřebuju poradit, ukázat kde hledat následující (bohužel nevím, jak se zeptat googla)

Knihovnu (nějaký libXXX-dev, ještě lépe se zdrojáky) která by realizovala šifrování a dešifrování s tím, že při zadání správného hesla by dešifrování trvalo nějakou významnou dobu, třeba stovky milisekund až sekundy. Ideálně, kdyby se obtížnost zašifrování dalo nastavit při šifrování.

Cílem je významně ztížit offline louskání hesla brutal force. Je mi jasné, že když útočník použije nějaký distribuovaný systém louskání, tak že stejně nemám moc šancí, ale to bych řešil tím, že bych obtížnost nastavoval podle toho, jakou data mají hodnotu. (příklad... zašifrování privátního klíče bitcoinové adresy)

Nějaký nápad?

27
Server / Boj proti spamu principem z bitconů
« kdy: 10. 12. 2013, 13:36:50 »
Ahoj, jen chci prodiskutovat takový nápad. Třeba už někoho napadl a třeba to někdo dávno implementuje.

Myšlenka boje proti spamu je založená na tom, že odesílatel musí spočítat nějakou obtížnou výpočetní úlohu, aby jeho e-mail byl přijat. S využitím znalostí okolo fungování bitcoinů mě jednoduše napadlo, že by se taková úloha mohla počítat podobně, jako když se doluje blok. Samozřejmě velmi zjednodušeně a s menší složitosti

Příklad: Odesílám zprávu A příjemci B. K výpočtu potřebuju spočítat dodatek C (jako řetězec), který odpovídá zadané složitosti k.

To číslo určuje, kolik bitů (nebo čtveřic?) zprava nějaké hashovací funkce (například SHA) provedené nad A+B+C musí být nastaveno na nulu.

Výpočet je tedy snadný, najít takový C, aby hash(A+B+C) = 000... kde nějaké K určuje počet počátečních nul.

Do protokolu SMTP by se to zapojilo snadno. Přibyla by nějaká položka mezi RPCT TO a DATA, kam by odesílatel zadal obsah řetězce C. SMTP server by provedl operaci hash(A+B+C) a zkontroloval by, že výsledný HASH opravdu odpovídá zadané složitosti. Pokud by neodpovídal, nebo by položka chyběla, odmítl by e-mail převzít a v chybové zprávě by sdělil, jak velkou složitost vyžaduje k přijetí e-mailu.

Nasazení mechanismu do existujících SMTP by byla složitější. Muselo by se to vyhlásit a musel by to nasadit velký poskytovatel (Google / Seznam, atd). Nejprve by se to nasadilo na IP z blacklistů a případně na způsob jak obejít greylisting. Následně by se tím bylo možné obcházet nějaká příliš přísná pravidla spamfiltru. Zároveň by se vydal nějaký plugin do existujícíh MX serverů,  které by to uměly počítat. Část zátěže by se dala přenést přímo na uživatele (počítat by to musel přímo klient, nebo webová stránka webmailu). Postupně by se to zavedlo jako virtuální platidlo za příjem zprávy (platí se spotřebovaným výkonem)

Co si o to myslíte?

28
Server / Šifrování MySQL pomocí EncFS
« kdy: 09. 12. 2013, 22:15:57 »
Zdravím.

Mám jednoduchý dotaz. Zkouším encfs nad soubory tabulek z mysql. Zda se, že mysql neprotestuje (v režimu encfs --public). Nicméně, máte s tím nějaké zkušenosti? Nečeká mě tam nějaká zrada (výkon / integrita / bezpečnost?).

Cílem je nějaká jednoduchá ochrana dat na VPS. Nenapadá mne jiný způsob encryptování na virtualizovaným stroji.

Díky, Ondra.

PS: Ne, opravdu to nemá nic společného s burzou bitcoinů...

29
O serveru Root.cz / Forum: Přístup odepřen
« kdy: 29. 11. 2013, 10:13:43 »
Chtěl bych poprosit místního správce, aby něco udělal s forem. Neustále mě to odhlašuje. Někdy napíšu příspěvek a ztratím jej po tom, co to napíše "přístup odepřen". Někdy se mi ho podaří skopírovat a po přihlášení ho znova vlepit jako odpověď. Když zaškrtnu trvale přihlášen, tak mě to stejně nakonec odhlásí. Nebo mi to pořád dokola píše, že vypršelo sezení, zkuste to odeslat znovu.

V IE9 a v Opere Mini se nepřihlásím vůbec.

Jinak teď jedu z Firefoxu a mám IPv6

30
/dev/null / Nevzdáváme to - nová burza bitcoinů
« kdy: 27. 11. 2013, 23:45:57 »
Hledám dobrovolníky pro odtestování demo aplikace chystané burze bitcoinů. Uvidíte sami, že celý koncept burzy je diametrálně odlišný od toho, co jsme doposud na českém trhu viděli. Rozjezd aplikace byl urychlen zejména po crashi carlosovy směnárny bitcash jako výzva "umíme to lépe zabezpečit".

A jak správně každý hacker ví, že se nedá po internetu nedá hacknout počítač, který není připojen k internetu, stejně tak se nedá vykrást bitcoinová směnárna, ve které nejsou žádné bitcoiny.

Přijďte ochutnat a vyzkoušet si demo. Budeme vděčný za každý nahlášený problém. Pokud nám někdo chce ukázat, "že to fakt neumíme zabezpečit", tak ať to zkusí prolomit. Nejlepšího hackera naší demo aplikace odměníme. (hack != DDoS útok).

https://www.bitstock.cz

Na demu každý začíná se 100kKč. Všechny obchody jsou jen "jako". Bitcoiny nepřevádějte, potvrzení o převodu lze v demu snadno nafejkovat (nebude uznáno jako hack).

Ostrý start se chystá v brzké době.

Stran: 1 [2] 3 4