15-加密和安全及时间同步服务

1.安全攻击

1.DDOS****攻击

DoS 攻击,即分布式拒绝服务( Distributed Denial of Service )攻击,是一种恶意的网络攻击手段,旨在通过耗尽目标系统的资源或带宽,使其无法正常提供服务。

2.跨站脚本攻

站脚本攻击( Cross - Site Scripting ,简称 XSS )是一种常见的网络安全漏洞,攻击者通过在目标网站中注入恶意脚本,来获取用户的敏感信息或执行其他恶意操作。

3.SQL****注入

SQL 注入是一种常见的网络安全攻击技术,攻击者通过在用户输入或其他数据源中注入恶意的 SQL 语句,以篡改或窃取数据库中的信息。

4.中间人攻击

中间人攻击( Man - in - the - Middle Attack ,简称 MITM )是一种常见的网络攻击方式,攻击者通过拦截、篡改通信双方的信息来获取敏感数据或进行其他恶意操作。

5.暴力破解

暴力破解是一种网络攻击手段,攻击者通过不断尝试各种可能的字符组合,来猜测用户的密码、密钥或其他认证信息,以获取对系统、账户或加密数据的访问权限。

6.会话劫持

会话劫持是一种网络攻击技术,攻击者通过获取用户的会话标识,从而冒充合法用户与服务器进行交互,获取敏感信息或执行恶意操作。

7.其他攻击方式

缓冲区溢出,端口扫描.....

2.加密算法

加密算法主要分为三大类:对称加密算法、非对称加密算法单向加密(也称为不可逆加密算法)。
特点
**对称加密算法:**加密和解密使用同一个密钥
非对称加密算法: 采用配对的公钥 (public key) 和私钥 (secret key) 对数据进行加解密操作
公钥:加密数据,公开可以被很多人知道。
私钥:解密数据,仅给自己使用。
**单向加密算法:**将任意数据缩小成固定大小的 " 指纹 " ,称为 digest ,即摘要,不可逆
md5 以 16 进制显示 , 32 * 4 = 128
md5加密用法:md5sum+文件
sha加密用法:sha1sum+文件 sha256sum+文件 sha512sum+文件

3.CA****和证书

CA 认证,即证书 颁发机构认证,是一种通过数字证书来验证通信双方身份的技术。在 Linux 系统中, CA 认证通常依赖于 OpenSSL 库来实现加密和签名功能。数字证书由 CA 机构颁发,用于证明证书持有者的身份,并加密网络通信。注: CA 机构的公钥已内置在操作系统中。
证书的作用:身份验证,数据加密,数据签名。

1.CA****证书的加密流程

环境准备:使用OpenSSL命令生成私钥和公钥。私钥用于签名,公钥用于验证签名。
获取证书两种方法
自签名的证书: 自已签发自己的公钥
使用证书授权机构: 1 生成证书请求 csr ; 2 将证书请求 csr 发送给 CA ; 3 CA 颁发签名证书

问题1 :为什么所有的主机都知道 RootCA的信息? 因为电脑上已经内置了很多根****CA
问题2 :RootCA的证书谁签证? 自己给自己颁发

2.SSL/TLS

SSL ( Secure Sockets Layer ):安全套接层协议
TLS ( Transport Layer Security ):传输层安全协议

关系:TLS 1.0基于SSL 3.0制定,是SSL 3.0的后续版本 。现代应用多使用TLS ,SSL逐渐被弃用

主要功能:数据加密,身份验证,数据完整性

3.HTPPS

HTTPS 协议:就是 " HTTP 协议 " 和 " SSL / TLS 协议 "的组合。对 http 协议的文本数据进行加密处理后,成为二进制形式传输。

4.OpenSSL

