• Elasticsearch7.10 Security官网属性学习


    ElasticSearch7.10 Security

    再官网的指导下,我们一起看看怎么配置密码、TLS/SSL等安全操作。

    一、Security settings in Elasticsearch(x-pack)

    默认安装时,Elasticsearch 的安全特性是被禁用的,你只有基本的或者试用的证书。为了能够试用安全特性,需要配置xpack.security.enabled 属性。

    进入config目录,编辑elasticsearch.yml文件,下面都是通常的安全设置:

    1. General security settings

    xpack.security.enabled

    默认为false,没有开启;设置为ture,Elasticsearch在这个节点上就有了安全特性。

    • 若为false,默认使用基本且试用的证书,安全特性被禁用。它也能影响所有的Kibana实例去连接这个Elasticsearch实例;你不需要去禁用在kibana.yml文件中的安全特性。如果要了解更多去禁用在指定的Kibana 实例正的安全特性,可以看Kibana security settings: https://www.elastic.co/guide/en/kibana/7.10/security-settings-kb.html

    xpack.security.hide_settings

    定义一个逗号分隔的配置清单,过滤掉从集群节点信息API的结果。也可以使用通配符去设置包含多个配置的清单,如下:

    xpack.security.authc.realms.active_directory.ad1.*.
    

    由于信息的敏感性,这个API过滤掉所有的ssl、bind_dn、bind_password

    xpack.security.fips_mode.enabled

    默认false。fips操作启动模式,若在FIPS 140-2 JVM中启动,则需要设置为true。

    2.Password hashing settings

    指定用于安全用户凭据存储的散列算法。默认bcrypt进行加密。

    • bcrypt特点
      • 米一次HASH出来的值不一样
      • 计算非常缓慢
        对于攻击者来说,需要不断计算,让攻击变得不太可能。

    进一步了解:
    https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#password-hashing-algorithms

    3.Anonymous access settings

    可以在elasticsearch.yml中根据以下的匿名访问配置。更多详情访问:

    https://www.elastic.co/guide/en/elasticsearch/reference/current/anonymous-access.html

    xpack.security.authc.aonymous.username

    匿名用户的姓名默认 _es_anonymous_user。更多详情访问:

    xpack.security.authc.anonymous.roles

    要与匿名用户关联角色。是必须的。

    xpack.security.authc.anonymous.acthz_exception

    默认值为false

    • ture
      如果匿名用户没有请求操作的适当权限,则返回HTTP 403响应,且不会提示用户提供凭证来访问所请求的资源。
    • false
      将返回一个HttP 401响应,用户可以提供具有适当权限的凭据以获得访问权限。

    4.Token service settings

    xpack.security.authc.token.enabled

    设置为false以禁用内置的token 服务。默认为ture,除非xpack.security.http.ssl.enabled 为false,没有启动。这可以防止通过一个http连接获取toekn。

    xpack.security.authc.token.timeout

    这个token有效时间长度。默认值为20m或者20 minutes 。这个最大值为1个小时。

    HTTPP TLS/SSL settings

    来到了重点。当xpack.security.enabled为true之后。http连接,可以设置TLS/SSL.

    xpack.security.http.ssl.enabled

    默认为false。设置ture,开启TLS/SSL安全连接。

    xpack.security.http.ssl.supported_protocols

    支持版本协议。

    • 有效的协议:SSLv2Hello, SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3
    • 如果JVM的SSL支持TLSv1.3, 默认TLSv1.3,TLSv1.2,TLSv1.1
    • JVN不支持TLSv1.3,默认TLSv1.2,TLSv1.1

    ** 注意
    如果xpack.security.fips_mode.enabled 为true,你必须使用SSLv2Hello 或者SSLv3

    xpack.security.http.ssl.client_authentication

    控制服务器从客户端连接请求证书的行为。有效值是required,optional,none

    • required
      强制一个客户端提供证书
    • optional
      要求客户端证书,但不要求客户端提供证书。
    • none

    xpack.security.http.ssl.cipher_suites

    所支持的密码组取决于你使用java的版本。例如,对于版本12,默认值为:

    TLS_AES_256_GCM_SHA384, TLS_AES_128_GCM_SHA256, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA
    

    更多信息:
    https://docs.oracle.com/en/java/javase/11/security/oracle-providers.html#GUID-7093246A-31A3-4304-AC5F-5FB6400405E2

    5.Java keystore files

    当使用Java 密钥存储库文件时,其中包含私钥,证书和受信任的证书,使用如下的设置

    xpack.security.http.ssl.keystore.path

    包含私钥和证书的密钥存储库的路径。

    它必须也是一个Java密钥存储库或者PKCS#12的文件。如elastic-statck-ca.p12。在同时使用这个配置和ss1.key

    xpack.security.http.ssl.keystore.password

    密钥存储库的密码

    xpack.security.http.ssl.keystore.secure_password

    密钥存储库的密码。

    在elasticsearch的bin目录下:

    ./elasticsearch-keystore add xpack.security.http.ssl.keystore.secure_password
    

    可以设置密码

    xpack.security.http.ssl.keystore.secure_key_password

    密钥存储库的面膜,默认时这个密钥库的密码

    xpack.security.http.ssl.truststore.path

    包含可信任证书的密钥存储库的路径。它必须也是一个Java 密钥存储库或者PKCS#12文件。

    你不能同时使用这个设置和ssl.certificate_authorities

    xpack.security.http.ssl.truststore.password

    可信任库的密码。

    你不能同时使用这个设置和ssl.trustore.secure_password

    xpack.security.http.ssl.truststore.secure_password

    信任库的密码

    xpack.security.http.ssl.truststore.

    弯弯月亮,只为美好的自己。
  • 相关阅读:
    ORA-00600: internal error code, arguments: [kgl-no-mutex-held]
    MongoDB3.4版本配置详解
    java.lang.CharSequence cannot be resolved
    truncate表恢复
    ERROR 1045 (28000): Access denied for user 'mycat'@'localhost' (using password: YES)
    安装mysql-python
    pip virtualenv requirements
    mapreduce on yarn简单内存分配解释
    tez参数
    jstat命令的使用及VM Thread分析
  • 原文地址:https://www.cnblogs.com/Choleen/p/14182040.html
Copyright © 2020-2023  润新知