提升1Panel的安全性:在Armbian上设置个性化SSL证书

news2024/11/25 11:25:52

文章目录

  • 基础知识
    • OpenSSL
    • OpenSSL常用命令
    • SSL证书与DDoS攻击
    • SSL证书常见办法机构
  • armbian安装OpenSSL
    • OpenSSL下载和安装
    • 生成私钥和证书
    • 生成私钥和证书提示信息的解释
      • challenge password
    • 可能遇到的错误
  • 安装完成后的思考
  • 完整的操作演示

基础知识

OpenSSL

  • OpenSSL是一个开源的密码学工具包,提供了一组用于开发安全通信的库和工具。它支持多种密码算法、数字证书和协议,并提供了许多功能,如加密、解密、签名、验证、生成证书和密钥等。

OpenSSL常用命令

  1. 生成私钥和自签名证书:
    • 生成一个2048位的RSA私钥文件 private.key和一个自签名的证书文件 certificate.crt,有效期为365天。
    • 私钥文件用于加密和解密数据,证书文件包含了公钥和相关的证书信息。
    openssl req -newkey rsa:2048 -nodes -keyout private.key -x509 -days 365 -out certificate.crt
    
  • 参数的详细解释:
    • req: 表示使用 OpenSSL 的证书请求工具。
    • -newkey rsa:2048: 创建一个新的 RSA 密钥对,其中 RSA 算法使用 2048 位密钥长度。
    • -nodes: 不加密生成的私钥文件,这样在使用私钥时将不需要输入密码。
    • -keyout private.key: 将生成的私钥保存到 private.key 文件中。
    • -x509: 创建一个自签名的 X.509 证书。
    • -days 365: 设置证书的有效期为 365 天。
    • -out certificate.crt: 将生成的证书保存到 certificate.crt 文件中。

  1. 生成证书签名请求(CSR):
    • 生成一个2048位的RSA私钥和一个证书签名请求。
    openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out csr.csr
    
  • 参数的详细解释:

    • req: 表示使用 OpenSSL 的证书请求工具。
    • -new: 创建一个新的证书请求。
    • -newkey rsa:2048: 创建一个新的 RSA 密钥对,其中 RSA 算法使用 2048 位密钥长度。
    • -nodes: 不加密生成的私钥文件,这样在使用私钥时将不需要输入密码。
    • -keyout private.key: 将生成的私钥保存到 private.key 文件中。
    • -out csr.csr: 将生成的证书请求保存到 csr.csr 文件中。
  • 执行完这段代码后,将生成一个私钥文件 private.key 和一个证书签名请求文件 csr.csr。

  • 私钥文件用于加密和解密数据,证书签名请求文件包含了要申请证书的相关信息,例如域名、组织等。你可以将这个证书签名请求文件提交给证书颁发机构(CA)以获取一个有效的证书。

  1. 查看证书的详细信息:
    • 显示证书的详细信息,包括颁发机构、有效期、公钥等。
    openssl x509 -in certificate.crt -text -noout
    

  1. 查看私钥的详细信息:
    • 显示私钥的详细信息,包括算法、长度等。
    openssl rsa -in private.key -text -noout
    

  1. 加密和解密文件:
    • 将使用AES-256-CBC算法对文件进行加密和解密。
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
  • 使用 openssl help 命令可以获取更多信息和帮助。

SSL证书与DDoS攻击

  • SSL证书本身不能直接防止DDoS攻击。SSL证书是用于加密传输数据并确保通信的安全,但它并不能保护服务器免受高强度的DDoS攻击。

然而,SSL证书提供了一些额外的安全性,使得它们可以在某些情况下帮助防御DDoS攻击。例如,一些DDoS攻击是基于HTTP请求进行的,而SSL证书可以使HTTP请求变得更复杂和更难以模拟,从而减少了攻击的成功率。此外,SSL证书可能使攻击者更难以确定服务器的真实IP地址,因此他们可能需要更多的时间和资源才能发起有效的攻击。

但要避免遭受DDoS攻击,必须采取其他防御措施,例如使用DDoS保护服务、在服务器上实施正确的配置和更新等。

