怎么根据从ie导出的.cer文件生成.truststore 文件

怎么根据从ie导出的.cer文件生成.truststore 文件,第1张

1.有一张server.crt证书

2. 打开IE->选项->Internet选项:

3.点击证书,进入证书导入和导出界面:

4.点击导入,导入刚才的server.crt证书,可选择导入的空间,这里导入到腔枯并其他人:

5.点击导出,注意这里可选格式,默认选择X509(CER)格式,按照要求伍迹和目录,填写好文件名即可成败老功导出:

6.可直接双击导出的证书查看:

注:在Linux中使用命令导入和导出证书!

1.环境部署

es集群部署忽略,注意要用es:es,把es,kibana,search相关的包全部修改用户和组

chown -R es:es 包名称

安装塌御和es对应版本的插件,版本参考:https://github.com/floragunncom/search-guard/wiki,可以采用在线安装

es插件:./bin/elasticsearch-plugin install -b com.floragunn:search-guard-5:5.6.2-19.1

kibana插件:./bin/kibana-plugin install file:///server/searchguard-kibana-5.6.2-5.zip

证书生成插件:git clone https://github.com/floragunncom/search-guard-ssl.git

修改example.sh文件的内容

添加两个证书

# 生成一个sgadmin客户端证书,用于配置戚衫顷管理

./gen_client_node_cert.sh sgadmin changeit capass

# 生成一个javaapi访问的客户端证书

./gen_client_node_cert.sh javaapi changeit capass

生成证书:./example.sh

拷贝证书相关文件到节点的es/conf目录下

cp *.jks /home/hadoop/Desktop/elaticsearch-5.2.2/config/

修改es的配置文件:

searchguard.ssl.transport.keystore_filepath: node-0-keystore.jks

searchguard.ssl.transport.keystore_password: changeit

searchguard.ssl.transport.truststore_filepath: truststore.jks

searchguard.ssl.transport.truststore_password: changeit

# 设置不校验hostname

searchguard.ssl.transport.enforce_hostname_verification: false

searchguard.ssl.transport.resolve_hostname: false

#配置restful为https访问,此处为了方高陆便暂时不配置

#searchguard.ssl.http.enabled: true

#searchguard.ssl.http.keystore_filepath: node-0-keystore.jks

#searchguard.ssl.http.keystore_password: changeit

#searchguard.ssl.http.truststore_filepath: truststore.jks

#searchguard.ssl.http.truststore_password: changeit

#配置管理员证书DN

searchguard.authcz.admin_dn:

- CN=sgadmin,OU=client,O=client,L=Test, C=DE

# 配置节点识别证书DN

searchguard.nodes_dn:

- 'CN=node-*.example.com,OU=SSL,O=Test,L=Test,C=DE'

network.host: 10.2.26.39

cluster.name: fk-cluster

node.name: 10.2.26.39

http.port: 9200

transport.tcp.port: 9300

node.max_local_storage_nodes: 1

cluster.routing.allocation.same_shard.host: true

discovery.zen.ping.unicast.hosts: ["10.2.26.39:9300"]

discovery.zen.minimum_master_nodes: 1

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

将yml文件拷贝到其它节点es的conf目录下,修改其中部分参数,比如ip等

在kibana节点上:

[root@fk config]# more kibana.yml

server.port: 5601

server.host: 10.2.26.39

elasticsearch.url: "http://10.2.26.39:9200"

elasticsearch.username: "kibanaserver"

elasticsearch.password: "kibanaserver"

xpack.security.enabled: false  (这个如果不加,在访问页面可能不让你输入密码)

.初始化用户配置信息

cd elasticsearch-version/plugins/search-guard-5/tools/

修改脚本执行权限:chmod +x *.sh

在所有节点上,首先启动es服务,然后再执行

cd /opt/elasticsearch-6.2.3/plugins/search-guard-6/tools

./sgadmin.sh -h master -cn vm-cluster -cd ../sgconfig -ks ../../../config/sgadmin-keystore.jks -kspass changeit -ts ../../../config/truststore.jks -tspass changeit -nhnv

重启es和kibana,使其生效

2.登录验证:

3.权限配置

sg_internal_users.yml: 存储用户名密码,密码可以使用plugin/tools/hash.sh生成

  用户可以加入一个用户组,后面使用用户组与权限进行映射

sg_roles.yml:权限设置,定义什么类型的权限

sg_roles_mapping.yml: 映射角色关系,可以把权限映射给用户,也可以映射给用户组

sg_action_groups.yml: 定义一些用户动作的权限与es索引之间的关系

sg_config.yml:全局设置

超级管理员可以任意 *** 作

相关es demo:

curl '10.2.26.39:9200/_cat/indices?v'

es无用户名和密码访问:curl  'ip:9200/_cat/indices?v'

es用用户名和密码访问:curl -uadmin:admin 'ip:9200/_cat/indices?v'

es删除某个索引:curl -uadmin:admin -XDELETE 'http://ip:9200/binlog-2018.08.31'

某个用户 *** 作某个索引:curl -uliuwei:liuwei 'ip:9200/logstash*/_search?v'

注意:

参考官网说明:https://docs.search-guard.com/latest/authentication-authorization

目前问题:

1、logstah用户,索引配置了DELETE,但是删除不了logstash开头的索引?

问题解决:

delete只有删除单条,或者deletebyquery权限

在index下添加:indices:admin/delete,千万不能在cluster下加

目前需求是:公司有4个组,每个组只能查看自己的索引,并且可以删除,修改 *** 作

只要定义相关配置文件,修改模板的权限即可!已经测试过

下一步会验证6.2版本的es的相关权限,欢迎大家指导

测试后发现,6.2版本的kibana插件无法安装,存在问题

*************************

采用6.3.1版本的es和kiaban

安装:

./bin/elasticsearch-plugin install -b com.floragunn:search-guard-6:6.3.1-23.0

./bin/kibana-plugin install file:///server/search-guard-kibana-plugin-6.3.1-14.zip

你好

keystore可以看如芦成一个放key的库,key就是公钥、私钥、数字签名等组成的一个信息;truststore是放信任的证书的一个store。

keystore和truststore的性质是一样的,都是存放key的一个仓库,区别在于truststore里存放的是只包含公钥的数字证书,代表了可以信任的证书,而keystore是包含私钥的。

我们自己的应用中通常所说的keystore或者truststore主要是针对于应用本身的需求来的。keystore和truststore从其文件格式来看其实是一宏橡源个东蔽态西,只是为了方便管理将其分开。

keystore中一般保存的是我们的私钥,用来加解密或者为别人做签名;truststore中保存的是一些可信任的证书,主要是java在代码中访问某个https的时候对被访问者进行认证的,以确保其是可信任的。

希望对你有帮助


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12260946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存