Elástico: Inicio https acceso a Elasticsearch

En el artículo de hoy, vamos a describir cómo hacer que nuestra Elasticsearch iniciar los servicios https. En muchos casos esto es muy útil. Particularmente en el área de seguridad elástico SIEM, tenemos que ser Elasticsearch visita https acceso, así que hacer nuestros datos más seguro y confiable.

 

Instalación elástico Pila

En primer lugar, podemos seguir el artículo anterior " : el novato elástico Guía de inicio para instalar Elasticsearch y Kibana". Una vez que instalamos Elasticsearch y Kibana, estábamos en localhost: 9200 y localhost: 5601 para ver la salida que queremos:

 

Para activar la seguridad Elasticsearch

Podemos seguir mi artículo anterior " : configuración de seguridad cuenta elásticas Elasticsearch para determinar la seguridad para nuestra Elasticsearch". No podemos crear nuevos usuarios, sólo tiene que utilizar el super usuario por defecto elástica.

Una vez que establecer los ajustes anteriores, cuando comenzamos Kibana Nos obliga a introducir un nombre de usuario y contraseña para iniciar sesión. Si usted ha visto la imagen de arriba, significa que nuestros ajustes de la cuenta de seguridad han tenido éxito.

 

certificado de producción P12

Podemos referirnos a enlace " los Certificados Generar ", en el directorio de instalación Elasticsearch, utilice el siguiente comando:

./bin/elasticsearch-certutil ca
$ pwd
/Users/liuxg/elastic9/elasticsearch-7.6.0
liuxg:elasticsearch-7.6.0 liuxg$ ./bin/elasticsearch-certutil ca
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.bouncycastle.jcajce.provider.drbg.DRBG (file:/Users/liuxg/elastic9/elasticsearch-7.6.0/lib/tools/security-cli/bcprov-jdk15on-1.61.jar) to constructor sun.security.provider.Sun()
WARNING: Please consider reporting this to the maintainers of org.bouncycastle.jcajce.provider.drbg.DRBG
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
This tool assists you in the generation of X.509 certificates and certificate
signing requests for use with SSL/TLS in the Elastic stack.

The 'ca' mode generates a new 'certificate authority'
This will create a new X.509 certificate and private key that can be used
to sign certificate when running in 'cert' mode.

Use the 'ca-dn' option if you wish to configure the 'distinguished name'
of the certificate authority

By default the 'ca' mode produces a single PKCS#12 output file which holds:
    * The CA certificate
    * The CA's private key

If you elect to generate PEM format certificates (the -pem option), then the output will
be a zip file containing individual files for the CA certificate and private key

Please enter the desired output file [elastic-stack-ca.p12]: 
Enter password for elastic-stack-ca.p12 : 

En lo anterior se acepta el nombre de archivo predeterminado, e introduzca una contraseña conocida (por mi caso, acepto vacío). Nosotros en el directorio de instalación Elasticsearch, podemos ver un archivo de certificado de producción:

$ ls
LICENSE.txt          config               lib
NOTICE.txt           data                 logs
README.asciidoc      elastic-stack-ca.p12 modules
bin                  jdk.app              plugins

A continuación, ejecute el siguiente comando para generar un certificado:

bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

El comando anterior utilizar nuestro CA para generar un certificado de tipo elástico certificates.p12:

$ pwd
/Users/liuxg/elastic9/elasticsearch-7.6.0
liuxg:elasticsearch-7.6.0 liuxg$ ls
LICENSE.txt              data                     logs
NOTICE.txt               elastic-certificates.p12 modules
README.asciidoc          elastic-stack-ca.p12     plugins
bin                      jdk.app
config                   lib

Ponemos el anterior certificado de tipo elástico certificates.p12 copiar en el subdirectorio config en el directorio de instalación Elasticsearch.

