<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 04/26/2016 08:28 AM, Guangyu Suo
      wrote:<br>
    </div>
    <blockquote
cite="mid:CABWhNDbXUUnMFKHs_7evDmYR9LrW5fOcBvAnq00XWLK4HV1hnw@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hello, oslo team
        <div><br>
        </div>
        <div>For now, some sensitive options like password or token are
          configured as plaintext, anyone who has the priviledge to read
          the configure file can get the real password, this may be a
          security problem that can't be unacceptable for some people.</div>
        <div><br>
        </div>
        <div>So the first solution comes to my mind is to encrypt these
          options when configuring them and decrypt them when reading
          them in oslo.config. This is a bit like apache/openldap did,
          but the difference is these softwares do a salt hash to the
          password, this is a one-way encryption that can't be
          decrypted, these softwares can recognize the hashed value. But
          if we do this work in oslo.config, for example the
          admin_password in keystone_middleware section, we must feed
          the keystone with the plaintext password which will be hashed
          in keystone to compare with the stored hashed password, thus
          the encryped value in oslo.config must be decryped to
          plaintext. So we should encrypt these options using
          symmetrical or unsymmetrical method with a key, and put the
          key in a well secured place, and decrypt them using the same
          key when reading them.</div>
        <div><br>
        </div>
        <div>Of course, this feature should be default closed. Any
          ideas?</div>
      </div>
    </blockquote>
    <br>
    PKI.  Each service gets a client certificate that they use, signed
    by a selfsigned CA on the controller node, and uses the
    Tokenless/X509 Mapping in Keystone to identify itself.<br>
    <br>
    Do not try to build a crypto system around passwords.  None of us
    are qualified to do that.<br>
    <br>
    We should be able to kill explicit service users and use X509 any
    way.<br>
    <br>
    Kerberos would work, too, for deployments that prefer that form of
    Authentication.  We can document this, but do not need to implement.<br>
    <br>
    Certmonger can manage the certificates for us.<br>
    <br>
    Anchor can act as the CA for deployments that want something more
    than selfsigned, but don't want to go with a full CA.<br>
    <br>
    <blockquote
cite="mid:CABWhNDbXUUnMFKHs_7evDmYR9LrW5fOcBvAnq00XWLK4HV1hnw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>