/srv/irclogs.ubuntu.com/2021/01/16/#ubuntu-server.txt

JanCeh, why hide it from the owner?00:00
oerheksso, no, if he owns the account, he can become root and also have access.. any encryption without his knowledge smells bad to me.00:00
geosmileBecause its my source code on the machine00:01
UssatSo, that sounds..um...fishy00:01
geosmilethat is contractually not allowed for him to clone/copy00:01
Ussatvery fishy00:01
geosmilebut I have no way of restricting that technically00:01
JanCif you don't trust them, don't put your source code on their machine?00:01
oerheksthen don't store it there.00:01
geosmileJanC, I've to run software that solves a problem for the client00:01
geosmileoerheks, I have to - to run it00:01
geosmileI was thinking of encrypting the file system using encryptfs00:02
UssatYou need ther source...to run it00:02
geosmilebut that does not solve the problem00:02
Ussatthe00:02
geosmileUssat, yes, I do need source to run it00:02
UssatSo, you are going to make part of your clients system, unuseable.....OK I will put it bluntly.....I would find somewhere else REAL fast, because thats a shitty thing to do00:03
geosmileI could keep keys outside the machine, and encrypt the machine - so that everytime I booted the machine, it would ask for keys from outside the system.00:03
Ussat ut, thats just me00:03
tewardencryption without the knowledge or permission of the persons you're working with is a very very grey area legally00:03
geosmileUssat, unusable ? I just dont want the client to have the ability to copy my source?00:03
tewardthat could get you in trouble00:03
tewardgeosmile: then use a compiled language that you only provide binary files for00:04
Ussatand if you need the source, to run something, then thats an a bigger problem00:04
geosmileteward, It is a machine on which I am root, and I own the machine. What are you talking about?00:04
teward> So, you are going to make part of your clients system, unuseable.....OK I will put it bluntly.....I would find somewhere else REAL fast, because thats a shitty thing to do00:04
geosmileteward, I cant do that - its not cost effective00:04
tewardgeosmile: then you're in the catch-22 of software00:04
tewardeither you provide your source so your stuff works00:04
tewardor you don't put it on the **client**'s machine00:04
geosmileteward, if you dont have a solution - why speak?00:04
UssatI propose you have bigger issues00:04
tewardwhat Ussat said00:04
tewardi'm proposing the same00:05
tewardyou have larger issues to tackle00:05
geosmileI agree00:05
teward(this also sounds a lot like an XY problem)00:05
sarnoldwhy is a more traditional SaaS approach not possible?00:05
geosmileIts not a trivial issue00:05
JanCwho does contractually own the code?00:05
teward^^ that00:05
geosmileJanC, I do00:05
JanCso then make sure that's stated very clearly in your contract, and if they steal it, sue them00:05
geosmilesarnold, because there is client's data on the machine.00:05
geosmileJanC, I won't last while I sue them - I've thought about that00:06
geosmileSo - apart from encryptfs - is there something else I can do - that secures the data on the machine?00:06
UssatI propose if you dont trust yuour clients, you choose better clients then00:06
Ussatvet your clients better00:06
oerheksbuild a vm with the code, and store it and its output in an archive?00:07
geosmileUssat, really? you want to trust your clients with your source code ? Vetting helps?00:07
tewardgeosmile: your business premise is the problem here.  The only way to secure the data **on your clients machine** is to provide non-source-code versions.  If you can't do that, then you need to provide SaaS that **does not** have the requisite of being on your clients' controlled machine to begin with.  If you can't do **that** then you need to rethink your approach to this entire project00:07
oerheksyour usercase might be compromised either way00:07
UssatTHAT ^^^^00:07
tewardbecause **contractually binding** it so that if they copy or keep your code as a lawsuit is the only way to punish the company00:07
JanCeven non-source could be stolen...00:07
tewardyour use case is compromised simply by what your goal is00:07
UssatI am REALLY cureious, what kind of business is this /00:08
tewardand your user base will not employ you if you require special encryption and such that is under client's controlled machines00:08
tewardand not your own (even managed service providers provide their own machines for them to manage if it ABSOLUTELY requires clients to put it into their environment and not allow the Client to have access to that infrastructure)00:08
JanCalso, they seem to trust _you_ with their secret data, why can't you trust them?00:09
teward^^ that - the double edged sword.00:09
geosmileJanC, They have checks if i steal their data, since I am on their network00:09
geosmileJanC, I dont have a way to secure my code00:09
tewardif you don't have a way to secure your code, you shouldn't be putting it on client machines because **You yourself do not trust the client**00:10
UssatThere is something thats...fishy here00:11
tewardheck, even as a consultant myself **all code I put onto a client's machine** is done under contracts and all Open Source anyways, if you are using something that is Closed Source you shouldn't risk it being put on the client machines.00:11
tewardagreed with Ussat00:11
JanCit's not like binaries are really more safe than code...00:12
geosmileUssat, if you dont understand something - of course it's fishy. Instead perhaps think about a solution - instead of a fish?00:12
geosmileJanC, It's more painful to decompile for sure00:13
JanCif it's really all that valuable...00:13
tewardi don't see what your original 'problem' is here, you are just asking about your **solution** not the core problem you're trying to protect against00:13
tewardif your problem is "I have no controls to prevent others copying my code" then you shouldn't share your code00:14
tewardhttps://xyproblem.info/ <-- this is what your issue sounds like00:14
tewardthe XY Problem00:14
JanCthe real solution is a good contract combined with trust00:14
teward^^ that00:14
geosmileteward, the problem is very simple - if you want to understand it.00:14
UssatSo, youre saying youre slource must REMAIN there to solve a problem00:14
geosmileI want to work on an AWS EC2 instance - without giving access to Amazon - Prove its impossible - or disprove with a solution.00:15
tewardand you don't want to enforce your contracts with legal methods00:15
UssatI propose your "solution" is not a good solution00:15
Ussat without giving access to Amazon00:15
UssatYa...ok sure00:15
tewardgeosmile: whenever ${SYSTEM} is not in your own physical possession you can't control anything00:15
Ussatthats not happening00:15
geosmileteward, but you can, when it is in your posession00:15
geosmileteward, that doesnt prove a thing!00:15
tewardanyone with physical or console access to the machine directly (Amazon) can access your system00:15
tewardgeosmile: Rule #1 of System Security is: If anyone else has access to the machine, it's a risk00:16
geosmileteward, sure - but when they do - they might get random bits00:16
tewardso if anyone OTHER than you has access to the system, you either (1) accept the risk that ANYONE with admin on the machine you're deploying to can access your code (and your CONTRACT will enforce rules about copying, etc.)00:16
Ussatdude there FREEKING AMAZON....00:16
tewardor (2) don't deploy your software00:16
tewardyou don't have other options00:16
tewardyou have no solution to *block* access to your *source* which **you say you must have there**00:17
tewardand rule 0 applies00:17
UssatYou are trying to solve a personel issue technically, not gonna happen00:17
tewardthe only other solution is, in your contract, forbid the copying or use of your code and audit all access attempts.  and then when that's breached, sue the client00:17
tewardbut as you said that'd not be "doable" for your AMBIGUOUS business case00:18
tewardin which case you have no way to protect against the issue you're trying to prevent - no legal repercussions, no reason for anyone to obey the contract.00:18
tewardthis is a personnel / business operations problem, and not one you'll solve technically.00:18
geosmileThanks. Will try to solve it contractually.00:19
tewardto put this into another perspective let's take an active Consulting contract I have with the Lubuntu Team for adminning their infra for them.00:19
tewardthat contract specifically states: "All materials present on the Lubuntu Team's infrastructure is the property of the Lubuntu Team.  Unauthorized copying of the data to any environment is a violation of this contract and subject to legal ramifications."00:20
tewardso even though I have full root access to their systems to admin their stuff, and run *hosted* infra for them as well, everything on those servers is *their property* and they have contractually written in that I am not going to steal their stuff00:20
JanCteward: well, except for all the open source software they don't own, I'm sure?  :)00:21
tewardJanC: well, that's in the Exceptions in that section of the contract.00:21
JanCI assume it's about content & maybe configurations (although it might be hard to claim copyright on those)00:22
teward"Exceptions to the ownership of property are existent for any open source software provided under other licenses and not direct property of the Lubuntu Project and Team, including but not limited to: Phabricator, Discourse, Jenkins, Matterbridge"00:22
tewardJanC: basically, yes.00:22
tewardbut the point was any code they wrote and uploaded for example is going to be their property00:22
tewardvs. the software they already deploy00:22
tewardi'm not at liberty to share the entire contract ;)00:23
JanCand I suppose all scripts you write for admin purpose are owned by them00:23
tewardunless the scripts are deployed open source.00:23
tewardand just reused by me :P00:23
tewardbut basically, yes.  Except where the scripts are already present in the Ubuntu repos, etc.00:23
tewardthere's a LOT of exceptions written in as well, but that's the benefit of 2+ years of the contract existing ;)00:24
JanCbest to be as clear as possible in the contract, and then trust the other side means well  :)00:25
tewardyep :)00:25
tewardit's not like Lubuntu's infra is running anything proprietary either00:25
tewardall the core stuff they use is Ubuntu driven and Open Source00:26
tewardexcept for the VMware Tools that's installed on the hosted infra in my cluster under the contract :P00:26
tewardbut that's not mine either ;)00:26
tewardthe contract's pretty airtight protecting IP on both sides00:26
tewardand again, it's under contract - breach means legal repercussions00:27
tewardfor either side depending where the breach happens. :P00:27
tewardbut again, that's a business operations thing, not a technical enforcement00:27
tewardaudit: yes.  control via contract: yes.  control via technical means: restricted ACL to access the machines, no other technical enforcements.00:28
teward(again, per contract) ANYWAYS i digress.00:28
teward*goes back to stabbing SQL code*00:28
geosmileThanks teward - I just need to replace that Lubuntu by "me".00:29
tewardno, you need a much more verbose contract00:29
geosmileif its my property - and copying/snapshotting/...00:29
tewardAND given this quote from you: "I won't last while I sue them - I've thought about that"00:30
tewardyou **need to enforce the contract with legal repercussions**00:30
tewardthe wording in my contract won't help you00:30
tewardit's a consulting contract, not a SaaS or "I'm Providing Softare" contract00:31
tewardYOUR contract will have its own needs00:31
geosmileteward,  you are right - time to talk to a lawyer for that problem00:32
tewardyup00:32
teward(and I keep a lawyer on retainer for this purpose LOL - all contracts NOT issued by my LLC need heavily reviewed first before I do any signatures)00:32
tewardthat, and the Lubuntu one has some bias, I've worked with the Lubuntu team for a few years on a few things so there's a larger web of trust there :p00:36
tewardANYWAYS00:36
tewardi need to go stab the postfix channel i need some... custom things and opinions...00:36
geosmilethank you!00:36
tewardJanC: there's only like three cases where I have an SaaS or "Software provided under contract" situation, and all of those cases are 'protected' by deployment of a managed device which I own and lease to the customer under the contract, or a dedicated VM template/image/deployment that I've already built and Customer doesn't have any access to directly other than through the deployment wizard which preconfigures the deployed system00:39
pizzaiolonothing to contribute here, just would like to say this has been an enjoyable backlog to read. :)00:39
tewardwhich in turn block the 'client' from direct access to the system, but again they physically have access so it *could* be someone bruteforcing but yeah.00:39
tewardpizzaiolo: heh it's fun to read the chaos yes?00:39
pizzaiololol yes, but more interesting to hear about your contract and contracts in general. i've personally been burned by ambiguity and lack of a contract early in my career so i learned that lesson00:40
tewardheheh well I'm not a lawyer00:42
tewardbut when you have to run a business you learn stuff ;)00:42
tewardit's the lawyers that do most of that work for me :P00:42
JanCit's probably not that hard to do a good contract yourself either00:43
geosmileJanC, if you give them a dedicated VM template - once they have the template - its still the same problem, no?00:53
JanCI think you want to ask teward that00:57
JanCbut I guess there are ways to do that when there is a trusted 3rd party00:57
tewardgeosmile: the VM is limitedAccess to the template, but again we audit the crap out of the access so anyone accessing it without it being me triggers a huge warning email and CC'd the lawyers the corresponding contract data (self-written audit code!) but that's a different set of circumstances because I don't hesitate to sue clients who break the contract.  And such contracts are amended contractually for "Managed VM Appliances"00:59
tewardbut again, everything is contract driven for controls01:00
tewardand USUALLY have major repercussions for clients heh01:00
cliluwIs there a difference between `chmod 0400` and `chmod 400`?01:23
sarnoldat bash, no; in programming languages, maybe01:24
qman__0400 would override suid/guid bits02:09
sarnold$ touch test ; chmod 7777 test ; ls -l test02:11
sarnold-rwsrwsrwt 1 sarnold sarnold 0 Jan 16 02:10 test02:11
sarnold$ chmod 400 test ; ls -l test02:11
sarnold-r-------- 1 sarnold sarnold 0 Jan 16 02:10 test02:11
Seveassarnold: in other languages a definite yes :) (400 == 0620)08:14
=== ivo_cavalcante_ is now known as ivo_cavalcante
=== denningsrogue4 is now known as denningsrogue

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!