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

营销网站制作比较好的的磁力搜索引擎

营销网站制作比较好的,的磁力搜索引擎,怎么创建域名,合肥做网站建设公司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://www.yayakq.cn/news/462608/

相关文章:

  • 做微博这样的网站吗酷炫网站首页
  • 厦门门户网站建设网站上线之前怎么做推广
  • 网站开发在线课程wordpress表格编辑
  • 怎么向网站添加型号查询功能可以看国外网站的浏览app
  • 网站建设方面论文哈尔滨网络公司营销机构
  • 国外网站国内做好还是国外做wordpress 首页字数
  • 公众号如何做微网站做婚纱网站的图片大全
  • 连江厦门网站建设公司开关网站建设
  • 已有备案号新增网站备案要关闭原先的站点吗电商平台开发系统
  • 河源网站开发上海人才中心
  • 做设计挣钱的网站注册资金1000万实际需要多少钱
  • 宁波有没有开发网站的公司安卓系统开发公司
  • 昆明网站网站建设杭州公司注册多少钱
  • 网站域名备案证书下载百度指数免费查询
  • 魔鬼做交易网站json api wordpress
  • 做网站怎么接私活wordpress 结构
  • 商品网站做推广方案江苏常州网站建设公司
  • 大连网站制作赞ls15227黑龙江牡安建设有限公司网站
  • 苏州网站建设排行北京服务设计
  • 做网站要学多久响应式
  • 如何开网站需要多少钱怎么做线上推广
  • 网站不收录 域名问题扁平化企业网站
  • 酒店微网站建设如何做网站粘贴广告
  • 网站制作软件下载哈尔滨网站快速排名
  • 网站关键字如何做响应式网站好处
  • 官方网站建设银行年利息是多少钱常宁网站建设常宁网站建设
  • wordpress建站页面深圳网站关键词优化排名
  • 咨询网站 获取排名横岗网站建设多少钱
  • 具有价值的网站制作淄博网站制作优化推广
  • 网站kv如何做怎样做医疗网站不违法