17:00:11 #startmeeting security 17:00:11 Tuesday then 17:00:15 Meeting started Thu Feb 18 17:00:11 2016 UTC and is due to finish in 60 minutes. The chair is tmcpeak. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:16 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:17 o/ 17:00:19 The meeting name has been set to 'security' 17:00:22 o/ 17:00:24 o/ 17:00:24 hi 17:00:27 hi 17:00:36 o/ 17:00:44 o/ 17:00:55 #link https://etherpad.openstack.org/p/security-20160218-agenda 17:01:04 please add things to ^ 17:01:07 o/ 17:01:08 if you're so inclined 17:01:14 o/ 17:01:57 hyakuhei can't be here as he's out living the dream in San Francisco on vacation today 17:02:22 lucky him :) 17:02:29 too rainy to be living the dream today 17:02:31 yeah although the weather sucks in the bay today 17:02:34 browne: +1 17:02:35 nice, +1 17:02:41 living the dream would be Tahoe right now 17:02:58 allright 17:02:59 hi, all 17:03:01 #topic Anchor 17:03:03 hey michael 17:03:08 tkelsey: want to take this? 17:03:09 tmcpeak: hi 17:03:17 * elmiko waves at michaelxin 17:03:23 elmiko: Thanks. 17:03:33 I will need to leave early today, sorry. 17:03:56 cool, no worries 17:04:55 ok Tim and Doug aren't around 17:04:58 we can go back to anchor later 17:05:00 #topic Bandit 17:05:10 ok so we're still working away towards 1.0 17:05:17 in the process we're also closing some good bugs too 17:05:39 yeah, i think we can't publish a new release until we fix the integrations 17:05:44 anybody that's interested can pick up a bug or a blueprint targeted for 1.0 from our launchpad 17:05:47 browne: agreed 17:05:49 i have a question/suggestion about bandit 17:05:55 tmcpeak: any preferences? 17:05:57 elmiko: cool, what's up? 17:06:02 ccneill: nope, either would be awesome 17:06:12 have you guys considered, or is it available, to use bandit from another python app? 17:06:15 (eg is there an pi) 17:06:21 "api" 17:06:31 we don't have that currently 17:06:32 FYI, as far as integrations failing, they are keystone, keystonemiddleware, oslo.vmware, python-keystoneclient 17:06:39 what' use case do you have in mind elmiko? 17:06:46 scan as service 17:06:57 a REST API? 17:06:59 i was just thinking about cases where i could write an app that would use bandit to validate files 17:07:05 bknudson_: no, just a python api 17:07:12 ehhh we can get by without an API for a while, no? if we have good output formats 17:07:24 popen 17:07:30 What's the gain here? 17:07:31 lol 17:07:34 bknudson_: +1 17:07:39 You an always run it locally 17:07:40 right.. i was thinking about avoiding subprocess 17:07:50 it's jank but that's what we've currently got ;) 17:07:58 yea, no worries. i was just curious 17:07:59 that should be "popen #nosec" 17:07:59 o/ 17:08:05 bknudson_: LOL 17:08:05 elmiko: full disclosure, I'm working on a project (in python) to run other CLI tools :D 17:08:21 bknudson_: LOL! 17:08:32 haha 17:08:36 ccneill: well, as long as we are going full disclosure, i wanted to run bandit in a distributed manner and collect results using a big data cluster 17:08:37 popen is fine as long as you always use a shell or something 17:08:52 elmiko: that sounds much more interesting than what I'm doing lol 17:08:55 this would be much easier if i could use it from an api as opposed to call popen 17:08:56 elmiko: +1 17:09:00 elmiko: we've looked at doing something like that internally too 17:09:22 we can build something and sell it 17:09:22 although a bunch of Python processes could probably do the same, yeah? 17:09:30 it is better than what veracode is offering 17:09:46 yeah we should do a startup, I heard that's what the cool kids are doing 17:09:48 personally, since getting the golang bug, I always wonder now whether it's better to design something that's easy to parallelize in python, or just make it super granular (i.e. specify each file via CLI flags) and parallelize with go 17:09:59 tmcpeak: yes, i want to leverage the data harvesting potential of say spark to aggregate all the results 17:10:00 curl http://openstack/bandit/scan?http://github/my_project 17:10:05 O:-) <- tech hipstar 17:10:17 it would be easy to do with a python api, slightly more difficult with subprocess 17:10:45 elmiko: let's chat offline, what you're doing sounds cool, I'm sure we can figure out some way to make it work in not too nasty of a way 17:10:46 ccneill: yea, good question 17:11:15 tmcpeak: yea, and don't get me wrong, i'm not asking for a big feature change. just thinking about some usages that fall outside the normal pattern. 17:11:25 cool, let's chat about it 17:11:26 my opinion is all application CLI should just be a small wrapper over an API. 17:11:38 bknudson_: +1 17:11:45 would make these types of questions very easy 17:11:52 bknudson_: yeah that's definitely a better way, but it would be a huge lift at this point for us 17:12:04 and i'm sure i could just hack on the bandit package to make it work, but i thought i'd ask first ;) 17:12:18 bah sorry im late chaps 17:12:21 its interesting, but defintely post 1.0 work 17:12:27 browne: agreed 17:12:30 yep yep 17:12:32 thanks for indulging me 17:12:43 thanks for bringing it up, it's a good idea 17:12:49 definitely a nicer design 17:13:00 for 1.0, we need to get agreement on the integration tox testenv name across the projects. currently there are differences 17:13:20 elmiko: good idea! 17:13:23 browne: should be 'bandit' right? 17:13:24 pep8, linters, bandit? 17:13:33 i would like bandit 17:13:35 keystone doesn't have bandit 17:13:40 pep8 should call 'bandit' 17:13:50 browne: but yeah, you have a good point 17:14:04 if you guys decide on bandit as the tox env then that's fine with me. 17:14:08 also how does the integration test work? 17:14:11 don't think we want to run pep8 or whatever other linter as part of this test either 17:14:14 but right now keystone runs bandit with pep8 17:14:16 some aren't supposed to be passing, so are we going to block on that? 17:14:38 so for an intergration test to run a project should have a 'bandit' that we can call 17:14:43 if they don't we don't do integration checks 17:14:46 sahara uses bandit as the toxenv, but that's because we are still non-voting 17:14:56 they should all pass, otherwise it means our changes are breaking other projects. this is the current situation 17:15:07 not in non-voting cases 17:15:08 maybe there's another way to accomplish this 17:15:18 only non-voting is sahara 17:15:31 only voting is the Keystone stuff, right? 17:15:31 maybe something in setup.py and then bandit does tox -e venv bandit 17:15:34 https://review.openstack.org/#/c/281560/ 17:15:54 bknudson_: sorry, who's setup.py? bandit's? 17:15:59 *whose 17:16:05 keystone's setup.py 17:16:24 because you don't know how keystone is running bandit (what the cmd line is) 17:16:43 bknudson_: that's why I was thinking we'd just call a standard name tox target 17:17:08 browne: i'm trying to get it non-voting. but i think it's a case we need to acknowledge 17:17:23 so we have a hierarchy 'bandit' tox target calls just Bandit, then 'pep8' or 'linters' calls that stuff + what's in bandit 17:17:24 the tox.ini seems a little heavy-weight... but let's not get hung up on this. 17:17:35 bknudson_: cool, you know this stuff better 17:17:35 elmiko: no problem. sahara integration did find a serious blacklist bug 17:17:38 what's your suggestion? 17:17:59 browne: which one? 17:18:00 let's go with a bandit env in tox.ini for now 17:18:08 browne: I have a fix for that bug FYI 17:18:22 tkelsey: saw that! awesome 17:18:25 bknudson_: cool, sounds good 17:18:26 what's the problem with running pep8? 17:18:43 if there's a better way I'm happy to work towards that too, I'm just not super familiar with these things 17:18:51 sigmavirus24: is our resident tox expert I think 17:18:55 ok, never mind, I guess I get it. 17:19:01 o/ 17:19:02 bknudson: running pep8 also works, although we're running more than necessary 17:19:21 and we're gating Bandit on non-bandit things 17:19:38 let's go with bandit venv and then let's consider how this can be improved. 17:19:42 oh right, that integration testing probably needs updates since the change from bandit to linters 17:19:47 bknudson_: +1 17:20:03 I wonder if we can make the argument for having separate tox envs for different linters and having linters just combine all of them 17:20:05 sigmavirus24: it went from bandit to linters to pep8 17:20:15 browne: we're back to pep8 from linters? 17:20:17 lol okay 17:20:22 and several projects are inconsistent now 17:20:31 Makes sense that they would be 17:20:35 It's hard to keep track of these changes 17:21:59 expect the keystone proposals to be +2d 17:22:02 yeah, eventually 'linters' may be used but for now the voting gate should be 'pep8' 17:22:20 per discussion with infra 17:22:36 tmcpeak: ha, i thought it was the other way around 17:23:01 no :( 17:23:06 changed again last week-ish 17:23:11 geez 17:23:41 I get it, infra is trying to maintain a consistent contract and so they'd either have to move all projects to 'linters' or keep all projects on pep8 17:23:55 and moving all projects to linters is more effort than anybody has time for right now 17:24:00 is this maybe a topic we should bring up at the cross project meeting? 17:24:10 or even make a cp spec for? 17:24:17 elmiko: those are both good ideas 17:24:34 good idea 17:24:37 so for bandit integrations we agree on 'bandit'? 17:24:40 I had an initial conversation with #infra and what they said makes sense to me, although I'm not in love with having 'bandit' called as part of 'pep8' 17:24:48 browne: yeah, it seems so 17:24:55 ok cool 17:25:04 browne: thanks for taking it 17:25:09 allright, moving on from the Bandit show 17:25:12 #topic Anchor 17:25:15 dg_: tkelsey 17:25:16 i think we should propose this as cross project spec, then we can gather wider input on the tox env granularity 17:25:27 elmiko: I agree with that 17:25:31 sup guys 17:25:33 elmiko: good point 17:25:37 tkelsey anything to add on anchor 17:25:37 hey dg_ 17:25:51 not had much time to look into it recently 17:25:58 +1 17:26:03 i think anchor needs reviews. lots of patches in waiting 17:26:10 I know Stan has done some new stuff around PKCS11 backends 17:26:17 like global requirements 17:26:21 browne: +10 17:26:24 browne ok ok 17:26:28 will take a look 17:26:46 I have been trying to keep ontop of it, but im only one core, so we need more reviews badly 17:27:13 I've not been keeping on top of it, too busy with a couple of other things, will try and get caught up this week 17:27:26 dg_: +1 17:27:55 anything else on anchor? 17:28:02 I guess thats it for anchor at the moment then 17:28:15 then pkcs11 stuff is interesting though if people want to have a look :) 17:29:23 cool 17:29:26 #topic Syntribos 17:29:50 right, I don’t have too much this week 17:30:06 soo I just found out in the OSQA meeting that my tempest-lib stuff is probably never going to merge.. so I guess I'll try to draw up a spec at some point of how we might integrate them into Syntribos 17:30:21 we’re still making steady progress, there’s a few CR’s we could use some eyes on 17:30:30 don't know if that's something we want, but I'll do it anyway :P 17:30:58 yeah, I think that stuff could integrate pretty well with Syntribos’ data generators 17:31:24 michaelxin: do you have anything to say on syntribos? 17:32:06 yeah I've seen some patches flying around #openstack-security 17:32:35 alright, in anycase we’ve still got plenty of blueprints on launchpad, and we would love to see some contributions! 17:33:01 alright, that’s all Ive got for syntribos this week 17:33:03 cool 17:33:12 I'm skipping blog, I don't think we have much to say there 17:33:29 #topic OSSN 17:33:32 let's do a quick brush up 17:33:46 yea, i failed to get my blog post done :/ 17:33:54 does look like we have a new one 17:35:15 https://bugs.launchpad.net/ossn/+bug/1545789 17:35:15 Launchpad bug 1545789 in OpenStack Identity (keystone) "keystone ADMIN_TOKEN set by default can lead to default insecure deployment" [Medium,In progress] - Assigned to Adam Young (ayoung) 17:35:46 interesting, seems like an admin config issue 17:36:02 well, deployer 17:36:28 oh, but i think the keystoen documentation advises to disable admin token after bootstrapping 17:37:07 right 17:37:20 i mean, yea, don't leave your config file at default state 17:37:25 still since the impact is high we should probably do a note and refer to the keystone docs, yeah? 17:37:43 sure 17:37:52 doc for a doc 17:38:06 yup 17:38:11 definitely belongs in the security guide i think 17:38:17 if not already 17:38:27 yeah 17:38:39 +1 17:38:43 ok cool 17:39:20 we can probably just add an item here http://docs.openstack.org/security-guide/identity/checklist.html 17:39:35 yeah 17:39:36 sounds good 17:40:21 i can open a bug for the doc change 17:40:48 cool 17:40:51 speaking of... 17:40:58 #topic Sec Guide 17:41:26 sicarie around? 17:41:55 hello 17:42:37 Mostly moving on bugfixes now 17:42:43 there was one thing that popped up this morning 17:43:13 Around 3rd party applications and what could be construed as an endorsement 17:43:21 https://bugs.launchpad.net/openstack-manuals/+bug/1543249 17:43:21 Launchpad bug 1543249 in openstack-manuals "Product endorsement in Passwords in Security Guide" [Low,Incomplete] - Assigned to Xing Chen (chen-xing) 17:43:40 i'm curious to see if anyone from the doc team chimes in 17:43:42 I voiced my opinion in the bug, I'd appreciate other points of view 17:43:57 There would need to be a MASSIVE effort to clean the sec guide 17:44:23 ok, i'll add a remark on the bug. i pretty much agree with you sicarie, but didn't say anything 17:44:25 It's one thing I try to never do is write in a bias towards my own company (or let others sneak theirs in) 17:44:33 umm 17:44:44 so just take out the specific references to certain password managers? 17:44:57 Well, if we're doing it here, we should be consistent 17:45:09 SO I see this as an "everywhere" precedence setter 17:45:18 yea, but we are advising F/OSS tools, so no real bias there 17:45:22 +1 17:45:30 That's my rule of thumb 17:45:43 yeah 17:45:50 I'd go ahead and punt that if it was me 17:45:55 that's just a good security recommendation 17:46:01 use a password manager, for example xyz 17:46:06 right 17:46:09 Well if the Docs team has a standard, then it's pretty cut and dry 17:46:11 we added a link to keepassx 17:46:16 agreed 17:46:24 ok cool 17:46:28 anything else for the guide? 17:46:30 Nope 17:46:32 Oh 17:46:34 actually 17:46:36 let's fix this first 17:46:41 sicarie, i've been going to some of doc team meetings. maybe we should bring this up to them? 17:46:49 +1 17:46:52 k 17:47:08 elmiko: they're scheduled just right ot be either before i wake up or during my commute :( 17:47:19 Additionally, I'm probably going to pull the link for the Lulu book 17:47:32 sicarie: yea, it's either way too early or too late lol 17:47:33 ning: fix what? 17:47:35 There's no easy way to build a pdf the way the RST guides are structured 17:47:41 ouch... 17:47:50 dave-mccowan was just asking about the pdf yesterday 17:47:57 So until there is we can't build it to be able to push to lulu 17:48:06 fix this reference documentation 17:49:02 ning: are you saying we need to remove the reference, or figure out what the standard is? 17:49:39 yes, remove the reference from sec doc 17:49:42 ning: please comment in the bug - we welcome all points of view, even if it's against something already posted - I'd be very interested in the other side of that discussion 17:49:51 sicarie: +1 17:49:53 sicarie: +1 17:50:00 sure 17:50:03 Thanks! 17:50:08 ok I'm going to skip to ccneill's topic 17:50:11 then we can AOB at the end 17:50:13 #topic CORS 17:50:17 ccneill: what's up with this? 17:51:28 selectively break SOP sounds sketchy 17:51:33 guess I should read the full details 17:51:37 ccneill: what's your take? 17:52:40 um, CORS is good mmmk 17:52:48 =D 17:53:05 howdie 17:53:08 but COORS is bad... /me snickers 17:53:35 ahh ok 17:53:38 rickflare: still having the OSSP meeting. sahara is up in a few minutes ;) 17:53:51 I guess I should spend some time reading it 17:53:56 servers have to opt-in for CORS to allow anything that isn't already allowed under SOP 17:54:16 i'm not cure what ccneill wanted to talk about, but krotscheck_dr has been adding paste deploy patches to many projects to improve our coverage 17:54:24 s/cure/sure/ 17:55:16 Is the concern that projects will be enabling CORS blindly, without verifying origins? 17:55:20 singlethink: was there something else we needed to discuss here, i thought the patches for CORS were already underway for awhile now? 17:55:37 I'm sorry... I think I'm missing the context 17:55:42 (of previous meetings) 17:55:45 not sure, ccneill brought this up 17:55:59 tmcpeak: maybe table this topic for the next meeting? 17:56:05 yeah I should read this carefully before I have an opinion 17:56:07 we'll cover it next time 17:56:09 #topic AOB 17:56:11 open floor 17:57:01 i'm just not sure what ccneill wanted to discuss, we have been adding improved support for CORS, but it gets highly specific about what is talking to the servers, and how to implement the origin exceptions, etc... 17:57:57 yeah, let's give people time to read and we can have a proper discussion 17:58:00 I'm sure Rob will want to play too 17:58:05 +1 17:58:14 allright well I'm going to close it! 17:58:16 #endmeeting