文章 78
评论 0
浏览 8365
2-实现DNS服务器

2-实现DNS服务器

4 实现主DNS服务器 4.1 主DNS服务器配置 在主配置文件中定义区域 [11:05:29 root@centos8 ~]#vim /etc/named.conf #注释掉下面两行 // listen-on port 53 { 127.0.0.1; }; // allow-query { localhost; }; zone "ZONE_NAME" IN { #ZONE_NAME填写区域名称 type {master|slave|hint|forward}; #从中选一个 file "ZONE_NAME.zone"; #解析库文件名称,放在/var/named/目录下 }; 定义区域解析库文件 内容包括 : 宏定义 资源记录 范例:区域数据库 $TTL 86400 $ORIGIN zhangzhuo.org. @ IN soA ns1.zhangzhuo.org admin.zhangzhuo.org ( 2015042201 1H 5M 7D 1D ) IN NS ns1 IN NS ns2 IN MX 10 mx1 IN MX 20 mx2 ns1 IN A....

1-DNS以及BIND软件介绍

1-DNS以及BIND软件介绍

1 名字解析介绍和DNS 当前TCP/IP网络中的设备之间进行通信,是利用和依赖于IP地址实现的。但数字形式的IP地址是很难记忆的。当网络设备众多,想要记住每个设备的IP地址,可以说是“不可能完成的任务”。那么如何解决这一难题呢?我们可以给每个网络设备起一个友好的名称,如:www.zhangzhuo.ltd,这种由文字组成的名称,显而易见要更容易记忆。但是计算机不会理解这种名称的,我们可以利用一种名字解析服务将名称转化成(解析)成IP地址。从而我们就可以利用名称来直接访问网络中设备了。除此之外还有一个重要功能,利用名称解析服务可以实现主机和IP的解耦,即:当主机IP变化时,只需要修改名称服务即可,用户仍可以通过原有的名称进行访问而不受影响。实现此服务的方法是多样的。如下面所述: 本地名称解析配置文件:hosts Linux: /etc/hosts windows: %WINDIR%/system32/drivers/etc/hosts #格式 122.10.117.2 www.magedu.org. 93.46.8.89 www.google.com. DNS:Domain Name.....

3-利用cobbler实现自动化安装

3-利用cobbler实现自动化安装

7 利用cobbler实现自动化安装 7.1 Cobbler简介 Cobbler是一款Linux生态的自动化运维工具,基于Python2开发,用于自动化批量部署安装操作系统;其提供基于CLI的管理方式和WEB配置界面,其中WEB配置界面是基于Python2和Django框架开发。另外,cobbler还提供了API,方便二次开发。Cobbler属于C/S模型(客户端/服务器模型) Cobbler主要用于快速网络安装linux操作系统,支持众多的Linux发行版如:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE等,甚至支持windows的安装 Cobbler实质是PXE的二次封装,将多种安装参数封装到一起,并提供统一的管理方法 官方文档:https://cobbler.readthedocs.io/en/latest/index.html 7.2 Cobbler的相关服务 使用Cobbler安装系统需要一台专门提供各种服务的服务器,提供的服务包括(HTTP/FTP/NFS,TFTP,DHCP),也可以将这几个服务分别部署到不同服务器。事实上在实际应用.......

2- 利用 PXE 实现自动化系统部署

2- 利用 PXE 实现自动化系统部署

6 利用 PXE 实现自动化系统部署 6.1 PXE介绍 PXE:Preboot Excution Environment,预启动执行环境,是由Intel公司研发,基于Client/Server的网 络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,可以引导 和安装Windows,linux等多种操作系统 PXE启动工作原理 6.2 利用PXE实现自动化安装流程 Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的所在TFTP服务器地址信息一并传送给Client Client向TFTP服务器发送获取pxelinux.0请求消息,TFTP服务器接收到消息之后,向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0 Client执行接收到的pxelinux.0文件,并利用此文件启.......

PAM之google_anthenticator模块ssh登录shell部署

PAM之google_anthenticator模块ssh登录shell部署

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2021-01-16 #FileName:pam_google_anthenticator.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2021 All rights reserved #******************************************************************** . /etc/init.d/functions #安装google-authenticator rpm -q google-authenticator &>/dev/null || { yum install -y google-aut....

6-时间同步服务、TCP_Wrappers和SELinux介绍

6-时间同步服务、TCP_Wrappers和SELinux介绍

