第五周-awk,dns域名解析和加密安全

1. 总结rocky 系统的启动流程,grub工作流程
         加电自检(post)--->MBR引导--->GURB--->加载内核

        1)加电自检(post):是BIOS功能的一个主要部分,负责完成对CPU、主板、内存等硬件系统的检测

        2)加载启动加载器(bootloader):bootloader是引导加载程序,负责加载内核文件到内存中,并传递一些参数给内核

        3)加载内核:探测可识别到的所有硬件设备--->加载硬件驱动程序--->以只读方式挂载根文件系统--->运行用户空间的第一个应用程序:/sbin/init

        4)init初始化:执行 init 程序,并获取默认的运行信息---> init 程序执行 /etc/rc.d/rc.sysinit 文件,重新挂载根文件系统--->init 执行运行的各个批处理文件 (scripts)---> init 执行 /etc/rc.d/rc.local

        5)执行 /bin/login 程序,等待用户登录

        6)登录之后开始以 Shell 控制主机

grub工作流程:

grub1 阶段:存储在0磁道0扇区的前446字节空间内

grub1.5 阶段:1扇区到2047扇区,存储2阶段的文件系统驱动,保证2nd中的文件可读

grub2 阶段:解析/boot/grub.conf文件内容,加载内核文件和伪根文件系统驱动到内存

2. 总结awk工作原理,awk命令,选项,示例。

awk工作原理:awk是一个文本处理工具之一,以空格或tab键为默认分隔符,它和sed一样都是将文本逐行处理将最终得到的结果进行输出,唯一不同的是sed偏向于整行数据处理,而awk可以对整行,也可以将一行分成多个字段分别处理。

awk命令:

动作print:打印字符串

用于计算:

-F:指明输入时用到的字段分隔符,默认的分隔符是若干个连续空白符

例如:以:为分隔符,打印/etc/passwd第一行

变量:

-v:自定义变量

-FS 分别代表“列,分隔符”

-O:输出

例如:以“:”为分隔符,输出用户id。用户和用户id之间以“;”为分割。

BEGIN模式:仅在开始处理文件中的文本之前执行一次

RS:定义分隔符

以“;”为分隔符,输出文本

NF:字段数量

取磁盘占用情况最后一列

取磁盘占用情况倒数第二列

NR:记录行号

例:输出大于等于6,小于等于3的数

取奇、偶数行

打印/etc/passwd的b开头到s开头的行

3. 打印/etc/passwd的奇数行

4. 打印Linux系统的"IP地址,系统版本,CPU核心,内存大小"

5. 在文本的所有行前加序号

6. 统计某个文件夹下的文件占用的字节数。

wc -m即可统计

7. 总结内核设计流派及特点。

宏内核(monolithic kernel):又称单内核和强内核,Unix,Linux

        把所有系统服务都放到内核里,所有功能集成于同一个程序,分层实现不同功能,系统庞大复杂,Linux其实在单内核内核实现了模块化,也就相当于吸收了微内核的优点

微内核(micro kernel):Windows,Solaris,HarmonyOS

        简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护,每种功能使用一个单独子系统实现,将内核功能移到用户空间,性能差

8. 总结systemd服务配置文件

Systemd服务配置文件包括[Unit]、[Service]和[install]三个部分。
Unit 定义服务的描述和依赖关系。
[Service] 定义如何启动、重启服务的行为, 只有Service类型的Unit才有这个区块。
[install] 用于描述服务的安装信息,包括服务的启动级别、启动顺序等。

9. 总结system启动流程

1、BIOS/UEFI 引导:

计算机启动时,BIOS/UEFI 执行硬件自检,然后加载引导加载程序(如 GRUB)。

2、内核加载:

引导加载程序加载 Linux 内核到内存。

3、初始化 RAM 磁盘 (initrd):

如果需要,内核加载 initrd,它包含一些临时文件系统和驱动程序。

4、内核初始化:

内核进行初始化,包括设置硬件、内存管理、启动内核线程等。

5、用户空间初始化:

内核启动 systemd 作为第一个用户空间进程(PID 1)。

6、systemd 启动:

systemd 读取 /etc/systemd/system 和 /lib/systemd/system 目录下的配置文件。