SSL证书常见办法机构

  • SSL证书的颁发机构是由一些权威的第三方机构(如Symantec、Comodo、GlobalSign等)颁发的。
  • 这些机构负责验证网站的身份和真实性,并将SSL证书颁发给合格的网站。用户连接到这些网站时,可以通过SSL证书验证网站的身份和保护连接的安全性。
  • 颁发机构都提供不同类型的 SSL 证书,可以根据个人或企业需要来选择适合的证书。使用 SSL 证书可以确保网站安全性和信任度,是保护网站和用户隐私的重要措施。

armbian安装OpenSSL

OpenSSL下载和安装

  1. 打开终端,以root用户身份登录或使用sudo权限

  2. 更新软件包列表

    apt update
    
  3. 安装OpenSSL工具

    apt install openssl
    
  4. 验证OpenSSL是否成功安装

    • 成功安装,将显示OpenSSL的版本信息。
    openssl version
    

生成私钥和证书

  1. 生成私钥和证书签名请求(CSR)文件
    • 使用以下命令生成私钥文件:
    openssl genrsa -out private.key 2048
    
    • 使用以下命令生成CSR文件:
    openssl req -new -key private.key -out csr.csr
    
  • 注意:在生成CSR文件时,需要提供一些信息,如国家、省份、城市、组织名称、通用名称(域名)等。

生成私钥和证书提示信息的解释

challenge password

Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:
  • 这是一个可选的额外属性,用于增加证书的安全性。
  • "challenge password"是一个密码,用于保护私钥和证书签名请求。当使用该证书时,可能需要输入这个密码来解锁私钥。
  • 如果不想设置"challenge password",可以直接按下回车键跳过该步骤。这样,私钥将不会被密码保护
  • 如果想设置"challenge password",请输入一个安全的密码并按下回车键。请确保记住这个密码,因为在使用证书时需要输入它。

  1. 提交CSR文件到证书颁发机构(CA)进行签名。也可以选择自签名证书,也可以选择购买商业证书。

  2. 如果选择了自签名证书,可以使用以下命令生成自签名证书:

    #生成一个有效期为365天的自签名证书(未指定存储路径的命令)
    # 没有指定具体的路径,那么它们将被存储在当前工作目录下
    openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt
    
    #生成的私钥文件和证书文件将会被保存在你指定的路径中
    openssl x509 -req -days 365 -in /path/to/csr.csr -signkey /path/to/private.key -out /path/to/certificate.crt
    
  • 参数的详细解释:
    • req: 表示使用 OpenSSL 的证书请求工具。
    • -newkey rsa:2048: 创建一个新的 RSA 密钥对,其中 RSA 算法使用 2048 位密钥长度。
    • -nodes: 不加密生成的私钥文件,这样在使用私钥时将不需要输入密码。
    • -keyout private.key: 将生成的私钥保存到 private.key 文件中。
    • -x509: 创建一个自签名的 X.509 证书。
    • -days 365: 设置证书的有效期为 365 天。
    • -out certificate.crt: 将生成的证书保存到 certificate.crt 文件中。

  • 操作成功的提示信息
    root@armbian:~# openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt
    Signature ok
    subject=C = ZN, ST = HeNan, L = KF, O = yang, OU = yuanyou, CN = yue, emailAddress = xxx@qq.com
    Getting Private key
    
    • “Signature ok” 的消息表示证书签名成功。
    • 证书的主题信息,如国家(C)、省/州(ST)、城市(L)、组织(O)、组织单位(OU)、通用名称(CN)和电子邮件地址等也会显示出来。


  1. 查看私钥文件和证书文件的存放位置

    • 默认的存储位置:在当前工作目录下,即执行命令时所在的目录
  2. 在1Panel面板中,找到相关的SSL证书配置选项。一般在面板设置->安全->https中,导入私钥文件和证书文件,保存配置。
    在这里插入图片描述
    - 注意将两个文件的内容全部复制到相应的文本框中
    在这里插入图片描述

  3. 重新启动1Panel面板服务,使配置生效。

    • 记得,使用https://xxx.xxx.xxx.xxx:/端口/安全入口访问1panel

可能遇到的错误

  • 服务内部错误: tls: failed to find any PEM data in certificate input

  • OpenSSL无法在输入的证书文件中找到有效的PEM数据。可能的原因:

  1. 证书文件路径错误:请确保你提供的证书文件路径是正确的,并且文件存在。

  2. 证书文件格式错误:证书文件必须采用PEM格式进行编码。

    • 使用文本编辑器打开证书文件,确认它以-----BEGIN CERTIFICATE-----开头,以-----END CERTIFICATE-----结尾,并且没有额外的空格或换行符。
  3. 证书文件内容错误:如果证书文件已被篡改或损坏,OpenSSL可能无法正确解析它。

