ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux基础-linux加密与安全

2022-05-04 22:05:02  阅读:159  来源: 互联网

标签:公钥 私钥 证书 解密 安全 密钥 linux 加密


1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,
监控当某个IP 并发连接数或者短时内PV达到100,
即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。
防火墙命令为:iptables -A INPUT -s IP -j REJECT

#!/bin/bash
log=/tmp/tmp.log
[ -f $log ] || touch $log
function add_iptables(){
    while read line
        do
          ip=`echo $line|awk '{print $2}'`
          count=`echo $line|wc -l`
            if [ $count -gt 100 ] && [`iptables -L -n|grep "$ip"|wc -l` -lt 1 ]
             then
                iptables -I INPUT -s $ip -jDROP
                echo "$line isdropped" >>/tmp/droplist.log
            fi
        done<$log
}
function main(){
    while true
           do
             netstat -an|grep EST|awk '{print $(NF-1)}'|awk -F '[:]' '{print $1}'|sort|uniq -c >$log
             add_iptables
             sleep 180
    done
}
 
main

 


2、描述密钥交换的过程

秘钥交换:IKE (Internet Key Exchange)

公钥加密:用目标的公钥加密对称秘钥

DH (Deffie-Hellman):生成对称(会话)密钥

对称加密算法可以看成为一个通过算法和一个秘钥,对明文进行处理,变成一个无规则无意义的数据的算法。

对称密钥加密:双方共同持有这个密钥,发送方用这个密钥按照指定的算法将这个数据加密,在发出去;接受方用这个密钥将接收到的数据解密,以得到真实的数据含义。由于双方都持有这个密钥,而且内容相同,所以叫对称秘钥

加密过程:明文 + 加密算法 + 私钥 = 公钥

解密过程:密文 + 解密算法 + 私钥 = 明文

非对称密钥加密:这种加密方式是密钥是一对的,一个是公钥public,一个是私钥privatekey。

发送方生成一对密钥,并将公钥公开,用公钥将数据加密,在发送出去;接受方使用密钥(发送方的公钥)对加密数据进行加密后在发送给发送方。发送方用自己的私钥对加密的信息进行解密得到数据,发送方想要回复接收方时候正好相反,使用接收方的公钥进行数据加密,同理,接收方用自己的私钥进行解密得到数据。加密和解密使用的是两个不同的密钥。

对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。

公钥加密的数据被私钥解密过程:明文 + 加密算法 + 公钥 = 密文,密文 + 解密算法 + 私钥 =明文

私钥加密的数据被公钥解密过成:明文 + 加密算法 + 私钥 =密文,密文 + 解密算法 + 公钥 = 私钥

 

3、https的通信过程

首先服务器像证书机构进行证书申请:
实际得到的证书是证书机构例如CA通过自己的私钥,将服务器提交的信息(服务器公钥,域名等)进行了签名,最终证书就包含(签名+服务器信息)

当客户端发起HTTPS请求时,
首先客户端发起一次Client Hello:附加支持的TLS版本,对称算法,非对称算法,Hash算法,客户端本地随机数
服务器收到后回应一次Server Hello,附加为确定选用的TLS版本,对称算法,非对称算法,Hash算法,服务端本地随机数。
接着服务器发起一次证书传递通信,将证书+证书机构信息(证书机构公钥,签发机构名称,位置等信息)交给操作系统根证书进行私钥签名并发送
客户端收到后,首先也是通过操作系统公钥进行签名解密与(证书+证书机构信息)Hash后验证。确定无误后,再通过证书的公钥对证书签名进行解密以及Hash验证,确认无误后即确定服务器公钥无误。

接着客户端生成一个pre master secret(随机数),通过服务器公钥加密,发送给服务器,接着客户端和服务端利用之前的随机数以及pre master secret生成对称加密的秘钥开始进行对称加密通信。

4、使用awk以冒号分隔获取/ettc/passwd文件第一列

[root@smdw ~]# cat /etc/passwd | awk -F: '{print $1}'

 

标签:公钥,私钥,证书,解密,安全,密钥,linux,加密
来源: https://www.cnblogs.com/N64849411472/p/16222582.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有