1、
#!/bin/bash
LINK=100
while true ;do
ss -nt | awk -F"[[:space:]]+|:" '/^ESTAB/{print $(NF-2)}' | sort | uniq -c | while read count ip ;do
if [ $count -gt $LINK ]; then
iptables -A INPUT -s $ip -j REJECT
fi
done
done
2、描述密钥交换的过程
秘钥交换:IKE (Internet Key Exchange)
公钥加密:用目标的公钥加密对称秘钥
DH (Deffie-Hellman):生成对称(会话)密钥
对称加密算法可以看成为一个通过算法和一个秘钥,对明文进行处理,变成一个无规则无意义的数据的算法。
对称密钥加密:双方共同持有这个密钥,发送方用这个密钥按照指定的算法将这个数据加密,在发出去;接受方用这个密钥将接收到的数据解密,以得到真实的数据含义。由于双方都持有这个密钥,而且内容相同,所以叫对称秘钥
加密过程:明文 + 加密算法 +私钥 = 公钥
解密过程:密文 + 解密算法 + 私钥 = 明文
非对称密钥加密:这种加密方式是密钥是一对的,一个是公钥public,一个是私钥privatekey。
发送方生成一对密钥,并将公钥公开,用公钥将数据加密,在发送出去;接受方使用密钥(发送方的公钥)对加密数据进行加密后在发送给发送方。发送方用自己的私钥对加密的信息进行解密得到数据,发送方想要回复接收方时候正好相反,使用接收方的公钥进行数据加密,同理,接收方用自己的私钥进行解密得到数据。加密和解密使用的是两个不同的密钥。
对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。
公钥加密的数据被私钥解密过程:明文 + 加密算法 + 公钥 = 密文,密文 + 解密算法 + 私钥 =明文
私钥加密的数据被公钥解密过成:明文 + 加密算法 + 私钥 =密文,密文 + 解密算法 + 公钥 = 私钥
3、https的通信过程
https协议:就是HTTP协议和ssl/tls协议的组合HTTP over SSL 或者 HTTP over TLS,对http协议的文本数据进行加密处理后,成为二进制形式传输。
http协议:Hyper Text Transport Protocol,超文本传输协议,是一个请求-响应协议
SSL:Secure Socket Layer,安全套接层协议
TLS:Transport Layer Security,安全传输协议
HTTPS是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包.
https同时使用对称加密和非对称加密。数据是被对称加密传输的,对称加密过程需要客户端的一个密钥,为了确保把该密钥安全传输到服务器端,采用非对称加密进行对该密钥进行加密传输。即,对数据进程对称加密,对要解密的密钥进行非对称加密传输。
HTTPS工作过程:
**https在传输中涉及的密钥即:**服务器端的公钥和私钥,进行非对称加密;客户生成的随机值,用来对称加密。
1.客户端发起HTTPS请求:
用户在浏览器中输入https网址,然后通过连接到服务器443端口
2.服务器端的配置:
采用https协议的服务器必须要有一套数字证书,可以是自己制作也可也是申请的。区别是自己颁发的证书需要客户端的验证通过,才可以继续访问,使用受信任的组织颁发的证书则不会弹出提示页面。这套证书就是一对公钥和私钥
3.传送服务器的证书给到客户端
证书即是公钥加上其他信息,如颁发的机构和证书有效期时间
4.客户端收到解析验证服务器发来的证书
通过客户端的安全传输协议TLS来完成,验证公钥是否有效,比如颁发的组织结构,过期时间等。如果发现异常,则会弹出提示警告框, 提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书中的公钥对该随机值进行非对称加密,传给服务器
5.客户端将加密的信息传送到服务器。
传送到服务器的是用证书加密后的随机值,目的是让服务器得到这个随机值,之后客户端和服务器端的通信可以通过这个随机值进行数据的加密和解密。
6.服务器端解密数据信息
服务器端将客户端发送来的加密信息用服务器私钥解密后,得到客户端传来的随机值
7.服务器加密信息并发送信息给客户端
服务器将数据利用随机值进行对称加密在发送给客户端
8.客户端收到并解密信息
客户端用之前生成的随机值解密服务器传来的数据,获取解密之后的内容。
4、
awk -F: '{print $1}' /etc/passwd | head -1