安装完成后的思考

  1. 为什么1panel配置了openSSl证书,结果还是浏览器还是显示不安全
    在这里插入图片描述
    在这里插入图片描述
  • 原因:
    • 浏览器显示证书无效的警告通常是因为使用了自签名证书。自签名证书是由自己或自己的组织颁发的,而不是由公共的证书颁发机构(CA)颁发的。
    • 浏览器默认信任公共的证书颁发机构颁发的证书,因此当你使用自签名证书时,浏览器会认为该证书不受信任,从而显示证书无效的警告。

  • 建议:自签名证书在个人或内部使用的情况下是可以接受的,但在公共网站或需要与用户共享敏感信息的场景下,建议使用由公共的证书颁发机构颁发的有效证书。

完整的操作演示

Last login: Tue Jul 11 09:55:58 2023 from localhost
root@armbian:~# apt update
root@armbian:~# apt upgrade
root@armbian:~# apt install openssl
root@armbian:~# openssl version
OpenSSL 1.1.1n  15 Mar 2022
root@armbian:~# openssl genrsa -out private.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
............+++++
............................+++++
e is 65537 (0x010001)
root@armbian:~# openssl req -new -key private.key -out csr.csr
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) [AU]:ZN
State or Province Name (full name) [Some-State]:HeNan
Locality Name (eg, city) []:KF
Organization Name (eg, company) [Internet Widgits Pty Ltd]:yang
Organizational Unit Name (eg, section) []:yuanyou 
Common Name (e.g. server FQDN or YOUR name) []:yue
Email Address []:xxx@qq.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:xxxx
An optional company name []:yang
root@armbian:~# openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt
Signature ok
subject=C = KF, ST = HeNan, L = KF, O = yang, OU = yuanyou, CN = yue, emailAddress = 2330648064@qq.com
Getting Private key
root@armbian:~# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件工程——第11章面向对象设计知识点整理

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1.什么是面向对象设计(OOD)? 2.优秀设计的主要特点是? 3.面向对象设计应遵循的准则有哪些&#xff1f…

检验样本正态性

简介 在统计学中很多推论与正态分布有关,并且很多统计量构造为满足正态分布的形式,很多分布在特定条件近似于正态分布。因此,在统计推断中经常需要判断样本的正态性。本文介绍一些常用的方法。 环境和数据准备: import numpy a…

CCLINK IE FIELD BASIC转MODBUS-TCP网关modbus tcp与tcp/ip的区别

协议的不同,数据读取困难,这是很多生产管理系统的难题。但是现在,远创智控YC-CCLKIE-TCP通讯网关,让这个问题变得非常简单。这款通讯网关可以将各种MODBUS-TCP设备接入到CCLINK IE FIELD BASIC网络中,连接到MODBUS-TCP…

在 Jetpack Compose 中使用 BottomDrawer

简介 Jetpack Compose 是一个现代化的,声明式的 UI 工具包,它让我们可以更方便地构建原生 Android UI。在本篇文章中,我们将会讨论如何在 Jetpack Compose 中使用 BottomDrawer。 什么是 BottomDrawer? BottomDrawer 是一种 UI 元素&…

【JAVA】准备工作------Java开发环境搭建,IDEA的基础设置与操作

🍉内容专栏:【JAVA】 🍉本文脉络:JAVA的准备工作,IDEA的安装以及基础设置和快捷操作 🍉本文作者:Melon西西 🍉发布时间 :2023.7.11 目录 1. 概述JDK、JRE 2. 第一个程序——创建…

Win10电脑插耳机没声音了如何恢复正常?

Win10电脑插耳机没声音了如何恢复正常?当Win10电脑插入耳机后却没有声音时,这可能会让用户感到困惑和沮丧,缺乏耳机声音可能会影响到用户的音频体验和日常使用,那么要怎么如何操作,才能让耳机恢复正常,以下…

webpack的打包流程

webpack的打包流程 yarn build 开始都走了哪些流程 yarn build 开始都走了哪些流程

软考A计划-系统集成项目管理工程师-项目进度管理-中

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

