Re: DNS takeover
adrian.kurt@...
Hi Dan
Correct, it's exactly that case I'm talking about. If a DNS record pointing to a public CF cloud is not cleaned up properly an attacker can then take over that domain without any issues.
My idea would be to add a feature (which can be enabled on public CF offerings) that would verify the ownership of a domain using a TXT record. Of course you don't need that on private CF installations. There this step would be rather annoying.
Kind regards Adrian
From: cf-dev@... [mailto:cf-dev@...]
On Behalf Of Daniel Mikusa
Sent: Donnerstag, 26. Juli 2018 14:55 To: CF Developers Mailing List <cf-dev@...> Subject: Re: [cf-dev] DNS takeover
I'm curious, how do you think this attack could be applied to CF (unless you're sitting on an actual attack, then don't post in here publicly and notify the security team)?
CF isn't performing DNS management. I can add any domain I want using `cf create-domain` or `cf create-shared-domain` (ex: `cf create-shared-domain google.com`), but unless there are wildcard DNS records, set up externally, for that domain pointing to the LB for my CF installation, I can't do anything with that domain (you technically can use it within CF, but no traffic will route to CF).
The only case where I could see this happening is if someone used a public CF provider, like PWS or Bluemix, then stopped using it but didn't clean up their DNS. At that point, the DNS would be pointing to the public provider, but if the user deleted their account, including the org & custom domain, then the domain would not be in use. I think (haven't tested) CF would permit some other user to add the domain to their account & deploy apps using that domain.
Dan
On Thu, Jul 26, 2018 at 2:23 AM, <adrian.kurt@...> wrote:
|
|
Re: DNS takeover
Daniel Mikusa
I'm curious, how do you think this attack could be applied to CF (unless you're sitting on an actual attack, then don't post in here publicly and notify the security team)? CF isn't performing DNS management. I can add any domain I want using `cf create-domain` or `cf create-shared-domain` (ex: `cf create-shared-domain google.com`), but unless there are wildcard DNS records, set up externally, for that domain pointing to the LB for my CF installation, I can't do anything with that domain (you technically can use it within CF, but no traffic will route to CF). The only case where I could see this happening is if someone used a public CF provider, like PWS or Bluemix, then stopped using it but didn't clean up their DNS. At that point, the DNS would be pointing to the public provider, but if the user deleted their account, including the org & custom domain, then the domain would not be in use. I think (haven't tested) CF would permit some other user to add the domain to their account & deploy apps using that domain. Dan
On Thu, Jul 26, 2018 at 2:23 AM, <adrian.kurt@...> wrote:
|
|
DNS takeover
adrian.kurt@...
Hi
I just stumbled on an article about DNS takeover attacks (https://thehackerblog.com/the-orphaned-internet-taking-over-120k-domains-via-a-dns-vulnerability-in-aws-google-cloud-rackspace-and-digital-ocean/index-2.html). Are there any plans to add features to CF that would prevent this? E.g. do some txt DNS entry to verify the ownership of a domain on creation of new domains in CF.
Kind regards Adrian
|
|
Re: Add support for multiple Credhubs to CF/Diego
Dr Nic Williams <drnicwilliams@...>
To confirm: no better/nicer UX implementation will be provided to developers than for them to author bespoke service brokers to inject secrets into credhub and have client apps have to parse them out of VCAP_SERVICE?
From: 30501346560n behalf of
Sent: Thursday, July 26, 2018 3:52 pm To: cf-dev@... Cc: emalm@... Subject: Re: [cf-dev] Add support for multiple Credhubs to CF/Diego Nic,
> Will we be enabling developers to store secrets (or secrets setup by their organization) that are loaded by Diego like currently exists only for service bindings?
I guess this is already possible with the PCF Credhub Service Broker: https://content.pivotal.io/blog/need-to-secure-credentials-for-off-platform-services-in-pcf-try-the-credhub-service-broker-now-in-beta-we-take-an-inside-look
-Matthias
2018-07-26 7:48 GMT+02:00 Dr Nic Williams
<drnicwilliams@...>:
|
|
Re: Add support for multiple Credhubs to CF/Diego
Matthias Winzeler
Nic, > Will we be enabling developers to store secrets (or secrets setup by their organization) that are loaded by Diego like currently exists only for service bindings? I guess this is already possible with the PCF Credhub Service Broker: https://content.pivotal.io/blog/need-to-secure-credentials-for-off-platform-services-in-pcf-try-the-credhub-service-broker-now-in-beta-we-take-an-inside-look -Matthias 2018-07-26 7:48 GMT+02:00 Dr Nic Williams <drnicwilliams@...>:
--
|
|
Re: Add support for multiple Credhubs to CF/Diego
Dr Nic Williams <drnicwilliams@...>
Will we be making credhub indirectly available to developers so they can populate secret variables for use with their manifest?
Currently if a developer wants secrets passed they need to store them locally/local env vars, and pass them via cf push —var or —var-file.
Will we be enabling developers to store secrets (or secrets setup by their organization) that are loaded by Diego like currently exists only for service bindings?
Nic
From: 30111273100n behalf of
Sent: Thursday, July 26, 2018 3:39 pm To: cf-dev@... Cc: emalm@... Subject: Re: [cf-dev] Add support for multiple Credhubs to CF/Diego Hi all
Currently, the CF ecosystem supports two deployment architectures of Credhub (https://docs.cloudfoundry.org/credhub/#deployment-architecture ):
However, we have two use cases that would profit if we could add support for CF/Diego so that it can interpolate credentials also from a different credhub url, which could for example be passed as part of the service binding/VCAP_SERVICES.
I already reached out on the #credhub Slack (https://cloudfoundry.slack.com/archives/C3EN0BFC0/p1531942967000203) and on the Diego repo (https://github.com/cloudfoundry/diego-release/issues/401). However, I was told to reach out on a more generic channel since this is a cross-cutting concern.
What do you think? Is multiple Credhub something that CF could profit in the future? If yes, we’re happy to provide a PR (see implementation suggestions in the Diego issue). CCed Erich as the PM of Diego.
Best regards Matthias
Matthias Winzeler Application Cloud https://developer.swisscom.com ___________________________________________________________________________ matthias.winzeler@...
|
|
Re: Add support for multiple Credhubs to CF/Diego
matthias.winzeler@...
Hi all
Currently, the CF ecosystem supports two deployment architectures of Credhub (https://docs.cloudfoundry.org/credhub/#deployment-architecture ):
However, we have two use cases that would profit if we could add support for CF/Diego so that it can interpolate credentials also from a different credhub url, which could for example be passed as part of the service binding/VCAP_SERVICES.
I already reached out on the #credhub Slack (https://cloudfoundry.slack.com/archives/C3EN0BFC0/p1531942967000203) and on the Diego repo (https://github.com/cloudfoundry/diego-release/issues/401). However, I was told to reach out on a more generic channel since this is a cross-cutting concern.
What do you think? Is multiple Credhub something that CF could profit in the future? If yes, we’re happy to provide a PR (see implementation suggestions in the Diego issue). CCed Erich as the PM of Diego.
Best regards Matthias
Matthias Winzeler Application Cloud https://developer.swisscom.com ___________________________________________________________________________ matthias.winzeler@...
|
|
Proposal: Improving Security for HTTP Ingress to CFAR Application Containers
Eric Malm <emalm@...>
Hi, everyone, Building on the features and technologies the CF Diego and Routing teams have introduced into the CF App Runtime to improve application routing consistency, security, and stability (https://lists.cloudfoundry.org/g/cf-dev/topic/11900235#7744, which we have often called "route integrity"), the Diego team intends to make it possible for platform operators to opt into improving the security of how traffic ingresses into application containers. In particular, operators would be able to opt into ensuring that only CF system components, or even only the gorouter HTTP routers, would be able to connect to application containers from the infrastructure-provided network. The full proposal document is available at https://docs.google.com/document/d/1DjapCLbdgGBmpuWt2P2PV-qm_vUwI_9IZHae9TbN_Pw/edit, and we welcome your comments and questions on the document or on this mailing list thread. Some areas on which we would particularly like community feedback: - This secured configuration would initially be incompatible with CF SSH, and would likely never be compatible with TCP routing, as the Routing team has focused its efforts on replacing both the Gorouter and the TCP routers with Istio-configured gateway Envoy proxies. Would those incompatibilities prohibit you as platform operators from opting into this improved security in environments where you would particularly like to enforce it? - As part of enforcing this more secure configuration, the Diego cell components no longer map ports on their host VM directly to application ports inside the container. Each app instance currently receives the value of its host-side port in its CF_INSTANCE_PORT environment variable, though, and it is also exposed in the response from CC's app stats endpoint. For a variety of reasons (primarily the general availability of container networking and default app-security-group policies), we expect that these values are no longer useful for applications, and so we would like to deprecate them as part of this work and not to supply them in this optional, more secure configuration. Before we do so, we would like to know whether your applications, libraries, or other CF-related tools currently use this information and, if so, to what end. Thanks, Eric Malm, for the CF Diego team
|
|
Re: Variable Substitution in manifest.yml #
Lingesh Mouleeshwaran
Hello Karthi, Even we also get rid of all secrets managed in *.yml file and moved all secrets to the vault, and we have the simple jar which embedded into spring/spring boot war. For Example, below entry sufficient for any web application in manifest.yml, and we have made it vault orphan token lifetime which having 10 years tenure. env: JAVA_OPTS: -Dspring.application.name="<<Vault secret path>>" -Dspring.cloud.vault.token=000-000-00000000-00 Spring dependency entry : Below entries required for any web application to embed your vault client jar. <dependency> <groupId>com.config.vault</groupId> <artifactId>vault-java</artifactId> <version>1.0.0</version> </dependency> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:/spring-vault-conf.xml //this file will have details about your propertyplaceholder logic </param-value> </context-param> Your vault client can be the child of class PropertyPlaceholderConfigurer and you can override below method to read from the vault and populate to system ENVs /** * {@inheritDoc} * * @throws IOException */ protected void loadProperties(Properties properties) throws IOException { super.loadProperties(properties.putAll(vaultResource.read())); } Hope this gives you some context what you're looking, additional even if go via Jenkins/Travis services, still, secrets are exposed to an environment variable, anyone can able to look the secrets via cf env. Regards Lingesh M
On Tue, Jul 24, 2018 at 2:29 PM, <kvemula15@...> wrote: Hi Nic,Thank you for confirming me.Can you point me to any examples /links on web of how it could be done in CI like in jenkins world for file creation that you were talking of.
|
|
Re: Variable Substitution in manifest.yml #
kvemula15@...
Hi Nic,Thank you for confirming me.Can you point me to any examples /links on web of how it could be done in CI like in jenkins world for file creation that you were talking of. Rgds, Karthik.
|
|
Feature Narrative - Configure egress policies dynamically
Preethi Varambally
Hello, The CF container networking team has received feedback from users regarding some pain points around using Application Security Groups (ASGs) for defining egress policies. After much research, we have defined a set of short, mid and long term goals to address the issues at hand. If you have experience using ASGs and have thoughts on it, please feel free to comment on the doc and perhaps also answer some of the open questions we have at the bottom of the document. Thank you, CF Container Networking Team
|
|
Re: Variable Substitution in manifest.yml #
Dr Nic Williams <drnicwilliams@...>
Yes that sounds right - or if you’re deploying in CI then your CI pipeline would create the vars.yml file for each diff target/stage.
Nic
From: 30111352660n behalf of
Sent: Tuesday, July 24, 2018 5:36 am To: cf-dev@... Subject: Re: [cf-dev] Variable Substitution in manifest.yml # If the CF CLI doesn't support environment variables, It would be really wonderful if the file would consider environment variables. It would be more in line with the 12 factor manifesto, it would discourage people from keeping secrets in `yml`
files unencrypted on disk. It would also be easier to use than creating a config file. That way people can source the env variable from features in the CI services like Travis env to encrypt variables, or they could be resolved by looking up the value from
something like Hashicorp Vault, all through simple environment variable use. No odd code required to write data to a `.yml` file required.
On Mon, Jul 23, 2018 at 10:40 AM <kvemula15@...> wrote:
Hi CF Team,
|
|
Re: Variable Substitution in manifest.yml #
If the CF CLI doesn't support environment variables, It would be really wonderful if the file would consider environment variables. It would be more in line with the 12 factor manifesto, it would discourage people from keeping secrets in `yml` files unencrypted on disk. It would also be easier to use than creating a config file. That way people can source the env variable from features in the CI services like Travis env to encrypt variables, or they could be resolved by looking up the value from something like Hashicorp Vault, all through simple environment variable use. No odd code required to write data to a `.yml` file required.
On Mon, Jul 23, 2018 at 10:40 AM <kvemula15@...> wrote: Hi CF Team,
|
|
Variable Substitution in manifest.yml #
kvemula15@...
Hi CF Team,
I was exploring on variable substitution in manifest.yml : https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html#variable-substitution I see there is a vars.yml that can be used to specify the values of app manifest. Now if i have various environments like Dev, stage , prod for say then do i have to create three different vars.yml files for each environment like var-dev.yml, var-stage.yml and var-prod.yml anr read values from there during cf push? Appreciate your leads and advice on this. Rgds, Karthik.
|
|
Re: Unconference at CF Summit Basel 2018
Dr Nic Williams <drnicwilliams@...>
Thanks for putting the time into another unconference. I'm working on a book about the UAA; hopefully its done by the conf. Since the UAA is delightfully invisible to most people, I'd love to do 5-10 mins intro on why its interesting, how to deploy, and how to learn more. Nic
On Mon, Jul 23, 2018 at 9:36 PM Daniel Jones <daniel.jones@...> wrote:
--
|
|
Unconference at CF Summit Basel 2018
Daniel Jones
Hi all, We're pleased to confirm that there'll be an Unconference at Basel again this year at 6pm on Tuesday 9th October. We're planning on the same rough schedule as last year, so talks interspersed with open space sessions, topped off by something fun at the end. Oh, plus free food and beer. Things we need from y'all:
If you'd like to give a talk, please reply to me, Sara Lenz and Ivana Scott (CC'd). Regards, Daniel 'Deejay' Jones - CTO +44 (0)79 8000 9153
|
|
Re: [CAUTION] Re: [cf-dev] Proposed BOSH logging interface
Jesse T. Alford
We haven't done anything beyond proposing the interface and implementing the option to respect permissions. Since the time of this proposal, BPM has implemented a feature that should allow us to run Blackbox in it, mounting the logs directory as read-only. We haven't tried it yet. Assuming it works, this would also reduce our concerns about running blackbox with read access to the entire file system. Regarding your other feedback about what should go in the tags or structured data, we've not formally taken any of that on board; development of syslog-release is currently paused. I'd suggest putting these things up as issues on the syslog-release repo; awareness of those is more likely to be durable enough to remain visible until such time as there's a team on this.
On Wed, Jul 4, 2018 at 4:32 AM Voelz, Marco <marco.voelz@...> wrote:
|
|
Re: cf-deployment 3.0
Josh Collins
Thanks Geoff, Marco, Chip, Jesse, Bernd, and David for sharing your feedback and thoughts. You’ve expressed valid concerns and provided valuable context that I take to heart. I really appreciate the time and effort required for meaningful dialogue about the impacts of the proposed release cadence. While the RelInt team's primary goal remains supporting the CF Foundation engineering teams and their ability to validate their commits in CI, your points underscore a tension we’re acutely aware of. We’re trying to meet the needs of both the CFF Contributor and Operator and the ‘trick’ is to find a sustainable balance between the two. However, on occasions where we must prioritize one over the other we’re going to favor the CFF Contributor. I mentioned this earlier, but it’s worth restating that the RelInt team doesn’t have any plans provide LTS support and as Chip and Jesse pointed out that has traditionally been a value-added service provided by commercial vendors. In the spirit of iteration, I’d like to propose we proceed with the release cadence I originally outlined and see how it goes. Again, thank you for providing such valuable feedback. Cheers, Josh Collins _Current_ PM of CF Release Integration
|
|
Re: cf-deployment 3.0
Jesse T. Alford
Another point: most (certainly not all, but most) CVEs are stemcell, buildpack, or rootfs bumps that can be consumed safely/have minimal integration concerns. Even those that are in more substantive releases, such as routing and UAA, can be bumped-ahead fairly easily with a manual edit or an ops file, and are often fairly safe iterations over the releases that came before them, though it can be admittedly hard to tell. If, somewhere along the spectrum of risk and difficulty I just described, the risk becomes too great for you to feel safe going straight to prod without relint's blessing, I recommend you test them first. If testing these adjustments to your particular environment is too burdensome, well, yes, it does become so, doesn't it? Maintaining a whole passel of integration environments is a significant engineering and infrastructure burden, but happily it is one you can pay commercial integrators to shoulder for you.
On Wed, Jul 18, 2018 at 2:46 PM David Sabeti <dsabeti@...> wrote:
|
|
Re: cf-deployment 3.0
David Sabeti
As the previous project lead for RelInt, I want to speak to Marco's concerns directly. We _definitely_ considered the operator as an important persona during any decision-making; if anything, we were overcommitted to that persona, evidenced by the fact that we became at times an obstacle to CFF dev teams out of fear of making a breaking changes for operators. There's clearly some concern that operators won't be able to keep up with breaking changes. However, one impact of making breaking changes more frequently -- and, even better, on a schedule -- is to reduce the difficulty of adapting to them. To build a bit on what Josh said earlier in his example about cf-networking 2.0, as we pushed off releasing a major version of cf-deployment, more backwards-incompatible updates were stockpiled in the backlog. In the end, cf-deployment 2.0 included **seven** breaking changes instead of merely one or two. To link this back to Marco's story -- "As an operator of CF, I'd like to consume CVE fixes with as little changes to my existing installation as possible, such that I close known vulnerabilities as soon as possible" -- this is already a problem with cf-deployment. As others have mentioned, there's no back-porting of cf-deployment after major version bumps, so operators already have to accommodate breaking changes in order to get CVE fixes. I understand that the proposal means that this happens more often, but it also means that major version bumps will be more predictable and less risky.[0] Sabeti Also _formerly_ of the RelInt team [0] Bernd has an interesting point about providing patch updates only to the latest release of cf-deployment, as a way to provide operators with a CVE-fix-only release. Providing such releases is also non-trivial work that I'm not sure the RelInt team would prioritize. Also, RelInt ships minor releases twice per week, so the changesets are typically small. Still, it seems a bit more palatable than any kind of LTS because it assists operators in living up to the "you better run fast."
On Wed, Jul 18, 2018 at 10:59 AM Krannich, Bernd <bernd.krannich@...> wrote:
|
|