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

测试脚本如下:

/data/ddoscheck.sh
#!/bin/bash
#
/usr/sbin/ss -tn | awk -F " +|:" '/ESTAB/{ip[$(NF-2)]++}END{for(i in ip)if(ip[i]>10) print i}' > /data/ip.txt
while read IP;do
/usr/sbin/iptables -A INPUT -s $IP -j REJECT
echo "The $IP reject" >> /data/dos.txt
done < /data/ip.txt [root@localhost ~]# cat /data/ip.txt
192.168.42.5
[root@localhost ~]# cat /data/dos.txt
The 192.168.42.5 reject [root@localhost ~]# iptables -n -L | more
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT all -- 192.168.42.5 0.0.0.0/0 reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination 监控频率每隔5分钟
[root@localhost ~]# crontab -l
*/5 * * * * /data/ddoscheck.sh
[root@localhost ~]#

2、描述密钥交换的过程

一、RSA密钥交换过程(没有前向安全性,攻击者可以把前面交互的内容保存着,一旦拿到私钥,就可以得到主密钥):

1、客户端准备一个Client Random随机数,并将此随机数和协议版本号以及支持的加密方式一起发给服务端。

2、服务端收到Client Random后,将服务端CA证书和服务端准备的Sever Random随机数一起发给客户端。

3、客户端校验服务端证书后并通过解密证书得到服务端的公钥,同时客户端再生成一个新的46位的隐私参数SecPara,并用服务端公钥对这个隐私参数进行加密后,发给服务端,此时客户端已存有Client Random,Server Random,SecPara。

4、服务端对数据解密后,获得SecPara。此时服务端也存有了Client Random,Server Random,SecPara。

5、客户端和服务端根据之前约定好的加密方法,利用这三个参数生成一个新的对称密钥,此密钥即为主密钥。

6、双方验证完主密钥的有效性后,后续的数据交互即用此密钥进行对称加密。

二、ECDHE密钥交换过程(利用DH原理,避免了预备主密钥的泄露,即使私钥泄露,攻击者也无法得到主密钥):

1、客户端准备一个Client Random随机数,并将此随机数和协议版本号以及支持的加密方式一起发给服务端。

2、服务端收到Client Random后,将服务端CA证书和服务端准备的Sever Random随机数、利用DH算法原理算出来的服务端DH参数一起发给客户端。

3、客户端校验服务端证书后并通过解密证书得到服务端的公钥,并根据DH算法原理得到客户端DH参数,将此参数利用服务端公钥加密后传给服务端,然后利用DH算法原理和服务端的DH参数得到预备主密钥

4、服务端得到客户端DH参数后,利用DH算法原理和客户端DH参数得到预备主密钥,按照DH原理,服务端算出的预备主密钥和客户端算出的预备主密钥是一致的,这样避免了预备主密钥的泄露。

5、再根据原先约定好的加密方式,利用Client Random,Server Random,预备主密钥三个参数生成一个新的密钥即为主密钥

6、双方验证完主密钥的有效性后,后续的数据交互即用此密钥进行对称加密。

3、https的通信过程


客户端发起HTTPS请求
用户在浏览器里输入一个https网址,然后连接到服务器的443端口;
服务端的配置
采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥;
传送服务器的证书给客户端
证书里其实就是公钥,并且还包含了很多信息,如证书的颁发机构,过期时间等等;
客户端解析验证服务器证书
这部分工作是有客户端的TLS来完成的,首先会验证公钥是否有效,比如:颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书中公钥对该随机值进行非对称加密;
客户端将加密信息传送服务器
这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了;
服务端解密信息
服务端将客户端发送过来的加密信息用服务器私钥解密后,得到了客户端传过来的随机值;
服务器加密信息并发送信息
服务器将数据利用随机值进行对称加密,再发送给客户端;
客户端接收并解密信息
客户端用之前生成的随机值解密服务段传过来的数据,于是获取了解密后的内容。

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

cat  /etc/passwd |awk -F":" '{print $1}'

