zabbix使用SSL证书实现https登录
2020-12-26 08:28
标签:写入 导致 serve please text col following 下载安装 corporate zabbix推荐使用nginx服务器,性能较高。为了满足安全访问,现在需要配置https,主要是对nginx的ssl模块进行配置,还要生成zabbix-server对应的证书文件 之前已经安装过zabbix5.0,选择的配置环境如下: 详细的安装方法见官方文档: 注意,我采用的nginx版本与推荐安装的版本不一致,请以实际情况配置nginx 查看 nginx 是否安装 http_ssl_module 模块。 如果出现 configure arguments: –with-http_ssl_module, 则已安装 我采用yum安装的nginx,自带ssl模块。因为nginx不能动态更新模块,需要加载模块的时候,需要重新编译安装。 每次添加新模块,一定要把以前编译过的模块一同加到configure参数里面 编译安装nginx,网上教程很多。 可以在个大云计算厂家免费或者有偿申请证书。以下是阿里云免费申请证书方式 我们也可以用openssl来免费生成证书信息,但是就是有点麻烦。 新建一个目录专门保存证书信息 首先确认是否已经安装openssl工具 一般centos都自带openssl工具,如果没有,请到http://www.openssl.org 官方网站下载安装。 生成rsa私钥 如上:des3 是算法,2048位强度(为了保密性)。 server.key 是密钥文件名 -out的含义是:指生成文件的路径和名称。 加密短语,我这里配置的是123456 查看生成的私钥 查看生成密钥 CSR(Certificate Signing Request)文件,申请数字证书之前,必须先生成证书的密钥文件和CSR文件。CSR文件是您的公钥证书原始文件,包含了服务器信息和的单位信息,需要提交给CA认证中心进行审核。 使用如下命令 如上操作后,会在当前目录下生成以下两个文件: server.key server.csr 查看csr文件 x509的含义: 指定格式 -days:有效期,我配置3650天,十年 server.crt就是服务器证书信息 在设置了key的PEM pass phrase(加密密码)后,这种情况可能是在设置私钥key时将密码设置写入了key文件,导致Nginx/Apache等系列服务器在启动时要求Enter PEM pass phrase,从而导致启动失败我们需要做的是剥离这个密码,利用如下OpenSSL命令生成server.key.unsecure文件 建议简单环境,就别给证书密钥啥的再加密码,及其容易出问题 因为https一般单向认证即可,简单环境无需使用双向认证,无需生成客户端证书 如果需要生成客户端证书,与生成ca证书相似 首先编辑/etc/nginx/ngnix.conf,注释掉server 80,这样就不会通过80端口访问zabbix-web 修改前先备份配置文件 使用nginx -t命令检查修改后配置文件语法是否正确 在/etc/nginx/conf.d路径下配置zabbix.conf,为https的配置 按照如下进行编辑 以下为关键配置文件 然后用nginx -t检查语法 没有问题的话 重启nginx 如果nginx启动正常,那么再次访问zabbix就是用https的方式了 检查证书信息 到此证书安装完毕 有没有用,我不知道,但是客户那里糊弄过去了,该死的绿盟再也不会说我的网站是不安全的了,哈哈哈 zabbix使用SSL证书实现https登录 标签:写入 导致 serve please text col following 下载安装 corporate 原文地址:https://blog.51cto.com/11555417/2545852
https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=nginxNginx的SSL模块安装
/usr/sbin/nginx -V
每次添加新模块,要先记录以前的配置。使用opnenssl生成证书
https://common-buy.aliyun.com/?spm=5176.15089375.4329286700.5.33ca1232so4ULs&commodityCode=cas#/buy
证书一般有效期一年左右。
但是证书一定要跟域名绑定,而且需要严格审核。并不适合我们内网使用。mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
使用openssl工具生成一个RSA私钥
openssl version
openssl genrsa -des3 -out server.key 2048
openssl rsa -text -in server.key
cat server.key
创建证书签名请求CSR文件
openssl req -new -key server.key -out server.csr
说明:Enter pass phrase for server.key: #123456
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN # 输入国家代码,中国填写 CN
State or Province Name (full name) []:hubei #省份
Locality Name (eg, city) [Default City]:wuhan #城市
Organization Name (eg, company) [Default Company Ltd]:ctbt #公司名 瞎填
Organizational Unit Name (eg, section) []:ops #部门瞎填
Common Name (eg, your name or your server‘s hostname) []:172.31.208.128 #域名,没有域名,我用IP地址
Email Address []:49029333@qq.com #邮箱
Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []: #无需填写
openssl req -text -in server.csr -noout
生成CA证书
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
-in的含义: 指定请求文件
-signkey的含义: 自签名剥离PEM pass phrase
openssl rsa -in server.key -out server.key.unsecure
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 3650 -in client.csr -signkey client.key -out client.crt
nginx配置ssl
cd /etc/nginx/
cp nginx.conf nginx.conf.bak
vim nginx.conf
touch /etc/nginx/conf.d/zabbix.conf
server {
listen 80;
server_name 172.31.208.128;
return 301 https://172.31.208/128$request_uri;
}
server {
listen 443 ssl;
ssl_certificate ssl/server.crt; #证书文件
#ssl_certificate_key ssl/server.key; #密钥文件
ssl_certificate_key ssl/server.key.unsecure; #剥离密码的密钥文件,如果没有对密钥加密,直接使用server.key
ssl_session_timeout 5m; #缓存有效期
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用加密算法
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全连接的可选加密协议
ssl_prefer_server_ciphers on; #使用服务器的首选算法
root /usr/share/zabbix;
index index.php;
文章标题:zabbix使用SSL证书实现https登录
文章链接:http://soscw.com/index.php/essay/38308.html