Thanks. Yea if you bring all the backchannels together at some point I would like to be included mostly as a listener. I totally agree about not wanting people to think we've "solved" security. I expected that might be the reason this hadn't been done. On the other hand I think some sort of starting point or examples are very useful so we don't all reinvent the wheel. Your spython branch seems to be what I was looking for but couldn't find. I'm gonna clone it and poke around a bit. How can we make your fork easier to find? Googling for spython doesn't even get you in the right neighborhood. Can we include a link in the PEP?
On Thu, Nov 21, 2019 at 1:09 PM Steve Dower <steve.do...@python.org> wrote: > On 21Nov2019 0927, Jason Killen wrote: > > I sent in a couple of PRs, accepted and merged (Thanks!), lately that > > switch to using io.open_code when appropriate. In the process of making > > those PRs I spent a bit of time reading the two related PEPs. In > > PEP-551 there's a suggestion that people use a restricted entry point in > > production environments. I googled around a bit and couldn't find any > > evidence that there was an existing implementation, at least not made > > public, that people were using in a general sense. So I created a > > branch from my fork and over the last few days have implemented part of > > what's suggested in PEP-551. Specifically my changes remove most of the > > command line options, ignore envvars (except for a possible logging > > filename for the audit hooks), and registers an audit hook that logs > > everything to the defined envvar when provided or stderr if not. > > Hi Jason. Great to see that you're interested! > > Right now there isn't an existing implementation, mainly because the > value is very limited unless you also integrate into other system > security services. Since CPython runs on so many platforms, there was no > way for us to support all the possible combinations upstream, so instead > we made it easy to extend so that distributors can customise it for > their own platform (including sysadmins who want to customise for their > own internal setups). > > You can watch the presentations I gave on this recently (top few links > at https://stevedower.id.au/speaking), or read my whitepaper at > https://aka.ms/sys.audit (which will be rolled into PEP 551 soon). > > I have also some samples at https://github.com/zooba/spython (that are > shown and discussed in the whitepaper). > > > Now the questions: > > 1) Does anybody care? Is anyone currently doing this or planning on > > doing this? > > Yes, quite a few people care. It's mostly being discussed with me on > backchannels right now though, and I haven't even connected everyone > together yet. If you're interested, I'll include you when I do? > > > 2) Do we want to provide an "official" version of a restricted entry > > point that could be used as-is or easily modified per specific needs? > > Seems kinda silly to make everyone roll their own version but I'm happy > > to yield to the will of the people. > > As I said above, an "official" one can only go so far. I'd prefer to see > the Linux distros have their own official one (e.g. if I'm on RHEL then > I use Red Hat's restricted entry point, etc.) > > > 3) What's the chance we wanna merge something like this into the > > official master branch? I accomplished what I wanted to do using a few > > #ifdef's and some funky makefile magic. I think it would merge easily. > > Maintaining a fork sounds like a lot of work to me. > > The fork is very minimal now that the hooks are available in core. I've > been involved in maintaining a true fork (based on 3.6 without the > hooks) and *that* is a lot of work, but now that it can all be done from > the entry-point it's actually pretty simple. > > > And here's the code: > > I'm very open to suggestions. I basically have no idea what I'm doing. > > I haven't touched C in about 7 years so don't expect the Mona Lisa. > > > https://github.com/python/cpython/compare/master...jsnklln:PEP551_restricted_entry_point > > I think this looks almost exactly like what we would merge if we were > going to merge anything. My concern is that I think if we offer anything > at all it will discourage people/distros from actually implementing it > properly for their context, and so we make things worse. Making it easy > to extend without actually doing it seems like a better place to be. > > And I'm totally in favour of publishing ready-to-build samples (again, > see https://github.com/zooba/spython). I just don't want people to think > we've "solved" security for them, when there's honestly no way for us to > do it from here. > > Cheers, > Steve > -- Jason Killen jsnk...@gmail.com Pain is inevitable, misery is optional.
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/CX4DMONP5SAZRE5D337NOA5ATKW7ZGGI/ Code of Conduct: http://python.org/psf/codeofconduct/