systemd 开始执行 /etc/systemd/system/.wants/ 和 /lib/systemd/system/.wants/ 目录中列出的服务。

7、目标(Target)单元:

systemd 根据配置启动目标单元,例如 multi-user.target 或 graphical.target。

这些目标单元定义了一组服务和资源,它们共同定义了系统的运行级别。

8、服务启动:

systemd 根据依赖关系和服务单元文件启动必要的服务。

服务可以是简单的后台程序、网络服务、硬件驱动等。

9、套件初始化:

systemd 启动套件初始化服务,如 NetworkManager、sshd 等。

10、用户登录:

systemd 启动显示管理器(如果配置了图形目标)或终端服务(如果配置了多用户目标)。

用户可以登录系统。

11、启动完成:

所有必要的服务都已启动,系统完全运行。

10. 总结DNS域名三级结构

根域: 全球根服务器节点只有13,10个在美国,1个荷兰,1个瑞典,1个日本

一级域名:Top Level Domain: tld

三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域 :com, edu, mil, gov, net, org, int,arpa

二级域名:wang.org

三级域名:study.wang.org

最多可达到127级域名

11. 总结DNS服务工作原理,涉及递归和迭代查询原理

当用户在浏览器中输入一个域名时,浏览器会向本地 DNS 服务器发送一个 DNS 查询请求。本地 DNS 服务器如果不知道该域名对应的 IP 地址,会向其他 DNS 服务器发送查询请求,直到找到该域名对应的 IP 地址为止。

比如:

1、当客户端主机决定访问 https://www.baidu.com 这个域名时,首先会查询本机缓存;
2、如果本机缓存没有解析记录,则会向其配置的DNS服务器发起解析请求;
3、DNS代理解析服务器会先查询其缓存是否有这条解析记录,如果有,则直接返回,如果没有,则继续向上解析;
4、DNS代理解析服务器会向根域名服务器发起解析请求,根域名服务器返回com域名的DNS地址;
5、DNS代理解析服务器继续向com域名服务器发起解析请求,com域名服务器返回 baidu.com 域名服务器的DNS地址;
6、DNS代理解析服务器继续向baidu.com域名服务器发起解析请求,baidu.com域名服务器返回 www.baidu.com 域名服务器的DNS地址;
7、DNS代理解析服务器继续向www.baidu.com的IP地址存入本机缓存,再读取缓存,将IP地址发送给客户端主机;
8、客户端主机通过IP地址顺利访问 https://www.baidu.com。

递归查询:当用户在浏览器中输入一个域名时,本地DNS会对此域名进行解析,如果有结果就直接返回用户,没有结果,本地DNS会向根域发起询问(每台计算机默认嵌入根域),根域返回相应结果,本地DNS拿到结果后,继续向下一个服务器发起查询请求,直到拿到用户输入的域名所对应的IP后才将最终结果返回给用户。

递归查询一般存在于用户和本地DNS服务器之间,用户输入域名后,本地DNS服务器会代表用户向其他DNS服务器发起递归查询,直到拿到最终结果才会返回给用户。

迭代查询:用户在浏览器输入域名,本地DNS查不到结果,询问根域,根域返回一个结果,本地DNS拿着这个结果去询问下一个DNS服务器,这种服务器之间结果的回应就是迭代查询;

迭代查询存在于DNS服务器之间,当一个DNS服务器收到查询请求时,它会返回下一个应该查询的DNS服务器的信息,这样发起查询的DNS服务器(或支持迭代查询的客户端)会不停地向下访问,直到拿到最终结果。

12. 实现私有DNS, 供本地网络主机作DNS递归查询。

DNS服务端:10.0.0.8              ---为客户端主机提供DNS解析服务
DNS客户端:10.0.0.7              ---客户端主机将DNS指向DNS服务端10.0.0.8
WEB服务器:10.0.0.158            ---提供web网站

一、DNS服务端配置:

        1)bind安装及服务启动

#服务端安装bind
yum install bind bind-utils -y


#启动bind服务
systemctl enable --now named
#检查bind服务开启状态
systemctl status named

        2)bind配置更改:

        更改bind配置,使服务器本机dns解析服务能够对外提供

        3)dns服务端网卡配置更改:

        /etc/resolv.conf中查看DNS指向:

        在/etc/sysconfig/network-scripts/ifcfg-eth0更改网卡中DNS配置,使DNS指向本机:

#重启服务,使服务生效
nmcli connection reload
#连接网卡
nmcli connection up eth0

        查看配置是否生效

        查看dns是否指向本地机

        4)验证

查看端口监听是否在服务器的ip端口

dns是否指向dns服务器

二、客户端配置及验证

        1)使客户端dns指向服务器:

        重启网卡,查看dns指向:

        验证:


13. 总结DNS服务器类型,解析答案,正反解析域,资源记录定义

(1)服务器类型
        主域名服务器:负责维护一个区域的域名信息,是该区域的权威服务器,主要负责对顶级域名(诸如.com、.org 等)信息的管理。
        权威域名服务器:用于存储和管理特定域名下全部主机记录。
        本地域名服务器:这是组织内部用于解析内部域名的 DNS 服务器。
        缓存域名服务器:其核心作用在于提升 DNS 查询效率,通过缓存已查询过的域名及其相应的 IP 地址来加快查询速度。
        转发域名服务器:它会把用户的查询请求转发至其他 DNS 服务器,并将结果反馈给用户。
        反向 DNS 服务器:用于将 IP 地址解析为域名,通常和正向 DNS 服务器配合使用,以确保网络通信的可靠性与安全性。

(2)解析答案
        当用户浏览器访问一个域名的时候,本地dns服务器会首先查询本地是否有与此域名对应的ip以及此ip的缓存,如果有对应ip或缓存则返回相应ip给用户,如果没有则去请求根域服务器,根域服务器告知本地dns服务器相关顶级域,本地dns服务器再去访问顶级域服务器,这样层层递归访问直至拿到用户输入访问的域名对应的ip,将此ip返回给用户为止。
        用户与本地dns服务器的交互为递归,本地dns对其他dns服务器的请求为迭代查询,当用户访问域名的时候,由本地dns迭代访问其他服务器,用户只需要等待最终结果即可。

(3)正反解析
正向解析:将域名解析成对应的ip地址
反向解析:将ip地址转换成与之相对应的域名
(4)资源记录
DNS 服务器使用资源记录(Resource Record,RR)来存储域名信息。
A 记录:将域名映射到 IPv4 地址。
AAAA 记录:将域名映射到 IPv6 地址。
CNAME 记录:将一个域名别名映射到另一个域名。
NS 记录:指定区域的名称服务器。
MX(Mail eXchange)资源交换记录:指向一个邮件服务器,在电子邮件系统发送邮件时,可依据收信人的地址后缀来定位邮件服务器

14. 实现DNS主从同步,实现DNS子域授权

DNS主服务器:10.0.0.8      ---------为客户端主机提供DNS解析
web服务器:10.0.0.158      ---------------提供web网站
DNS子域服务器:10.0.0.28   -------------DNS委派
DNS从服务器:10.0.0.9      --------------实现DNS服务冗余
客户端:10.0.0.10          --------------验证主从同步,子域授权

主服务器配置:

 在/etc/name.conf文件中注释可知,该文件包含数据库文件

在文件中添加域名和数据库关系配置

vim /var/named/liudaya.org.zone  #目录下写区域数据库文件(文件名需和named.rfc1912.zones保持一致)

$TTL 86400
@       IN      SOA     dns.liudaya.org.        2820301194@qq.com.      (  20250109 3H 10M 1D 1W )
                NS      DNS1
bj              A       bjdns          ###子域委派---子域授权方法1
dns1            A       10.0.0.8       ####主DNS
www             A       10.0.0.158     ####web
www.sh          A       1.1.1.1        ####子域------子域授权方法2


##20250109---序列号
##3H---刷新时间
##10M---重试时间
##1D---过期时间
##1w--否定答案的TTL值


#保存退出文件后查看named文件下其他同类型文件情况,使新建的数据库文件与其他数据库文件权限,所属组/主保持一致
[root@rocky named]# ll
total 20
drwxrwx--- 2 named named   23 Jan  7 15:07 data
drwxrwx--- 2 named named   60 Jan  8 23:12 dynamic
-rw-r----- 1 root  named  176 Jan  9 00:15 liudaya.org.zone
-rw-r----- 1 root  named 2253 Apr 13  2022 named.ca
-rw-r----- 1 root  named  152 Apr 13  2022 named.empty
-rw-r----- 1 root  named  152 Apr 13  2022 named.localhost
-rw-r----- 1 root  named  168 Apr 13  2022 named.loopback
drwxrwx--- 2 named named    6 Apr 13  2022 slaves

chown --reference=named.ca liudaya.org.zone  #参考named.ca的文件属性情况,copy到新建文件中

二、从DNS服务器配置:

        bind安装及配置

yum install bind -y  #安装bind

#修改bind配置,使能够对外提供服务,注释掉监听53端口和允许查询配置即可

vim /etc/named.rfc1912.zones #添加域名和关系库配置:

#启动named服务:
systemctl enable --now named

验证关系库文件是否同步到指定路径

三、web服务器搭建:

apt install nginx -y    #安装nginx

vim /var/www/html/index.html    #编辑网站内容
<h1>happy NewYear </h1>

验证

四:客户端验证:

客户端dns指向配置:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.10
PREFIX=24
GATEWAY=10.0.0.2
DNS1=10.0.0.8      #DNS指向主DNS
DNS2=10.0.0.9      #DNS指向从DNS
ONBOOT=yes          



##重新连接网卡使刚刚的配置生效
[root@slave network-scripts]# nmcli connection reload 
[root@slave network-scripts]# nmcli connection up eth0 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

        验证指定从服务器是否能解析dns

停掉主DNS,验证从DNS是否能解析

验证从DNS是否能解析:

子域委派DNS服务配置(步骤上述过程搭建主DNS时以配置,可参考。故本条不再展示过程):

        ---需安装bind和相关解析服务配置以及dns数据库配置

        域名为bj.liudaya.org

客户端验证:

15. 总结openssh服务安全加固和总结openssh免密认证原理,及免认证实现过程。

1)安全加固
禁止root用户直接登陆
修改ssh登陆端口号
采用黑白名单限制特定的用户登陆
采用秘钥取代密码登陆
(2)免密认证原理


客户端生成公私钥,ssh-keygen命令生成ssh-copy-id命令或手动将客户端的公钥复制到服务器上的指定位置(通常是用户家目录下的.ssh/authorized_keys文件)。
(3)实现过程
客户端尝试通过SSH连接到服务器,并发送其用户名和公钥
服务器接收到客户端的连接请求后,在其~/.ssh/authorized_keys文件中查找与客户端发送的公钥相匹配的条目。如果找到匹配的公钥,服务器将继续下一步;否则,连接将被拒绝。
如果找到匹配的公钥,服务器会生成一个随机的字符串(通常称为“挑战”),并使用客户端提供的公钥进行加密后发送给客户端。
客户端接收到挑战后,使用其私钥对挑战进行解密。并将解密后的字符串(通常称为“响应”)发送回服务器。
服务器将收到的响应与之前的挑战进行对比,如果一致,则允许客户端免密码登录。

16. 总结对称加密和非对称加密的概念和常见的加密算法

对称加密:加密和解密使用同一个密钥
特性:
       1. 加密、解密使用同一个密钥,效率高
        2.将原始数据分割成固定大小的块,逐个进行加密
缺陷:
        1.密钥过多
        2.密钥分发
        3.数据来源无法确认
常见对称加密算法:
        DES: Data Encryption Standard, 56bits
        3DES:
        AES: Advanced (128,192,256bits)
        Blowfish, Twofish
        IDEA,RC6,CAST5

非对称加密:密钥是成对出现

        公钥:publickey,公开给所有人,主要给别人加密使用

        私钥:secret key,private key 自己留存,必须保证其私密性,用于自己加密签名·特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然功能

        数据加密:适合加密较小数据,比如: 加密对称密钥

        数字签名:主要在于让接收方确认发送方身份

缺点:
        密钥长,算法复杂
        加密解密效率低下
常见算法:
        RSA:由 RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,可实现加密和数字签名

        DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准)

        ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学,比RSA加密算法使用更小的密钥提供相当的或更高等级的安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值