linux作业--第七周的更多相关文章

  1. 20135302魏静静——linux课程第七周实验及总结

    linux课程第七周实验及总结 实验及学习总结 1. 编译链接的过程和ELF可执行文件格式(以hello为例) GNU编译系统编译源码: 首先,运行C预处理器(cpp),将.c文件翻译成.i文件——g ...

  2. Linux内核分析作业第七周

    一. 预处理.编译.链接 gcc hello.c -o hello. gcc编译源代码生成最终可执行的二进制程序,GCC后台隐含执行了四个阶段步骤. 预处理 → 编译 → 汇编 → 链接 预处理:编译 ...

  3. linux作业--第五周

    1.简述osi七层模型和TCP/IP五层模型 一.OSI参考模型 (1) OSI的来源 OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO ...

  4. linux作业--第八周

    1.创建私有CA并进行证书申请. 配置文件存放路径 /etc/pki/tls/openssl.cnf [ CA_default ] dir = /etc/pki/CA # Where everythi ...

  5. linux作业--第三周

    1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@localhost ~]# cat /etc/passwd | grep ...

  6. Linux入门-第七周

    1.编写脚本实现传入进程PID,查看对应进程/proc下CPU.内存指标. #!/bin/bash read -p "Input PID Value: " pid #读取PID进程 ...

  7. linux作业--第十一周

    1. 导入hellodb.sql生成数据库 (1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄 (2) 以ClassID为分组依据,显示每组的平均年龄 (3) 显示第2题中 ...

  8. linux作业--第十周

    1.在阿里云服务器搭建openv-p-n(有条件的同学再做) 2.通过编译.二进制安装MySQL5.7 编译安装MySQL5.7 安装相关包 yum -y install libaio numactl ...

  9. linux作业--第六周

    1.编写脚本实现登陆远程主机.(使用expect和shell脚本两种形式). #expect方式 yum -y install expect vim remote_ssh.sh #!/usr/bin/ ...

随机推荐

  1. Func<>用法

    Func是一个委托,委托里面可以存方法,Func<string,string>或Func<string,string,int,string>等 前几个是输入参数,最后一个是返回 ...

  2. Java链式写法

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11613067.html Java 链式写法:详细看代码 package chain; /** ...

  3. 让我一时不知所措 Linux 常用命令 爱情三部曲 下部

    Linux目录与文件管理 我试着把你忘记,可总在夜里想你~ 1.linux目录结构 2.查看及检索文件 3.压缩及解压缩文件 4.vi文本编辑器 1.Linux目录结构:树形目录结构根目录:所有分区, ...

  4. Ubuntu18 用新用户登录后退格键/方向键/制表键 乱码

    Ubuntu18新建用户后,用新用户登录,此时 退格键Backspace 变成了 ^H,且方向键.制表键.Del键等均失效 这样会造成很多的麻烦,解决方式有两种: 方式1:Ctrl + Backspa ...

  5. Java执行cmd命令、bat脚本、linux命令,shell脚本等

    1.Windows下执行cmd命令 如复制 D:\tmp\my.txt 到D:\tmp\my_by_only_cmd.txt 现文件如图示: 执行代码: private static void run ...

  6. HMS Core助力宝宝巴士为全球开发者展现高品质儿童数字内容

    本文分享于HMS Core开发者论坛<宝宝巴士携HMS Core为全球家庭用户提供优质儿童数字内容>采访稿整理 宝宝巴士是国内有着十多年出海经验的开发者,其旗下有超过200多款儿童益智互动 ...

  7. Fiddler监听Https请求响应

    Fiddler问题 - creation of the root certificate was not successful 解决办法: http://localhost:8888/    安装证书 ...

  8. 3、网络并发编程--udp代码、操作系统发展史、多道技术、进程理论

    昨日内容回顾 socket基本使用 # 内置的模块 import socket s = socket.socket() # 默认是TCP协议 也可以切换为UDP协议 s.bind((ip,port)) ...

  9. 理解Faster R-CNN

    首先放R-CNN的原理图 显然R-CNN的整过过程大致上划分为四步: 1.输入图片 2.生成候选窗口 3.对局部窗口进行特征提取(CNN) 4.分类(Classify regions) 而R-CNN的 ...

  10. Solution -「多校联训」行列式

    \(\mathcal{Description}\)   Link.   给定 \(x,\{d_i\}_{i=1}^n,\{p_i\}_{i=2}^n,\{b_i\}_{i=2}^n,\{c_i\}_{ ...