Openssl 功能主要包括对称加密( DES 、 3D ES 、 AES 等),非对称加密( RSA ),散列( MD5 、 SHA1 等)以及证书的相关操作(创建、申请、颁发、吊销等)。
OpenSSL 提供了多种加密算法,可以与 Base64 编码结合使用,实现数据的加密和保护。
官网 : https :// www.openssl.org /
源码 : https :// github.com / openssl / openssl
关于Base64编码
echo hahaha | base64 会得到结果:aGFoYWhhCg==
Cg== 是怎么来的 ?
Base64 按 6 位一组编码
echo hahaha 实际上 hahaha 后面跟了一个换行符
\ n 是显式指定的换行符, cat - A 会将其显示为 $
echo aGFoYWhhCg== | base64 -d 解密ASII码的内容
对于很长的编码可以用下面的工具
编解码工具 - https://www.toolhelper.cn/
openssl命令
openssl help 查看帮助
openssl help md5 获 取指定命令帮助
摘要算法
openssl sha512 /etc/shadow 等于命令 sha512sum /etc/shadow
密码生成
openssl passwd 123456
随机数生成
openssl rand 10 #二进制输出,会出现乱码
openssl rand -base64 12 #生成12字节随机原始数据
openssl rand -hex 10 #生成10字节随机数据,并用十六进制(hex)编码输出。
openssl rand -base64 10 | head -c10 #生 成随机 10 位长度密码
密钥对
生成秘钥对
1- 1 生成 RSA 私钥 openssl genrsa - out private.pem 2048
2048 指定了密钥的位数,可以根据需要调整(如 1024 、 4096 等)。私钥文件通常以 .pem 或 .key 。
1 - 2 从私钥中提取公钥 openssl rsa - pubout - in private.pem - out public.pem
OpenSSL 的公钥和私钥是相互独立又相互关联的两个密钥,不存在一方包含另一方的情况。
生成秘钥实践
openssl genrsa -out test.key # 生成私钥
openssl rsa -pubout -in test.key -out test.pubkey # 从指定私钥提取出公钥
ll -a test* # 可以看到 除 了公钥是 644 ,其他的是 600 权限
生成密钥时进行加密 -des3:用 Triple DES 算法加密私钥(解密 / 使用私钥时需密码)
openssl genrsa -out test2.key -des3 -passout pass:"123456" # 指定加密算法,指定口令
openssl rsa -in test2.key -out test2.key2 #解 密加密的私钥
openssl rsa -in test2.key -pubout -out test2.pubkey # 提取公钥要求输入密码

5.数字签名

数字签名 = 非对称加密 + 哈希算法
数字签名是保障网络安全的基石技术,通过 "私钥签名、公钥验证" 的机制,解决了 身份确认数据防篡改行为不可抵赖三大核心问题

6.CA证书

生成证书简单实践
mkdir -pv /etc/pki/CA/{certs,crl,newcerts,private} #创建相关目录
cd /etc/pki/CA/;openssl genrsa -out private/cakey.pem 2048 #生成私钥
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem #生成CA自签名证书
mkdir /data;openssl genrsa -out /data/test.key 2048 #为 需要使用证书的主机生成生成私钥
openssl req -new -key /data/test.key -out /data/test.csr #~ 使用证书的主机生成证书申请文件
touch /etc/pki/CA/index.txt #创 建索引文件
echo 0F > /etc/pki/CA/serial #创建序号文件
openssl ca -in /data/test.csr -out /etc/pki/CA/certs/test.crt -days 100 #签发证书
吊销证书实践
openssl x509 -in /etc/pki/CA/certs/test.crt -noout -serial - subject
openssl ca -revoke /etc/pki/CA/certs/test.crt
echo 01 > /etc/pki/CA/crlnumber #指 定第一个吊销证书的编号
openssl ca -gencrl -out /etc/pki/CA/crl.pem #更新证书吊销列表
openssl crl -in /etc/pki/CA/crl.pem -noout -text #查 看 crl 文件

7.ssh服务

为什么第一次连接的时候有 yes ,后面就不会有了?
grep ask /etc/ssh/ssh_config 得出来后面的结果# StrictHostKeyChecking ask
问:不想连接的时候,输入 yes ,怎么办?
ssh -o StrictHostKeyChecking=no 主机IP

4.文件同步 scp和rsync

scp & rsync
scp 命令在复制文件时是全量复制,不管文件有没有改动,都是复制,速度慢,消耗资源
rsync 工具可以基于 ssh 和 rsync 协议实现高效率的远程系统之间复制文件,使用安全的 shell 连接做为传输方式,比 scp 更快,基于增量数据同步,即只复制两方不同的文件,此工具来自于 rsync 包。若要用需要安装rsync包
两者区别

  1. scp 的典型场景:一次性传输:如临时拷贝配置文件、脚本到远程服务器。 安全性优先:必须通过 SSH 加密通道传输(如敏感数据)。 简单易用:无需复杂配置,直接传输文件。
  2. rsync 的典型场景:大规模文件同步:如备份服务器数据、镜像网站目录。 频繁更新的文件:仅同步变化部分(如开发环境代码同步)。 精细化控制:需保留完整文件属性或排除特定文件。

    sshpass 用于非交互 SSH 的密码验证 此项需要安装sshpass包
    sshpass 在远程执行的时候,依赖于 known_hosts 文件里面的公钥记录信息,否则无法使用
    sshpass -p 123456 ssh 主机IP hostname -I
    多机互通
    ssh-keygen
    ssh-copy-id 127.1
    scp - r .ssh 主机IP :/ root /

5.Chrony

禁用系统上的 NTP(Network Time Protocol,网络时间协议)服务
timedatectl set-ntp 0 # 1 是启用NTP服务
date -s "+10 year" #将时间调整为10年以后
自动" 对表 "

apt install ntpdate rdate chrony -y #ubuntu安装软件
yum install ntpsec chrony -y #redhat安装软件

date -s "+10 years" #前提条件
ntpdate ntp.aliyun.com #方式1
ntpdate -s -u time.nist.gov #方式2
date #可以看到时间均恢复到正常的状态

timedatectl show
chronyc 进入用户交互界面

vim /etc/chrony/chrony.conf #修改配置文件

6.自建时间服务器


定制自建时间服务器配置(10.0.0.13)
vim /etc/chrony/chrony.conf
server ntp.aliyun.com iburst # 这是之前配置好的
allow 10.0.0.0 / 24 # 允许 10.0.0 网段的主机将本机作为时间同步服务器
local stratum 10 # 允许本机在不能与外网同步的情况下,还能提供服务
systemctl restart chronyd.service #重启服务
同理后两台主机的配置如下(10.0.0.12 10.0.0.15) 保证高可用
vim /etc/chrony.conf

pool 2.rocky.pool.ntp.org iburst # 禁用默认的

server 10.0.0.13 iburst # 启用自定义的
chronyc -n sources #查看时间服务器
最后在10.0.0.13主机进行查看
chronyc -n clients #服务器上进行查看

相关推荐
嘉里蓝海6 小时前
我在嘉顺达蓝海的安全日常
安全
2301_780789666 小时前
渗透测试真的能发现系统漏洞吗
服务器·网络·安全·web安全·网络安全
嘉里蓝海7 小时前
我在嘉顺达蓝海的安全坚守
安全
你的人类朋友8 小时前
认识一下Bcrypt哈希算法
后端·安全·程序员
Coovally AI模型快速验证12 小时前
基于YOLO集成模型的无人机多光谱风电部件缺陷检测
人工智能·安全·yolo·目标跟踪·无人机
夏天的风9914 小时前
本地部署PLM系统,如何用 ZeroNews 实现远程访问?
安全·远程工作
wanhengidc14 小时前
高性价比云手机挑选指南
运维·网络·安全·游戏·智能手机
拉法豆粉16 小时前
三方软件测试可移植性测试哪些内容
数据库·安全
午夜游鱼18 小时前
Go 泛型实战:一行代码封装 sync.Pool,性能与安全兼得
开发语言·安全·golang
半桔20 小时前
【Linux手册】信号量与建造者模式:以 PV 操作保证并发安全,分步组装构建复杂对象
linux·运维·安全·建造者模式