$ pwd
/Users/liuxg/elastic9/elasticsearch-7.6.0
liuxg:elasticsearch-7.6.0 liuxg$ ls config/
elastic-certificates.p12 jvm.options              roles.yml
elasticsearch.keystore   log4j2.properties        users
elasticsearch.yml        role_mapping.yml         users_roles

 

Nosotros usamos el siguiente comando:

openssl pkcs12 -in elastic-stack-ca.p12 -out newfile.crt.pem -clcerts -nokeys

Se generará un archivo llamado newfile.crt.pem. Nos copyed este archivo en el subdirectorio config del directorio de instalación Kibana:

$ pwd
/Users/liuxg/elastic9/kibana-7.6.0-darwin-x86_64
liuxg:kibana-7.6.0-darwin-x86_64 liuxg$ ls config/
apm.js                   kibana.yml
elastic-certificates.p12 newfile.crt.pem

 

configuración Elasticsearch

A continuación la configuración Elasticsearch en el config / elasticsearch.yml. Nos referimos documentos oficiales elásticas " de cifrado de la comunicación en elasticsearch ", se añade la siguiente configuración:

xpack.security.transport.ssl.enabled: true
xpack.security.http.ssl.enabled: true
xpack.security.authc.api_key.enabled: true
xpack.security.http.ssl.keystore.path: /Users/liuxg/elastic9/elasticsearch-7.6.0/config/elastic-certificates.p12
xpack.security.http.ssl.truststore.path: /Users/liuxg/elastic9/elasticsearch-7.6.0/config/elastic-certificates.p12

Reiniciamos Elasticsearch:

./bin/elasticsearch

Por lo que nuestra Elasticsearch han ejecutado correctamente en modo https. Entramos en la dirección en el cromo HTTPS: // localhost: 9200 , podemos ver:

Está claro que ya no podemos acceder a la dirección local del 9200 como antes. Cuando aparece la pantalla de arriba, que entran en la cadena siguiente (en el caso del cromo ventana actual):

thissisunsafe

Nos Elasticsearch en elástica y una contraseña antes de que nos propusimos, a continuación, haga clic en el " firmar un A ":

 

Podemos ver de lo anterior, la hora correcta nuestra instalación Elasticsearch.

También podemos utilizar el navegador Safari para abrir:

Hacemos clic en el Mostrar detalles de la tecla:

Haga clic en nuestra visita a este sitio web enlace:

Como el anterior, antes de entrar en el usuario al crear el nombre de cuenta y la contraseña de seguridad elástica, entonces podemos acceder Elasticsearch:

Si utilizamos cartero, podemos hacer la siguiente configuración a través de la "Configuración" en el certificado de control que deben evitarse:

 

 

Apagamos el interruptor en la parte superior de la verificación del certificado SSL:

Después de los ajustes anteriores, podemos acceder Elasticsearch tiene https en el cartero. Cartero en la forma de acceso Elasticsearch, por favor refiérase a mi artículo anterior " elástico: el uso del cartero para acceder a la pila elástico ".

 

colocado Kibana

Con el fin de hacer que nuestra Kibana capaz de acceder con éxito el Elasticsearch con https. También tenemos que hacer la configuración apropiada. Abrimos la config / kibana.yml. Agregue la siguiente configuración:

elasticsearch.hosts: ["https://localhost:9200"]
elasticsearch.ssl.certificateAuthorities: ["/Users/liuxg/elastic9/kibana-7.6.0-darwin-x86_64/config/newfile.crt.pem"]
elasticsearch.ssl.verificationMode: none

Nos ponemos en la parte superior de newfile.crt.pem certificado generado previamente lleno hasta el tope de la vía, y con el fin de que podamos acceder fácilmente, que no permitirá verificationMode para Kibana.

Cuando terminamos la configuración, reiniciamos Kibana:

Entramos en la contraseña del usuario elástica, podemos entrar en Kibana la interfaz:

En lo anterior podemos ver que hemos entrado con éxito en Kibana de la interfaz.

 

Supera los datos entrantes a https en el Elasticsearch

