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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM