Linux运维学习记录05

一. 总结rocky 系统的启动流程,grub工作流程
rocky 系统的启动流程:
1.加载BIOS的硬件信息,获取第一个启动设备
2.读取第一个启动设备的MBR引导加载程序(grub)的启动信息
3.加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4.核心执行init程序,并获取默认的运行信息
5.init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根系统文件
6.启动核心的外挂模块
7.init执行运行的各个批处理文件(scripts)
8.init执行/etc/rc.d/rc.local
9.执行/bin/login程序,等待用户登录
10.登录后开始以shell控制主机

grub工作流程
阶段 1:
读取存储在MBR或EFI分区的GRUB Stage 1,主要是引导GRUB Stage 1.5或Stage 2。
阶段 1.5:
在传统BIOS系统中,Stage 1.5通常位于磁盘的引导扇区中,提供读取文件系统的能力。
阶段 2:
加载GRUB配置文件(/boot/grub2/grub.cfg),提供引导菜单。用户可以选择不同的内核或操作系统。
当用户选择某个引导项后,GRUB加载相应的内核和initramfs文件。
内核加载:
内核被加载到内存中,GRUB将控制权交给内核,完成引导过程。

二. 总结awk工作原理,awk命令,选项,示例
awk 是一种文本处理工具,适合从文件或输入流中按字段和行进行数据提取和格式化输出。其工作原理是逐行扫描输入文本,并根据指定的模式和动作执行操作。
结构
awk [options] 'program' var=value file…
选项:
-F:指定字段分隔符,默认是空格或制表符。
-v:赋值变量。
-f:从文件中读取 awk 脚本。
一些示例:
取文本最多的三个IP地址:

算术:

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

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

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

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

七. 总结内核设计流派及特点。
宏内核(monolithic kernel):又称单内核和强内核,unix,Linux吧所有系统服务都放在内核里,所有功能集成于同一个程序,分层实现不同功能。其实Linux在单内核实现了模块化,也就相当于吸收了微内核的优点
微内核(micro kernel):windows,Solaris,HarmonyOS。简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护,每种功能使用一个单独子系统实现,将内核功能移到用户空间,性能差。

八. 总结systemd服务配置文件
/lib/systemd/system #ubutun的对应目录,兼容于CentOS7,8和Ubuntu
/etc/systemd/system #管理员建立的执行脚本,类似于/etc/rcN.d/Sxx的功能
单元文件结构
[Unit]:定义服务的描述、依赖关系等。
Description:服务的简要描述。
After/Before:定义服务的启动顺序。
Requires/Wants:定义该服务所依赖的其他服务或目标。
[Service]:定义与服务相关的详细配置。
Type:服务类型(如 simple、forking、oneshot 等)。
ExecStart:定义服务启动时执行的命令。
ExecStop:定义服务停止时执行的命令。
Restart:定义服务何时重启(如失败时自动重启)。
User/Group:指定服务运行的用户和用户组。
[Install]:定义如何安装或启用服务。
WantedBy:定义该服务在哪些目标中启用(如 multi-user.target)。
Alias:服务的别名,用于命名不同服务的链接。

九. 总结system启动流程

  1. UEFi或BIOS初始化,运行POST开机自检
  2. 选择启动设备
  3. 引导装载程序, centos7是grub2,加载装载程序的配置文件:
    /etc/grub.d/
    /etc/default/grub
    /boot/grub2/grub.cfg
  4. 加载initramfs驱动模块(可以实现根文件系统的挂载)
  5. 加载虚拟根中的内核
  6. 虚拟根的内核初始化,Centos7使用systemd代替init,第一个进程
  7. 执行initrd.target所有单元,包括挂载/etc/fstab
  8. 从initramfs根文件系统切换到磁盘根目录
  9. systemd执行默认target配置,配置文件/etc/systemd/system/default.target
  10. systemd执行sysinit.target初始化系统及basic.target准备操作系统
  11. systemd启动multi-user.target下的本机与服务器服务
  12. systemd执行multi-user.target下的/etc/rc.d/rc.local
  13. Systemd执行multi-user.target下的getty.target及登录服务
  14. systemd执行graphical需要的服务

十. 总结DNS域名三级结构
一级域名:又称顶级域名,可分为三类,一类代表国家和地区(cn,hk,......),一类代表各类组织(com,edu,......),以及反向域
二级域名:某个具体组织,单位,机构,商业公司或个人使用,需要向域名管理机构申请(付费)才能获得使用权
三级域名:位于二级域名之前,用于进一步划分。例如,在 www.baidu.com 中,www 是三级域名。

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

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

十二. 实现私有DNS, 供本地网络主机作DNS递归查询
第一步在DNS SERVER上安装bind:

第二步打开 BIND 配置文件,检查对本地网络进行递归查询:

第三步在DNS SERVER 上实域名解析:

第四步设置具体解析规则并检查语法,重载生效:


第五步在在客户端主机上进行测试:

第六步在windows物理机上测试:

十三. 总结DNS服务器类型,解析答案,正反解析域,资源记录定义
DNS服务器类型:
主(Master)DNS服务器
这是负责管理特定域名的权威DNS服务器,拥有域名的原始数据库。它通过区域文件存储DNS记录,是域名解析的权威源头。该服务器直接维护和更新该域的DNS记录。

从(Slave)DNS服务器
从服务器通过主服务器复制区域文件,作为主服务器的备份。当主服务器不可用时,从服务器可以继续提供DNS解析服务。它的记录是只读的,不能直接修改。

缓存(Caching)DNS服务器
这种服务器没有自己的区域文件,而是根据客户端的查询结果缓存DNS解析结果。当用户请求相同的域名时,它会从缓存中提供响应,而不需要再次查询外部服务器。

递归(Recursive)DNS服务器
递归服务器为客户端进行域名查询的全过程,直到找到正确的IP地址或返回错误。它会依次查询根DNS服务器、顶级域(TLD)DNS服务器和权威DNS服务器。

转发(Forwarding)DNS服务器
转发服务器并不自己解析域名,而是将查询请求转发给其他递归或权威DNS服务器。它可以用于在内部网络中优化解析过程。

解析答案:
权威解析(Authoritative Answer)
当DNS服务器直接从自己的区域文件中提供查询结果时,称为权威解析。这类答案是准确和可信的,因为它来自管理该域名的权威服务器。

非权威解析(Non-authoritative Answer)
如果DNS服务器通过缓存返回结果,而非直接从其权威数据源返回,则该结果为非权威解析。缓存的结果可能会随着时间变化。

正反解析域:
正向解析:将域名解析成IP地址。

反向解析:根据IP地址得到该IP地址指向的域名。

资源记录定义:
A internet Address,将FQDN解析成IPV4地址,这是最常用的一种解析类型
AAAA IPV6 internet Address,将FQDN解析成IPV6地址
CNAME the canonical name for an alias,记录别名,将域名解析到另一个域名
HINFO host information,主机信息
KEY 安全密钥记录
MD 被废弃,使用 MX
MF 被废弃,使用 MX
MINFO mailbox or mail list information,邮箱或邮件列表信息
MX Mail eXchanger,用于邮件交换,指定邮件服务器
NS Name Server,将解析指向另外一个DNS,表示由被指定的DNS解析当前记录
PTR a domain name pointer,域名指针,用IP地址反向解析域名
SOA a marks the start of a zone of authority,标记权威区域的开始
SRV service and protocol,服务和协议
TXT text strings,文本字符串,此类型值长度限定不超过512个字符
WKS a well known service description/众所周知的服务描述

十四. 实现DNS主从同步,实现DNS子域授权
DNS主从同步:
第一步配置DNS MASTER


第二步在DNS SLAVE上创建slaves目录




第三步客户机测试

实现DNS子域授权:
第一步DNS MASTER 配置

第二步子域DNS配置


记录已经同步

第三步客户端测试

十五. 总结openssh服务安全加固和总结openssh免密认证原理,及免认证实现过程。
openssh服务安全加固:
禁用Root用户登录: 在/etc/ssh/sshd_config文件中设置PermitRootLogin no,防止通过SSH直接以root身份登录。
使用SSH协议版本2: 确保在配置文件中启用SSH协议版本2(Protocol 2),因为版本1已不再安全。
限制用户访问: 使用AllowUsers或AllowGroups指令,限制SSH登录的用户或用户组。
禁用密码认证: 设置PasswordAuthentication no,强制使用SSH密钥进行登录,从而提高安全性。
更改默认SSH端口: 将默认的22端口更改为非标准端口(Port xxxxx),以减少暴力破解的风险。
启用双因素认证(2FA): 配置SSH密钥和一次性密码(使用PAM模块如pam_google_authenticator),以提高登录安全性。
部署Fail2ban: 安装fail2ban,通过限制连续失败的登录尝试,防止暴力破解攻击。
禁用不必要的功能: 禁用不需要的转发功能,例如X11转发(X11Forwarding no)和代理转发(AllowAgentForwarding no)。

openssh免密认证原理:
原理: 免密认证依赖于非对称加密原理。客户端生成一对公钥和私钥,公钥存放在远程服务器上,服务器使用公钥加密一个挑战消息,只有对应的私钥才能解密。通过解密,服务器可以验证用户的身份。

免认证过程:


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

非对称加密:密钥是成对出现
公钥:public key,公开给所有人,主要给别人加密使用
私钥:secret key,private key 自己留存,必须保证其私密性,用于自已加密签名
特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
功能:
数据加密:适合加密较小数据,比如: 加密对称密钥
数字签名:主要在于让接收方确认发送方身份
缺点:
密钥长,算法复杂
加密解密效率低下
常见算法:
RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,可实现加密和数字签名
DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准)
ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学,比RSA加密算法使用更小的密钥,提供相当的或更高等级的安全

posted on 2024-09-23 08:02  yuleslie  阅读(14)  评论(0编辑  收藏  举报