马哥36期第九周作业

2023-10-07 18:50
文章标签 36 作业 马哥 第九

本文主要是介绍马哥36期第九周作业,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、画出TSL链路的通信图

SSL: Secure Socket Layer
TLS: Transport Layer Security
1995:SSL 2.0 Netscape
1996: SSL 3.0
1999: TLS 1.0
2006: TLS 1.1 IETF(Internet工程任务组) RFC 4346
2008:TLS 1.2 当前使用
2015: TLS 1.3
功能:机密性,认证,完整性,重放保护
两阶段协议,分为握手阶段和应用阶段
握手阶段(协商阶段):客户端和服务器端认证对方身份(依赖于PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套
件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret生成。
应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信

马哥36期第九周作业

注:图片来源于马哥教育

2、如何让浏览器识别自签的证书

什么是自签名证书

公认的证书往往都需要收费,如果客户端与服务端都是由我们自己来操控,那便可以使用自签名证书

ca签名证书

ca签名证书,也就是我们自己当是认证的机构去认证一个证书,那么客户端新人该ca证书也代表着信任该ca证书签名的所有的自签名证书。

这里用openssl 实现自签名证书

OpenSSL是一套开源的密码学工具包

在SSL协议中,我们使用了很多密码学手段来保护数据,其中包括对称密码、公钥密码、数字签名、证书、完整性校验、伪随机数生成等。由于这些算法和操作都非常复杂,于是开源社区就开发了一套库,这个库里面提供了很多现成的标准方法,其他开发者只要用正确调用这些方法,就可以实现SSL协议中的各种加密/解密操作了。

linux环境下使用openssl生成ca证书与自签名证书

生成ca证书

1).生成ca证书的密钥key

openssl genrsa -des3 -out ca.key 1024

2).生成ca的自签名证书,是的,此处的ca证书也是一个自签名证书

openssl req -new -x509 -days 365 -key ca.key -out ca.crt

输入ca.key的使用密码后根据情况输入相应信息,在Commom Name选项中需要填写你要使用的域名

如果不想在调用密钥文件的时候输入密码,可以使用以下操作去除

openssl rsa -in ca.key -out ca.key

使用ca证书签名自签名证书

1).生成自签名证书密钥

openssl genrsa -des3 -out server.key 1024

2).生成自签名证书请求文件

openssl req -new -key server.key -out server.csr

输入相应信息后得到server.csr请求文件

3).使用ca证书对自签名证书请求文件进行签名

openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

3、搭建DNS服务器

centos6 (这里是6.7):

1、查看是否已安装Bind软件包,默认只有下面两个

[root@centos named]# rpm -qa | grep bind

bind-libs-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-utils-9.8.2-0.47.rc1.el6_8.4.x86_64

2、安装下面的这两个软件包:

bind-chroot-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-9.8.2-0.47.rc1.el6_8.4.x86_64

[root@centos named]# yum -y install bind-chroot-9.8.2-0.47.rc1.el6_8.4.x86_64 bind-9.8.2-0.47.rc1.el6_8.4.x86_64

安装完成查看是否成功安装

[root@localhost ~]# rpm -qa | grep bind

bind-devel-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-utils-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-chroot-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-libs-9.8.2-0.47.rc1.el6_8.4.x86_64

bind-9.8.2-0.47.rc1.el6_8.4.x86_64

//看到这个说明安装成功

本例中配置ip地址为:192.168.1.10 子网掩码255.255.255.0

主机名为centos.linux.com 并关闭防火墙和selinux

3、配置ip地址,子网掩码

[root@centos named]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

device=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTBROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
DNS1=8.8.8.8

//DNS根据实际情况配置。可以配置谷歌的8.8.8.8,也可以是您当地宿主机的dns

4、更改主机名

[root@centos named]# vim /etc/sysconfig/network

5、更改selinux为disabled

[root@centos named]# vim /etc/selinux/config

6、关闭防火墙守护进程

[root@centos named]# chkconfig iptables off
[root@centos named]# chkconfig --list iptables

7、重启系统,让配置生效

8、设置主DNS服务器:

[root@centos named]# cd /etc/
[root@centos named]# cp named.conf named.bak

先做一个备份,防止出错不能够恢复

9、编辑主配置文件,修改两个地方为any

