Skip to content
This repository has been archived by the owner on Mar 30, 2023. It is now read-only.

Support TLS for Elasticsearch and Additional YAML for Kibana #187

Merged
merged 61 commits into from
Jul 11, 2018

Commits on Jul 4, 2018

  1. Update links

    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    4cd22fd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    530b602 View commit details
    Browse the repository at this point in the history
  3. Add support for HTTP and Transport layer encryption

    This commit adds support for securing HTTP and Transport layers with PKCS#12 archive certificates. This allows
    easier configuration for a cluster that has a commercial license.
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    fd91dbf View commit details
    Browse the repository at this point in the history
  4. update links

    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    d4cebf8 View commit details
    Browse the repository at this point in the history
  5. Add certificate verification mode

    This commit adds certificate verification mode for TLS for Http and Transport layer.
    Since a user can supply a certificate that would fail full verification mode, default to
    certificate mode.
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    fcf1c66 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3c9c96a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    129ef1e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    477b201 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    c8c9df1 View commit details
    Browse the repository at this point in the history
  10. Always echo cert password to openssl

    This commit always passes the password for a PKCS#12 archive cert to openssl, to convert
    to PEM format, even when the password is an empty string.
    
    Use the insecure flag when calling localhost over HTTPS with curl. Since the subject name in certificate
    used to secure the HTTP layer may not match host name localhost (it's likely to be tied to a public domain
    name), the --cacert flag for curl cannot be used.
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    f135795 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    c55bb77 View commit details
    Browse the repository at this point in the history
  12. Don't verify the Elasticsearch certificate for 5.2.0 and older

    This commit sets elasticsearch.ssl.verify: false for Kibana 5.2.0 and older. Kibana connects to
    Elasticsearch through an internal load balancer IP address which will likely fail verification which
    will also verify hostname, so disable verification by default for these versions.
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    1b354e2 View commit details
    Browse the repository at this point in the history
  13. Additional log messages

    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    1b55de6 View commit details
    Browse the repository at this point in the history
  14. Add details for Kibana cert and key format

    This commit adds detail to specify that the Kibana cert and key are in PEM format.
    Support PKCS#12 archive in future would be useful.
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    55720cb View commit details
    Browse the repository at this point in the history
  15. Pass parameters through parameters-file argument

    This commit updates integration tests to use the parameters-file argument to pass the
    parameters to azure cli. Since parameters can now contain base 64 encoded certificates,
    the input can be longer than the maximum characters allowed in Windows (8192).
    
    Add generated certificates for integration tests.
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    3953d3c View commit details
    Browse the repository at this point in the history
  16. Add --test parameter to filter integration tests

    This commit adds a --test parameter to be able to filter the integration
    tests that should be run. The parameter value is a regular expression string.
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    bf30f75 View commit details
    Browse the repository at this point in the history
  17. Update README

    Include additional parameters in README.
    Add notes for additional arguments for npm run test
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    529c200 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    6e41fee View commit details
    Browse the repository at this point in the history
  19. Pass cert when making requests in integration tests

    This commit adds the certificate CA to requests made in integration tests
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    f7febc6 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    f1e8790 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    d8a2a77 View commit details
    Browse the repository at this point in the history
  22. Whitelist indices starting with dot (.)

    This commit changes the integration test that tests the yaml configuration parameters
    to whitelist any indices starting with a dot; the .security index is too restrictive for the indices
    created by alerting/watcher.
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    5203535 View commit details
    Browse the repository at this point in the history
  23. Update links

    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    32f5e84 View commit details
    Browse the repository at this point in the history
  24. Tidy up scripts

    Move common paths to variables
    Remove superfluous quotes
    russcam committed Jul 4, 2018
    Configuration menu
    Copy the full SHA
    2bb958c View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2018

  1. Configure Application Gateway to work with TLS on backend pool

    This commit adds support for TLS from Application Gateway to the backend pool.
    Application Gateway communicates with the backend pool through the internal
    loadbalancer, and the public key(s) for certificate(s) used by the backend pool
    must be whitelisted by Application Gateway by providing these details to it.
    
    This means that for TLS on the HTTP layer in conjunction with Application Gateway,
    only the single esHttpCertBlob option can be supported.
    
    In the case of esHttpCaCertBlob which is used to generate a cert for HTTP layer
    for each VM/node in the cluster, the public keys for these certs cannot be
    automatically added to Application Gateway as part of deployment.
    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    8560e76 View commit details
    Browse the repository at this point in the history
  2. Pass Elasticsearch HTTP CA cert for Kibana configuration

    This commit passes the Elasticsearch HTTP CA cert to Kibana
    to configure TLS to Elasticsearch from Kibana. When a CA cert
    is provided, it is used to configure the certificate authority.
    
    The present of an Elasticsearch HTTP cert overrides the
    presence of a HTTP CA cert. That is, if a HTTP cert is provided,
    the certificate authority will be extracted from the PKCS#12 archive.
    If no CA cert is present, The verification mode for TLS with Elasticsearch
    will be set to none.
    
    Change owner of directory and files in /etc/elasticsearch/ssl
    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    8bc0b69 View commit details
    Browse the repository at this point in the history
  3. Always require a CA to generate Transport layer certs

    Use hostname and IP address SANs when generating certs
    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    62eb0f3 View commit details
    Browse the repository at this point in the history
  4. Move HTTP CA parameters outside of variable

    When HTTP CA password is an empty string, the value is incorrectly passed to certutil
    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    a933f47 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    feae8ed View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    66844c5 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9c71b35 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8762515 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f7029c1 View commit details
    Browse the repository at this point in the history
  10. require cert or CA when configuring TLS for HTTP layer

    This commit requires that a cert or CA are provided to set up TLS on
    the HTTP layer. When a cert is provided, it will take preference, and
    Kibana will be configured with certificate verification mode. The most likely
    use case for cert is to provide a cert for a CNAME pointing at the external
    loadbalancer public IP.
    
    When a CA is provided, HTTP certs are generated for each node, including the
    node DNS and IP as Subject Alternative Names, as well as the internal loadbalancer
    public IP as a Subject Alternative Name in the cert. Including the internal loadbalancer IP
    allows Kibana to be set to full verification mode when communicating internally. A client
    communicating through the external loadbalancer can verify certs provided against the CA.
    A client communicating through Application Gateway will use the cert configured for the
    Gateway.
    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    5f71218 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    f69a3a2 View commit details
    Browse the repository at this point in the history
  12. Extract clcert from HTTP CA

    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    99944a9 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    8b5afa0 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    71d0aaf View commit details
    Browse the repository at this point in the history
  15. Tidy up log messages

    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    f8522d9 View commit details
    Browse the repository at this point in the history
  16. Remove versions less than 5.3.x from the template

    This commit removes versions less than 5.3.x from the template.
    5.0.x and 5.1.x are now EOL and 5.2.x will be EOL end of July.
    
    5.2.x is removed now because Kibana Console does not work with self-signed
    certs; Kibana itself works, but not console, responding with
    
        Client request error: unable to verify the first certificate
    
    Closes #199
    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    30884fd View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    8b210cc View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    add8a34 View commit details
    Browse the repository at this point in the history
  19. Add new parameters to README

    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    890ecb9 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    3110267 View commit details
    Browse the repository at this point in the history
  21. Tidy up log messages

    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    e8df296 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    fd934d4 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    1d09203 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    f995ec4 View commit details
    Browse the repository at this point in the history
  25. Remove hostname verification in integration tests

    This commit removes the hostname verification check used
    by the node's request module. Since all certs used are self-signed,
    hostname verification will fail. Tests still verify the CA.
    russcam committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    35c3337 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2018

  1. Check certs are CAs

    russcam committed Jul 6, 2018
    Configuration menu
    Copy the full SHA
    48ffb41 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2d731ea View commit details
    Browse the repository at this point in the history
  3. Support --nodestroy parameter

    This commit adds a --nodestroy parameter that when passed,
    does not delete resource groups after integration tests
    russcam committed Jul 6, 2018
    Configuration menu
    Copy the full SHA
    bde3436 View commit details
    Browse the repository at this point in the history
  4. Update README

    russcam committed Jul 6, 2018
    Configuration menu
    Copy the full SHA
    5169972 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2018

  1. Rename appGatewayEsHttpCertPublicKey and associated properties

    This commit renames the mainTemplate appGatewayEsHttpCertPublicKey
    to simply appGatewayEsHttpCertBlob, to indicate that the parameter is the
    public key and should be provided Base-64 encoded.
    russcam committed Jul 10, 2018
    Configuration menu
    Copy the full SHA
    8736137 View commit details
    Browse the repository at this point in the history
  2. Address PR comments

    This commit addresses the PR comments to improve the descriptions
    for each of the parameters, and include a section on how to pass
    certificate related parameters.
    russcam committed Jul 10, 2018
    Configuration menu
    Copy the full SHA
    c954053 View commit details
    Browse the repository at this point in the history
  3. Address PR comments

    russcam committed Jul 10, 2018
    Configuration menu
    Copy the full SHA
    b2fd3c8 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2018

  1. Configuration menu
    Copy the full SHA
    45969c5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1433fd5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    baf4ce3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8ff135d View commit details
    Browse the repository at this point in the history
  5. Update links

    russcam committed Jul 11, 2018
    Configuration menu
    Copy the full SHA
    38daff3 View commit details
    Browse the repository at this point in the history