【微信小程序-uniapp】CustomPicker 自定义单项选择器组件

1. 效果图 2. 组件完整代码 <template><view class="custom-picker"><view :class=<

2023数学建模国赛常用算法-Topsis优劣解距离法

更多国赛数学建模资料思路&#xff0c;关注文末&#xff01; 1 优劣解距离法&#xff08;TOPSIS&#xff09;简介 1.1 概念 TOPSIS 法是一种常用的组内综合评价方法&#xff0c;能充分利用原始数据的信息&#xff0c;其结果能精确地反映各评价方案之间的差距。基本过程为基于…

avue 自定义按钮修改后触发表单自带的校验方法

代码&#xff1a; <avue-form :option"option" v-model"publishForm" ref"publishForm"><template slot-scope"{size}" slot"menuForm"><el-button :size"size" click"$refs.publishForm.re…

【RuoYi-Cloud-Plus】学习笔记 09 - Sentinel(四)熔断降级知识整理

文章目录 前言参考目录版本说明学习笔记1、包结构2、DegradeSlot3、DegradeRule4、DegradeRuleManager5、CircuitBreaker5.1 CircuitBreaker.State6、AbstractCircuitBreaker6.1、AbstractCircuitBreaker#fromCloseToOpen6.2、AbstractCircuitBreaker#fromHalfOpenToOpen6.3、A…

0127 进程与线程1

目录 2.进程与线程 2.1进程与线程 2.1部分习题 2.2处理机调度 2.2部分习题 2.进程与线程 2.1进程与线程 2.1部分习题 1.一个进程的映像是&#xff08;&#xff09; A.由协处理器执行的一个程序 B.一个独立的程序数据集 C.PCB结构与程序和数据的组合 D.…

运动控制--双S型 + PID

运动控制--双S型 PID 1 介绍1.1 概述1.2 梯形速度曲线 VS 双S型速度曲线 2 运动控制器2.1 运动控制器的构成2.2 轨迹生成器2.3 插补器2.4 控制回路 3 PID4 双 S 型4.1 介绍4.2 双S模型&#xff08;7段S型&#xff09;规划参数算法公式轨迹分类 5 多种速度规划对比 【引用 Marc…

计算机网络基础第一章

一、计算机网络的概念及功能 1.1 计算机网络的概念 三网&#xff1a;有线电视网络、电信网络、计算机网络。 三网融合&#xff1a;通过计算机网络可以将有线电视、电信网络通过0/1编码等方式展现进行融合&#xff0c;从而实现计算机网络实现视频、电话等其他网络功能。 四网&a…

git推送出现问题error: remote origin already exists.(解决)

阿丹&#xff1a; 推送git的时候出现问题&#xff0c; 报错remote orign already exists这个错误 错误原因 可能是因为clone下来一个别人的仓库&#xff0c;在此基础上完成你的代码&#xff0c;推送到自己的仓库可能遇到如下问题&#xff1a; error: remote origin already e…

Ubuntu 放弃了战斗向微软投降

导读这几天看到 Ubuntu 放弃 Unity 和 Mir 开发&#xff0c;转向 Gnome 作为默认桌面环境的新闻&#xff0c;作为一个Linux十几年的老兵和Linux桌面的开发者&#xff0c;内心颇感良多。Ubuntu 做为全世界Linux界的桌面先驱者和创新者&#xff0c;突然宣布放弃自己多年开发的Uni…

SSM+Shiro安全框架整合(完成安全认证--登录+权限授权)+ssm整合shiro前后端分离

目录 1.搭建SSM框架 1.1.引入相关的依赖 1.2. spring配置文件 1.3. web.xml配置文件 1.4.配置Tomcat并启动 2.ssm整合shiro---认证功能 (1).引入依赖 (2).修改spring配置文件 (3).修改web.xml文件 (4).新建login.jsp(登录页面) (5).新建success.jsp(登录成功后跳转到此…

POLARDB IMCI 白皮书 云原生HTAP 数据库系统 一 列式数据是如何存储与处理的

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

VMware ESXi 7.0 U3n macOS Unlocker OEM BIOS (标准版和厂商定制版)

VMware ESXi 7.0 U3n macOS Unlocker & OEM BIOS (标准版和厂商定制版) ESXi 7.0 标准版和 Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科) 定制版镜像 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3-oem/&#xff0c;查看…