[root@centos named]# vim /etc/named.conf

options {
listen-on port 53 { any;}; //{any:} 原内容改成 any
...
allow-query { any;}; //{any:} 原内容改成 any
...

10、编辑主配置文件
正反向区域的配置,可以直接写在/etc/named.conf中(不推荐),在/etc/named.conf最下方有两句include语句,其中include "/etc/named.rfc1912.zones";就是用来配置正反向区域配置的文件,当然也可以自定义(自定义需要在/etc/named.conf中include)

这里我们使用默认的配置文件/etc/named.rfc1912.zones,执行

vim /etc/named.rfc1912.zones

编辑这个文件,加入(以域名linux.com为例):

zone "linux.com" IN {

    type master;

    file "linux.com.zone";

};

反向区域如下,

zone "1.168.192.in-addr.arpa." IN {

type master;

file "1.168.192.zone";

};
11、修改正向配置文件

正反向解析区域文件都在/etc/named.conf的 directory 参数配置,默认是"/var/named"。

cd /var/named/ //进入这个目录

cp named.localhost linux.com.zone //将name.localhost 作为正向解析文件的模板,复制成linux.com.zone。在linux.com.zone里面更改 注意:最后的 点 这里面用tab键补齐,别用空格

马哥36期第九周作业
(图片来自网络)

12、修改反向配置文件(提示:可以拷贝正向解析文件去然后进行更改)

马哥36期第九周作业
(图片来自网络)

13、主配置,正反向配置完以后,检查bind文件配置过程中容易出错的地方,以下命令用于检查bind配置文件以及zone文件语法
这里是检查正向:

[root@centos named]# named-checkconf /etc/named.conf

[root@centos named]# named-checkzone linux.com /var/named/linux.com.zone

这里是检查反向:

[root@centos named]# named-checkconf /etc/named.conf

[root@centos named]# named-checkzone linux.com /var/named/1.168.192.zone

14、然后/etc/resolve.conf 添加自己的ip地址为域名服务器ip 192.168.1.10

vim /etc/resolve.conf
nameserver 192.168.1.10

15、重启服务

CentOS6.x 使用 service named restart重启named服务,使用chkconfig named on让服务开机启动。

CentOS7.x 使用 systemctl restart named重启named服务,使用systemctl enable named让服务开机启动。

这里当然是

[root@localhost named]# service named restart

[root@localhost named]# systemctl enable named

16、配置防火墙

CentOS7.x 是:

[root@localhost~]# firewall-cmd --zone=public--add-port=53/tcp --permanent

[root@localhost~]# firewall-cmd --zone=public--add-port=53/udp --permanent

重启防火墙以让更改立刻生效:

[root@localhost~]# firewall-cmd –reload

可使用以下命令检查配置是否成功:

[root@localhost~]# firewall-cmd --list-all

 

CentOS6.X是:

/sbin/iptables -I INPUT -p tcp --dport 53 -j ACCEPT

/sbin/iptables -I INPUT -p udp --dport 53 -j ACCEPT

保存规则:

/etc/rc.d/init.d/iptables save

重启防火墙以让更改立刻生效:

service iptables restart

17、检查之前先看下 配置文件有没有读取权限 ll /var/named

(如果没有读取权限, chmod +r /var/named/* 即可)

如果出现报错,输入

[root@centos etc]# tail /var/log/messages

查看错误文件,并更改


正向解析成功

[root@centos named]# nslookup www.linux.com

Server: 192.168.1.10

Address: 192.168.1.10#53

www.linux.com canonical name = centos.linux.com.

Name: centos.linux.com

Address: 192.168.1.10

反向解析成功

[root@centos named]# nslookup 192.168.1.10

Server: 192.168.1.10

Address: 192.168.1.10#53

10.1.168.192.in-addr.arpa name = centos.linux.com.

10.1.168.192.in-addr.arpa name = www.linux.com.

如果出现解析不成功的情况:

[root@centos named]# service network restart //先重启网络

Shutting down interface eth0: [ OK ]

Shutting down loopback interface: [ OK ]

Bringing up loopback interface: [ OK ]

Bringing up interface eth0: Determining if ip address 192.168.1.10 is already in use for device eth0...

                                                       [  OK  ]

[root@centos named]# service named restart //再重启DNS服务 最后再去尝试解析

Stopping named: . [ OK ]

Starting named: [ OK ]

4、熟悉DNSPOD的解析类型

DNSPod是国内提供智能DNS产品的网站,致力于为各类网站提供高质量的电信、网通、教育网双线或者三线智能DNS免费解析。目前DNSPod已经是国内最大的免费DNS解析产品提供商

A记录
如果需要将域名指向一个ip地址,就需要添加A记录
CNAME记录
如果需要将域名指向另一个域名,再由另一个域名提供ip地址,就需要添加CNAME记录
最常用到CNAME的情况包括:做CDN,做企业邮局
MX记录
如果需要设置邮箱,让邮箱能收到邮件,就需要添加MX记录
TXT记录
如果希望对域名进行标识和说明,可以使用TXT记录,绝大多数的TXT记录是用来做SPF记录(反垃圾邮件)
隐/显性URL记录
将一个域名指向另外一个已经存在的站点,就需要添加URL记录
AAAA记录
当您希望访问者通过IPv6地址访问您的域名时,可以使用AAAA记录
NS记录
如果需要把子域名交给其他DNS服务商解析,就需要添加NS记录
SRV记录
SRV记录用来标识某台服务器使用了某个服务,常见于微软系统的目录管理

这篇关于马哥36期第九周作业的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/159751

相关文章

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

培训第九周(部署k8s基础环境)

一、前期系统环境准备 1、关闭防火墙与selinux  [root@k8s-master ~]# systemctl stop firewalld[root@k8s-master ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.servi

关于大模型和AIGC的36条笔记和真话

行业到底有多卷? 最新统计,中国已有130多个大模型问世,在网信办备案的算法模型也超过70多家。BAT等互联网巨头悉数下场发布AI大模型,仅2023年就有超60家创业公司拿到融资,产品更是布满了基础层、模型层和应用层。新一代生成式AI,可能要回头看看上一代AI趟过的坑,不要行业自嗨,避免上一个冬天的轮回。在这个领域的从业者,更要清晰地看到行业的内卷和客户的痛点,别被大佬的鸡汤迷了眼。 1、

Java高级Day38-网络编程作业

112.网络编程作业 //1.使用字符流的方式,编写一个客户端程序和服务器端程序//2.客户端发送"name",服务器端接收到后,返回"我是nova"//3.客户端发送"hobby",服务器端接收到后,返回"编写java程序"//4.不是这两个问题,回复"你说啥呢"​​===============//客户端//===============public class SocketT

itoa()函数,10进制转换到(2~36)进制

先看下itoa()的函数说明吧: 功 能:把一整数转换为字符串   用 法:char *itoa(int value, char *string, int radix);    详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.    参数:  value: 待转化的整数。            radix:

0906作业+思维导图梳理

一、作业: 1、创捷一个类似于qq登录的界面 1)源代码 #include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget){ui->setupUi(this);//QPushbutton:登录、退出this->join = new QP

代码随想录Day 36|滑铁卢了,leetcode题目:1049.最后一块石头的重量、494.目标和、474.一和零

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 动态规划一、题目题目一:1049.最后一块石头的重量II解题思路: 题目二:494.目标和动态规划 (二维dp数组)#动态规划 (一维dp数组) 题目三: 474.一和零解题思路: 总结 动态规划 有点难了,之前差的有点多,找时间补 一、题目 题目一:1049.最后一块石头的重量II leetcode题目链接

2024.9.6 作业

1> 手写unique_ptr指针指针 #include <iostream>using namespace std;template <typename T>class my_unique_ptr{public:explicit my_unique_ptr(T *p = nullptr) noexcept // 构造函数{ptr = p;}~my_unique_ptr() noexcep

9月6号作业

1:.h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QWidget> #include<QIcon> //图标类 #include<QLabel> //标签类 #include<QMovie> //动图类 #include<QLineEdit> //行编辑器类

Flink实例(六十九): flink 作业提交(四)总结

独立集群提交 # 启动集群bin/start-cluster.sh# 提交job./bin/flink run ./examples/batch/WordCount.jar --input hdfs:/user/yuan/input/wc.count --output hdfs:/user/yuan/swwwttt yarn session # 启动集群./bin/