Ako ochrániť Nette projekt pred modifikovaním/skopírovaním kódu?

steelbull
Člen | 240
+
0
-

Možno off-topic téma, ale chcem sa opýtať, ako spoľahlivo a jednoducho ochrániť Nette aplikáciu pred skopírovaním alebo modifikáciou kódu? Ako postupujete vy, keď chcete ochrániť váš kód? Nedá sa namiesto ZenGuard alebo pod. kód umiestniť do nejakej kontajnerizačnej technológie, kde by nebol k nemu prístup?

Ďakujem za každú odpoveď.

kminekmatej
Generous Backer | 34
+
+1
-

Věčné téma :-)
Jediná možnost je provozovat to na vlastním serveru ke kterému nedáš nikomu přístup.
Pokud potřebuješ zachovat přístup 3rd parties stran na produkci, tak můžeš jít cestou obfuskace či Zend Guard (ten jsem nezkoušel).
Obfuskaci jsem pákrát zkoušel a nepřijde mi to jako příliš spolehlivé. Ale možná jsem ji nezkoušel dost důkladně.
Nejlepší řešení které vždy vzejde z těchto diskuzí je mít správně napsanou smlouvu a zdrojáky neřešit.

Při deployi na On-Premise instance pak taky musíš mít přehled o vendor aplikacích – jestli to jejich licence dovolují

kminekmatej
Generous Backer | 34
+
+1
-

Docker container ti nepřidá žádnou bezpečnost – filebase je sdílená, takže ty zdrojáky jsou stále volně přístupné z hosta

Pavel Kravčík
Člen | 1182
+
+1
-

Klíčovou logiku můžeš vyčlenit do „micro-services“, které budou volat přes API nějaký tvůj server. Klient dostane aplikaci s šablonama a voláním API. Ale obecně, pokud uvažuješ nad něčím takový – spíš bych zvážil spolupráci s daným klientem.

steelbull
Člen | 240
+
0
-

kminekmatej napsal(a):

Věčné téma :-)
Jediná možnost je provozovat to na vlastním serveru ke kterému nedáš nikomu přístup.
Pokud potřebuješ zachovat přístup 3rd parties stran na produkci, tak můžeš jít cestou obfuskace či Zend Guard (ten jsem nezkoušel).
Obfuskaci jsem pákrát zkoušel a nepřijde mi to jako příliš spolehlivé. Ale možná jsem ji nezkoušel dost důkladně.
Nejlepší řešení které vždy vzejde z těchto diskuzí je mít správně napsanou smlouvu a zdrojáky neřešit.

Při deployi na On-Premise instance pak taky musíš mít přehled o vendor aplikacích – jestli to jejich licence dovolují

No to práve nemôžem, dokonca často nemám ku serveru klienta ani prístup. Takže preto sa snažím nájsť nejaké zmysluplné riešenie, aby som bol „safe“. Takže vy tieto záležitosti neriešite a spolihate sa vždy „len“ na zmluvu? Podľa dostupných informácií mi zatiaľ vychádza použiť jedine ZenGuard.

steelbull
Člen | 240
+
0
-

kminekmatej napsal(a):

Docker container ti nepřidá žádnou bezpečnost – filebase je sdílená, takže ty zdrojáky jsou stále volně přístupné z hosta

…áno :-( myslel som, či neexistuje nejaké iné kontajnerizačné riešenie, ktoré by to zvládlo.

steelbull
Člen | 240
+
0
-

Pavel Kravčík napsal(a):

Klíčovou logiku můžeš vyčlenit do „micro-services“, které budou volat přes API nějaký tvůj server. Klient dostane aplikaci s šablonama a voláním API. Ale obecně, pokud uvažuješ nad něčím takový – spíš bych zvážil spolupráci s daným klientem.

Nad tým som tiež premýšľal, radšej by som ale skúsil ochrániť celú appku a presun niektorých vecí do mikroslužieb som chcel použiť neskôr. Potrebujem napr. ochrániť max. počet používateľov, upravením podmienky v kóde by mohol niekto zrušiť limit. Preto encryptovanie alebo zabalenie kódu do nejakého riadeného prostredia by mi podľa mňa pomohlo v mojom príp. viac.

dms
Člen | 87
+
+1
-

Nám se osvědčilo https://www.ioncube.com/ který spouštíme automaticky přes CI při každém deployi na cizí server. Těch klientů máme naštěstí jen pár a je o vždy opruz to řešit, ale pokud nechceš klientovi svůj kod zpřístupnit a posíláš to na jeho server tak je to asi jediná cesta.

steelbull
Člen | 240
+
0
-

dms napsal(a):

Nám se osvědčilo https://www.ioncube.com/ který spouštíme automaticky přes CI při každém deployi na cizí server. Těch klientů máme naštěstí jen pár a je o vždy opruz to řešit, ale pokud nechceš klientovi svůj kod zpřístupnit a posíláš to na jeho server tak je to asi jediná cesta.

Veľmi pekne ďakujem, skúšal som to, toto riešenie a vyzerá, že funguje, ale tak nejak neviem, či mu môžem dôverovať, pretože ku zašifrovanému kódu môže prakticky pridať čokoľvek. Je to podľa vás dôveryhodné riešenie?

steelbull
Člen | 240
+
0
-

…takže som to vzdal :-( po zašifrovaní by som musel zrušiť loader a prejsť na psr-4, tým pádom by som musel pravdepodobne robiť väčšie úpravy v appke, tým pádom by som musel zrušiť predpokladám aj caching atď.

už som myslel, že som našiel iné riešenie, namiesto dockera použiť dockerd a encryptovať konkétnu vrstvu kontajnera, ale problém je, že pri spustení sa decryptuje, takže problém to nerieši a som späť na začiatku.