7 时间同步服务 加密和安全当前都离不开时间的同步,否则各种网络服务可能不能正常运行 范例: 时间错误导致证书应用出错 7.1 计时方式 7.1.1 现代计时方式 石英晶体受到电池的电力影响时,会产生规律的振动。每秒的振动次数是32768次,可以设计电路来计算振动次数,当计数到32768次时,即计时1秒。1967年,瑞士人发布了世界上首款石英表 当原子从一个相对高的“能量态”迁至低的“能量态”时,会释放出电磁波,产生共振频率。依据此原理, 拉比构想出了一种全新的计时仪器——原子钟(Atomic clock) 因为原子的共振频率是固定的。如:铯原子(Caesium133)的固有频率是9192631770赫兹,约合92 亿赫兹,对铯原子钟计数9192631770次,即可测量出一秒钟。很多国家(包括我国和美国NIST)的标准局,就是用铯原子钟来作为时间精度标准的。GPS系统也是用铯原子钟来计时 2008年诞生的锶(Strontium87)原子钟,固有频率为429228004229873,约合430万亿赫兹,将精度提高到了10的17次方 2013年镱元素(ytterbium)制成的原子钟问世.....

5-PAM认证机制

5-PAM认证机制

6 PAM认证机制 6.1 PAM介绍 认证库:文本文件,MySQL,NIS,LDAP等 PAM:Pluggable Authentication Modules,插件式的验证模块,Sun公司于1995 年开发的一种与认证相关的通用框架机制。PAM 只关注如何为服务验证用户的 API,通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序一种认证框架,自身不做认证 6.2 PAM架构 PAM提供了对所有服务进行认证的中央机制,适用于本地登录,远程登录,如:telnet,rlogin,fsh,ftp,点对点协议PPP,su等应用程序中,系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略; 应用程序开发者通过在服务程序中使用PAM API(pam_xxxx( ))来实现对认证方法的调用;而PAM服务模块的开发者则利用PAM SPI来编写模块(主要调用函数pam_sm_xxxx( )供PAM接口库调用,将不同的认证机制加入到系统中;PAM接口库(libpam)则读取配置文件.....

4-文件完整性检查和sudo

4-文件完整性检查和sudo

4 文件完整性检查AIDE(Advanced Intrusion Detection Environment) 当一个入侵者进入了你的系统并且种植了木马,通常会想办法来隐蔽这个木马(除了木马自身的一些隐 蔽特性外,他会尽量给你检查系统的过程设置障碍),通常入侵者会修改一些文件,比如管理员通常用 ps aux来查看系统进程,那么入侵者很可能用自己经过修改的ps程序来替换掉你系统上的ps程序,以使用ps命令查不到正在运行的木马程序。如果入侵者发现管理员正在运行crontab作业,也有可能替换掉crontab程序等等。所以由此可以看出对于系统文件或是关键文件的检查是很必要的。目前就系统完 整性检查的工具用的比较多的有两款:Tripwire和AIDE,前者是一款商业软件,后者是一款免费的但功能也很强大的工具 AIDE(Advanced Intrusion Detection Environment高级入侵检测环境)是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过了 AIDE能够构造一个指定文件的数据库,它使用aide.conf作为其配置文件。AIDE数据库能够保存....

3-ssh服务

3-ssh服务

3 ssh服务 3.1 ssh服务介绍 ssh: secure shell protocol, 22/tcp, 安全的远程登录,实现加密通信,代替传统的 telnet 协议 具体的软件实现: OpenSSH:ssh协议的开源实现,CentOS 默认安装 dropbear:另一个ssh协议的开源项目的实现 SSH 协议版本 v1:基于CRC-32做MAC,不安全;man-in-middle v2:双方主机协议选择安全的MAC方式,基于DH算法做密钥交换,基于RSA或DSA实现身份认证 3.1.1 公钥交换原理 客户端发起链接请求 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥) 客户端生成密钥对 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密 客户端发送加密后的值到服务端,服务端用私钥解密,得到Res 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥) 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密 3.1.2 ssh加密通讯原理 3.2 op....

批量部署多台主机key验证脚本

批量部署多台主机key验证脚本

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2021-01-14 #FileName:ssh_host.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2021 All rights reserved #******************************************************************** . /etc/init.d/functions #执行脚本的主机IP地址,与密码 SET_IP=192.168.10.81 SET_PASS=123456 #远程主机的IP,与密码 IP=" 192.168.10.71 192.168.10.72 " PASS='123456' #在执行脚本的主机生成密钥和认证信息 ssh-keygen ....

2-OpenSSL

2-OpenSSL

2 OpenSSL 2.1 OpenSSL 介绍 官网:https://www.openssl.org/ OpenSSL计划在1998年开始,其目标是发明一套自由的加密工具,在互联网上使用。OpenSSL以EricYoung以及Tim Hudson两人开发的SSLeay为基础,随着两人前往RSA公司任职,SSLeay在1998年12月停止开发。因此在1998年12月,社群另外分支出OpenSSL,继续开发下去 OpenSSL管理委员会当前由7人组成有13个开发人员具有提交权限(其中许多人也是OpenSSL管理委员会的一部分)。只有两名全职员工(研究员),其余的是志愿者 该项目每年的预算不到100万美元,主要依靠捐款。 TLS 1.3 的开发由 Akamai 赞助 OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连线者的身份。这个包广泛被应用在互联网的网页服务器上 其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。OpenSSL可以运行在OpenVMS、 Microsoft Windows以及绝大多数类Uni....

一键搭建CA并申请多个证书 shell 脚本

一键搭建CA并申请多个证书 shell 脚本

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2021-01-13 #FileName:crets.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2021 All rights reserved #******************************************************************** #引用系统函数 . /etc/init.d/functions #生成创建CA所需的文件 [ ! -d /etc/pki/CA ] && mkdir -p /etc/pki/CA/{certs,crl,newcerts,private} &>/dev/null [ ! -f /etc/pki/CA/index.tx....

expect实现批量基于ssh的key部署

expect实现批量基于ssh的key部署

[14:04:26 root@centos8 ~]#cat push_ssh_key.sh #!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2021-01-12 #FileName:push_ssh_key.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2021 All rights reserved #******************************************************************** #对方主机的登录密码 PASS=123456 #测试expect软件是否安装没有安装进行安装 rpm -q expect &>/dev/null || yum -y install expect &>/dev/n....

1-安全机制

1-安全机制

1 安全机制 1.1 墨菲定律 墨菲定律:一种心理学效应,是由爱德华·墨菲提出的,原话:如果有俩种或俩种以上的方式去做某件事,而其中一种选择方式导致灾难,则必定有人会做出这种选择 主要内容: 任何事情都没有表面看起来那么简单 所有的事都会比你预计的时间长 会出错的事总会出错 如果你担心某种情况发送,那么它就更可能发生 1.2 信息安全防护的目标 保密性 Confidentiality 完整性 Integrity 可用性 Usability 可控制性 Controlability 不可否认性 Non-repudiation 1.3 安全防护环节 物理安全:各种设备/主机、机房环境 系统安全:主机或设备的操作系统 应用安全:各种网络服务、应用程序 网络安全:对网络访问的控制、防火墙规则 数据安全:信息的备份与恢复、加密解密 管理安全:各种保障性的规范、流程、方法 1.4 常见的安全攻击STRIDE Spoofing 假冒 Tampering 篡改 Repudiation 否认 Information Disclosure 信息泄漏 Denial of Service 拒绝服务....

文本处理三剑客之awk-9

文本处理三剑客之awk-9

4 文本处理三剑客之awk awk:Aho,Weinberger,Kernighan,报告生成器,格式化文本输出,GNU/Linux发布的AWK目前由自由软件基金会(FSF)进行开发维护,通常也称为GNU AWK 版本: AWK:原先来源于AT&T实验室的AWK NAWK:AT&T实验室的AWK的升级 GAWK:即GNU AWK。所有的GNU/Linux发布版都自带GAWK,他与AWK和NAWK完全兼容 gawk:模式扫描和处理语言,可以实现下面功能 文本处理 输出格式化的文本报表 执行算数运算 执行字符串操作 格式: awk [options] 'program' var=value file... awk [options] -f programfile var=value file... 说明: program通常是被放在单引号中,并可以由三种部分组成 BEGIN语句块,文本没有读取时就执行 模式匹配的通用块 END语句块,文本内容执行完毕后执行 常见选项: -F “分隔符”指明输入时用到的字段分隔符,默认的分隔符是若干个连续空白符 -v var=....

进程,系统性能和计划任务3

进程,系统性能和计划任务3

3 任务计划 通过任务计划,可以让系统自动的按时间或周期性任务执行任务 注意: 学习本节需要实现邮件通知,学习内容前必须安装并启动邮件服务 范例:环境准备 [root@centos8 ~]#yum -y install postfix [root@centos8 ~]#systemctl enable --now postfix 未来的某时间点执行一次任务 at 指定时间点,执行一次任务 batch 系统自行选择空闲时间去执行此处指定的任务 周期性运行某任务 cron 3.1 一次性任务 at工具 由包at提供 依赖与atd服务,需要启动才能实现at任务 at队列存放在/var/spool/at目录中,ubuntu存放在/var/spool/cron/atjobs目录下 执行任务时PATH变量的值和当前定义任务的用户身份一致 at 命令: at [option] TIME 常用选项: -V 显示版本信息 -t time 时间格式[[CC]YY]MMDDhhmm[.ss] -l 列出指定队列中等待运行的作业;相当于atq -d N 删除指定的N号作业;相当于atrm -c....

进程,系统性能和计划任务2

进程,系统性能和计划任务2

2 进程管理和性能工具 参考链接:http://www.brendangregg.com/linuxperf.html 2.1 进程树pstree pstree 可以用来显示进程的父子关系,以树形结构显示 格式: pstree [OPTION] [ PID | USER ] 常用选项: -p 显示PID -T 不显示线程thread,默认显示线程 -u 显示用户切换 -H pid 高亮显示指定进程及其前辈进程 范例: [19:17:24 root@centos8 ~]#pstree 1 [19:18:01 root@centos8 ~]#pstree zhang bash───ping [19:18:47 root@centos8 ~]#pstree -pT [19:19:05 root@centos8 ~]#pstree -u 2.2 进程信息ps ps 即 process state,可以进程当前状态的快照,默认显示当前终端中的进程,Linux系统各进程的相关信息均保存在/proc/PID目录下的各文件中 ps格式 ps [OPTION]... 支持三种选项: UNIX选....

进程,系统性能和计划任务1

进程,系统性能和计划任务1

内容概述 进程相关概念 进程工具 系统性能相关工具 计划任务 1 进程和内存管理 内核功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1.1 什么是进程 Process:运行中的程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位 进程ID(Process ID,PID)号码被用来标记各个进程 UID、GID和SELinux语境决定对文件系统的存取和访问权限 通常从执行进程的用户来继承 存在生命周期 进程创建: init:第一个进程,从Centos7以后为systemd 进程:都由其父进程创建,fork(),父子关系,Cow:Copy On Write 进程,线程和协程 1.1.1 进程 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是一种抽象的概念,从来没有统一的标志定义 进程的组成: 进程一般由程序、数据集合和进程控制块三部分组成。 程序用于描述进程要完成的功能,是控制进程执行的指令集: 数据集合是程序在执行时所需要的数据和工作区: 程序控制块(....

2-SHELL脚本编程进阶

2-SHELL脚本编程进阶

4 流程控制 4.1 循环 4.1.1 循环 while 格式: while COMMANDS; do COMMANDS; done while CONDITION; do 循环体 done 说明: CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件为“true”,则执行一次循环;直到条件测试状态为“false”终止循环,因此:CONDITION一般应该有循环控制变量;而此变量的值会在循环体不断地被修正 进入条件:CONDITION为true 退出条件:CONDITION为false 无限循环 while true; do 循环体 done while : ; do 循环体 done 范例: [11:03:16 root@centos8 ~]#sum=0;i=1;while ((i<=100));do let sum+=i;let i++;done;echo $sum 5050 范例:根据硬盘使用百分比来发送警告邮件 WARNING=80 while : ;do USE=`df | sed -rn '/^/dev/s#.* ([....

shell脚本利用循环调用expect在Centos和Ubuntu上批量创建用户

shell脚本利用循环调用expect在Centos和Ubuntu上批量创建用户

#!/bin/bash # #******************************************************************** #Author:zhangzhuo #QQ: 1191400158 #Date: 2020-12-29 #FileName:expect7.sh #URL: https://www.zhangzhuo.ltd #Description:The test script #Copyright (C): 2020 All rights reserved #******************************************************************** NET=192.168.10 user=root password=123456 IPLIST=" 71 102 " for ID in $IPLIST;do ip=$NET.$ID expect <<EOF set timeout 20 spawn ssh $user@$ip expect { "yes/no" { send ....

生而为人