Desde la introducción de https, entonces, ¿cómo ponemos nuestros datos entrante a Elasticsearch en ella? Al importar datos, tenemos que configurar el certificado a los latidos del archivo de configuración. Tenemos que filebeat ejemplo. Nos directorio de instalación Elasticsearch, introduzca el siguiente comando:

bin/elasticsearch-certutil cert --pem elastic-stack-ca.p12

El comando anterior generará llamado archivo "certificate-bundle.zip".

$ pwd
/Users/liuxg/elastic9/elasticsearch-7.6.0
liuxg:elasticsearch-7.6.0 liuxg$ ls
LICENSE.txt            certificate-bundle.zip lib
NOTICE.txt             config                 logs
README.asciidoc        data                   modules
bin                    jdk.app                plugins

Podemos poner un descomprimir el archivo y poner dentro de ca.crt para extraer subdirectorio de instalación filebeat.

método uno

Abrir el perfil filebeat.yml filebeat, y añadir la información del certificado:

filebeat.yml

output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["localhost:9200"]

  # Protocol - either `http` (default) or `https`.
  protocol: "https"

  # Authentication credentials - either API key or username/password.
  #api_key: "id:api_key"
  username: "elastic"
  password: "123456"
  ssl.certificate_authorities: ["/Users/liuxg/elastic9/filebeat-7.6.0-darwin-x86_64/ca.crt"]
  ssl.verification_mode: none

En lo anterior, es necesario que introduzca su nombre de usuario y contraseña, así como la necesidad de sustituir la ruta por encima de su ruta de certificación.

Segundo método

También podemos producir su propio certificado con el siguiente comando. Nosotros en el directorio de instalación Elasticsearch, en el elástico-stack-ca.p12 anterior premisa se ha generado, ejecute el siguiente comando:

openssl pkcs12 -in elastic-stack-ca.p12 -out newfile.crt.pem -clcerts -nokeys

El comando anterior generará un archivo llamado newfile.crt.pem de. Copiamos el archivo en el directorio de instalación filebeat y modificamos nuestra filebeat.yml de la siguiente manera:

output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["localhost:9200"]

  # Protocol - either `http` (default) or `https`.
  protocol: "https"

  # Authentication credentials - either API key or username/password.
  #api_key: "id:api_key"
  username: "elastic"
  password: "123456"
  ssl.certificate_authorities: ["/Users/liuxg/elastic9/filebeat-7.6.0-darwin-x86_64/newfile.crt.pem"]
  ssl.verification_mode: none

Ejecutar Filebeat

Después de modificar la configuración anterior, comenzamos los módulos del sistema:

./filebeat modules enable system
./filebeat setup
$ ./filebeat setup
Overwriting ILM policy is disabled. Set `setup.ilm.overwrite:true` for enabling.

Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Setting up ML using setup --machine-learning is going to be removed in 8.0.0. Please use the ML app instead.
See more: https://www.elastic.co/guide/en/elastic-stack-overview/current/xpack-ml.html
Loaded machine learning job configurations
Loaded Ingest pipelines

Podemos correr filebeat por el comando siguiente:

./filebeat -e

Abrimos Kibana:

Haga clic en el anterior [Sistema Filebeat] Syslog salpicadero ECS:

Podemos ver filebeat pasado con éxito a los datos de la Elasticsearch.

referencia:

【1】https://www.elastic.co/guide/en/elasticsearch/reference/master/configuring-tls.html

【2】https://www.elastic.co/guide/en/elasticsearch/reference/current/encrypting-communications-certificates.html

【3】https://www.elastic.co/blog/how-to-setup-tls-for-elasticsearch-kibana-logstash-filebeat-with-offline-install-in-linux

 

 

发布了517 篇原创文章 · 获赞 126 · 访问量 91万+

Supongo que te gusta

Origin blog.csdn.net/UbuntuTouch/article/details/105044365
Recomendado
Clasificación