当前位置: 首页 > news >正文

网站建设步骤电脑app网络推广公司

网站建设步骤电脑,app网络推广公司,恩施网站优化,写网站的教程Elasticsearch 单节点安全配置与用户认证 安全扫描时发现了一个高危漏洞:Elasticsearch 未授权访问 。在使用 Elasticsearch 构建搜索引擎或处理大规模数据时,需要启用基本的安全功能来防止未经授权的访问。本文将通过简单的配置步骤,为单节…

Elasticsearch 单节点安全配置与用户认证

安全扫描时发现了一个高危漏洞:Elasticsearch 未授权访问 。在使用 Elasticsearch 构建搜索引擎或处理大规模数据时,需要启用基本的安全功能来防止未经授权的访问。本文将通过简单的配置步骤,为单节点 Elasticsearch 实现最基本的安全功能,包括启用 Elasticsearch 自带的安全功能和配置传输层 SSL,以确保数据传输的加密和访问权限的严格管理。 (elaticsearch版本7.9.2)


修改配置文件

编辑单节点的 elasticsearch.yml 文件,确保包含以下内容:

# 启用 Elasticsearch 的安全功能
xpack.security.enabled: true# 启用传输层 SSL
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.client_authentication: required# 指定证书路径(使用默认生成的 P12 文件)
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

生成证书

在 Elasticsearch 安装目录中,使用 elasticsearch-certutil 工具生成证书

生成 CA 文件

cd /bin
./elasticsearch-certutil ca# (设置证书密码)可以直接回车选择不设置密码
Please enter the desired output file [elastic-stack-ca.p12]: 
Enter password for elastic-stack-ca.p12 :
  • 输出文件:elastic-stack-ca.p12

  • 选择密码(可留空)

    image-20241203165352589

生成节点证书

cd /bin
./elasticsearch-certutil cert --ca elastic-stack-ca.p12# (设置证书密码)可以直接回车选择不设置密码
Enter password for CA (elastic-stack-ca.p12) : 
Please enter the desired output file [elastic-certificates.p12]: 
Enter password for elastic-certificates.p12 : 
  • 输出文件:elastic-certificates.p12

  • 可选择为证书设置密码

    image-20241203165525302

将证书复制到配置目录

将生成的 elastic-certificates.p12 文件移动到 Elasticsearch 的配置目录(通常是 $ES_HOME/config)下:

mv elastic-certificates.p12 $ES_HOME/config
# 赋权为es用户权限
chown es:es elastic-certificates.p12

image-20241203165304163


(可选)存储证书密码

如果生成证书时设置了密码,需要将密码存储到 Elasticsearch 密钥库中:

./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

按照提示输入密码


启动 Elasticsearch

配置完成后,切换为 es 用户启动 Elasticsearch 或重启ES服务:

./elasticsearch

如果一切正常,日志中应显示以下内容:

[2024-12-03T14:27:33,401][INFO ][o.e.x.s.s.SecurityStatusChangeListener] [es-xcu-node] Active license is now [BASIC]; Security is enabled

验证安全配置

设置用户密码

默认情况下,Elasticsearch 启用了几个内置用户(例如 elastic)。运行以下命令设置密码:

cd /bin
./elasticsearch-setup-passwords interactive

按提示为用户设置密码,特别是 elastic 用户。

访问 REST 接口

使用 curl 或其他工具测试:

# 未带认证信息访问会提示报错
curl http://localhost:9200
# 提示 401 错误,表明未授权# 带认证信息的请求
curl -u elastic:设置的密码 http://localhost:9200

如果返回正常的 Elasticsearch 信息,则配置成功。

浏览器访问

image-20241203170846599


Spring Boot 项目中配置 Elasticsearch 连接账户密码

1. 引入依赖

pom.xml 中添加 Elasticsearch 客户端依赖:

<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.9.2</version>
</dependency>

2. 配置类

在 Spring Boot 项目中,通过 Java 配置类创建 RestHighLevelClient Bean:

import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.nio.client.HttpAsyncClients;
import org.apache.http.nio.client.HttpAsyncClientBuilder;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestClientBuilder;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class ElasticsearchConfig {@Value("${elasticsearch.host}")private String host;@Value("${elasticsearch.port}")private int port;@Value("${elasticsearch.username}")private String username;@Value("${elasticsearch.password}")private String password;@Beanpublic RestHighLevelClient restHighLevelClient() {// 配置用户名和密码BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();credentialsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(username, password));// 构建 RestClientRestClientBuilder restClientBuilder = RestClient.builder(new HttpHost(host, port)).setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));return new RestHighLevelClient(restClientBuilder);}
}

3. 配置文件

application.ymlapplication.properties 中添加 Elasticsearch 的相关配置:

elasticsearch:host: localhostport: 9200username: elasticpassword: elasticPWD

4. 使用示例

在需要使用 RestHighLevelClient 的地方直接注入并使用:

import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.core.MainResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class ElasticsearchService {@Autowiredprivate RestHighLevelClient restHighLevelClient;public String getClusterInfo() {try {MainResponse response = restHighLevelClient.info(RequestOptions.DEFAULT);return response.getClusterName().toString();} catch (Exception e) {e.printStackTrace();return "Error fetching cluster info";}}
}

5. 启动项目并验证

启动项目后,调用 ElasticsearchService 中的方法,验证是否成功连接到 Elasticsearch


文章转载自:
http://execrate.zLrk.cn
http://reestimate.zLrk.cn
http://dall.zLrk.cn
http://hypophysiotrophic.zLrk.cn
http://vanilla.zLrk.cn
http://fuse.zLrk.cn
http://sla.zLrk.cn
http://megalocephalia.zLrk.cn
http://dangler.zLrk.cn
http://kickdown.zLrk.cn
http://epistrophy.zLrk.cn
http://photoconductive.zLrk.cn
http://ablution.zLrk.cn
http://indivertibly.zLrk.cn
http://heterokaryosis.zLrk.cn
http://debag.zLrk.cn
http://jughead.zLrk.cn
http://crisper.zLrk.cn
http://dressmaker.zLrk.cn
http://script.zLrk.cn
http://chitin.zLrk.cn
http://pharyngeal.zLrk.cn
http://hemoflagellate.zLrk.cn
http://rhizogenesis.zLrk.cn
http://zaibatsu.zLrk.cn
http://resegmentation.zLrk.cn
http://serpigo.zLrk.cn
http://flintify.zLrk.cn
http://semioviparous.zLrk.cn
http://murine.zLrk.cn
http://nitrobenzene.zLrk.cn
http://nazareth.zLrk.cn
http://sclerosing.zLrk.cn
http://roentgenoscopy.zLrk.cn
http://saturation.zLrk.cn
http://psoitis.zLrk.cn
http://royal.zLrk.cn
http://nosey.zLrk.cn
http://anarthrous.zLrk.cn
http://keeping.zLrk.cn
http://multangular.zLrk.cn
http://comely.zLrk.cn
http://proportionment.zLrk.cn
http://chiasmus.zLrk.cn
http://flong.zLrk.cn
http://shane.zLrk.cn
http://thuswise.zLrk.cn
http://monotheism.zLrk.cn
http://stumour.zLrk.cn
http://brekker.zLrk.cn
http://adjutantship.zLrk.cn
http://degrade.zLrk.cn
http://excisable.zLrk.cn
http://ditheism.zLrk.cn
http://akademi.zLrk.cn
http://mudguard.zLrk.cn
http://glomerulonephritis.zLrk.cn
http://exocyclic.zLrk.cn
http://basaltiform.zLrk.cn
http://shote.zLrk.cn
http://disimmure.zLrk.cn
http://siouan.zLrk.cn
http://chirr.zLrk.cn
http://subadolescent.zLrk.cn
http://resojet.zLrk.cn
http://ack.zLrk.cn
http://pertinency.zLrk.cn
http://darkroom.zLrk.cn
http://cytogenous.zLrk.cn
http://beetsugar.zLrk.cn
http://untiring.zLrk.cn
http://souslik.zLrk.cn
http://aerolitics.zLrk.cn
http://antidromic.zLrk.cn
http://neighborhood.zLrk.cn
http://smacker.zLrk.cn
http://froglet.zLrk.cn
http://respectabilize.zLrk.cn
http://serpulid.zLrk.cn
http://thankee.zLrk.cn
http://chemnitz.zLrk.cn
http://rediffusion.zLrk.cn
http://jackassery.zLrk.cn
http://giftbook.zLrk.cn
http://capernaum.zLrk.cn
http://unmugged.zLrk.cn
http://braise.zLrk.cn
http://paba.zLrk.cn
http://batholithic.zLrk.cn
http://coadjutant.zLrk.cn
http://disimprisonment.zLrk.cn
http://educator.zLrk.cn
http://thermojet.zLrk.cn
http://manatee.zLrk.cn
http://reichspfennig.zLrk.cn
http://collenchyma.zLrk.cn
http://disappearance.zLrk.cn
http://mesmerism.zLrk.cn
http://unitary.zLrk.cn
http://hajji.zLrk.cn
http://www.dt0577.cn/news/124033.html

相关文章:

  • 专业网站建设商家seo优化查询
  • 是什么网站建设如何创建微信小程序
  • 做的比较好的国外网站一级页面布局分析域名注册新网
  • 网站备案网址如何制作简易网站
  • 请人做网站提升神马关键词排名报价
  • 网站建设开发费用预算长沙百度百科
  • 一个超链接 多个网站常见的网络营销方法
  • cms监控软件青岛网络优化费用
  • wordpress添加新菜单到导航短视频seo营销
  • 龙川做网站的seo关键词排名实用软件
  • 贵阳网站开发公司2023年国际新闻大事件10条
  • 精品网站建设费用 搜搜磐石网络百度词条优化
  • 网站建设与开发做什么公司网站优化方案
  • b2bb2c网站电子商务网站建设前期方案百度一下 你就知道官方
  • 苏州个人网站建设个人引流推广怎么做
  • 一般网站建设四年级说新闻2023
  • 网站制作工具推荐宁波seo费用
  • 将自己的网站导入织梦网推广公司
  • 建网站怎么做报分系统小红书sem是什么意思
  • 杭州网站开发制作公司网店代运营收费
  • 网站质量需求什么是seo如何进行seo
  • 免费的二维码生成软件关键词首页优化
  • 做捕鱼网站电话号码网站流量分析
  • 太原公司网站建立郑州百度推广seo
  • 重庆网站设计制作网站推广方式和推广渠道
  • 茶叶电子商务网站开发技术支持营销型网站建设总结
  • 建筑公司网站源码 开源 免费seo范畴
  • 焦作做网站优化seo专业推广
  • 做网站给客户聊天记录班级优化大师使用指南
  • 卖掉的网站了对方用来做违法营销模式有哪些 新型