第5周
第5周
1、SUDO,PAM配置规范说明
sudo配置规范说明:
配置文件格式说明:/etc/sudoers, /etc/sudoers.d/
配置文件中支持使用通配符 glob
? 任意单一字符
* 匹配任意长度字符
[wxc] 匹配其中一个字符
[!wxc] 除了这三个字符的其它字符
\x 转义
[[alpha]] 字母
格式说明:
user: 运行命令者的身份
host: 通过哪些主机
(runas):以哪个用户的身份
command: 运行哪些命令
sudoers的别名
User和runas:
username
#uid
%group_name
%#gid
user_alias|runas_alias
host:
ip或hostname
network(/netmask)
host_alias
command:
command name
directory
sudoedit
Cmnd_Alias
别名格式:
[A-Z]([A-Z][0-9]_)*
别名定义:
Alias_Type NAME1 = item1,item2,item3 : NAME2 = item4, item5
配置规范
被授权用户名 登录主机=(代表用户) 命令
user host=(ALL) command 此处写该命令的绝对路径
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
ju ALL=(root) /sbin/pidof,/sbin/ifconfig
pam配置规范说明:
vim /etc/pam.d/<APP>
type control module-path arguments
1.APP:指定服务名,如:telnet、login、ftp等,服务名字“other”代表所有没有在该文件中明确配置的其他服务
2.type:指模块类型,即功能
linux-PAM有四种模块类型:认证管理(auth)、帐号管理(account)、会话管理(session)和密码管理(password)。一个类型可能有多行,它们按顺序依次由PAM模块调用。
3.control:PAM库该如何处理与该服务相关的PAM模块的成功或失败情况,一个关键词实现
控制标记分为五种:required、requisite、sufficient、optional、include
4.module-path:用来指明本模块对应的程序文件的路径名
即要调用模块的位置,如果是64位系统,一般保存在/lib64/security,同一模块可以出现在不同的类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型,编制了不同的执行函数。
5.arguements:用来传递给该模块的参数
2、chrony搭建私有ntp服务
服务端配置:
[20:37:00 root@rocky8 ~]#vi /etc/chrony.conf
server ntp.aliyun.com iburst
server time1.cloud.tencent.com iburst
server s1b.time.edu.cn iburst
# Allow NTP client access from local network.
allow 10.0.0.0/8
[20:40:25 root@rocky8 ~]#systemctl restart chron
[20:40:41 root@rocky8 ~]#chronyc sources -v
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| / 'x' = may be in error, '~' = too variable, '?' = unusable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- 203.107.6.88 2 6 37 48 -7397us[-7397us] +/- 40ms
^* 106.55.184.199 2 6 37 59 +57us[+1618us] +/- 52ms
^? 202.112.1.34 0 7 0 - +0ns[ +0ns] +/- 0ns
客户端配置:
[20:37:31 root@Rocky8 ~]#vi /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#pool 2.rocky.pool.ntp.org iburst
server 10.0.0.3 iburst
[20:47:11 root@Rocky8 ~]#systemctl restart chronyd
[20:41:58 root@Rocky8 ~]#chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 10.0.0.3 3 6 17 43 -8642ns[+1428ns] +/- 56ms
3、说明CDN原理
1.用户在浏览器输入访问的域名,操作系统向本地Dns查询域名的ip地址.
2.本地Dns向根DNS查询域名的顶级域名服务器(这里假设LocalDns缓存过期)
3.根DNS将顶级域名dns记录回应给本地Dns,本地Dns向顶级域名服务器查询权限域名服务器
4.本地Dns得到权限域名dns记录后,向权限域名dns服务器查询域名的ip地址
5.权限域名dns服务器查询到域名记录后(一般是CNAME),回应给本地Dns
6.本地Dns得到域名记录后,向智能调度DNS查询域名的ip地址
7.智能调度DNS根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给本地Dns
8.本地Dns将得到的域名ip地址,回应给客户端
9.用户得到域名ip地址后,访问站点服务器
10.CDN节点服务器应答请求,将内容返回给客户端.(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)
4、搭建智能DNS,实现不同地域客户端解析到不同主机
CDN是实现互联网用户就近访问
公司内部局域网实现用户就近访问网络需使用ACL功能
步骤:
1.先创建两套数据库文件
2.vim /etc/named.conf修改named.conf配置文件
acl beijingnet {
10.0.0.0/24;
11.0.0.0/24;
};
acl shanghai {
192.168.10.0/24;
192.168.20.0/24;
};
删除配置文件中zone "." IN {}整体的内容
view beijingview {
match-clients { beijingnet; };
include "/etc/named.rfc1912.zones.bj";
};
view shanghaiview {
match-clients { shanghainet; };
include "/etc/named.rfc1912.zones.sh";
};
3.建立view ,将ACL和区域数据库文件实现对用关系,以实现智能DNS
vim /etc/named.rfc1912.zones.bj
zone "." IN {
type hint;
file "named.ca";
};
zone "magedu.org" {
type master;
file "magedu.org.zone.bj";
};
vim /etc/named.rfc1912.zones.sh
zone "." IN {
type hint;
file "named.ca";
};
zone "magedu.org" {
type master;
file "magedu.org.zone.sh";
};
5、解释DNS解析流程
1、主机首先向其本地域名服务器进行递归查询。
2、本地域名服务器采用迭代查询,它先向某个根域名服务器查询。
3、根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器的IP地址。
4、本地域名服务器向顶级域名服务器进行迭代查询。
5、顶级域名服务器告诉本地域名服务器,下一次应查询的权限域名服务器的IP地址。
6、本地域名服务器向权限域名服务器进行迭代查询。
7、权限域名服务器告诉本地域名服务器所查询的域名的IP地址。
8、本地域名服务器最后把查询的结果告诉主机。
6、iptables 5表5链解释
5表
security -->raw-->mangle-->nat-->filter
五表解释:
filter:过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表
nat:network address translation 地址转换规则表
mangle:修改数据标记位规则表
raw:关闭启用的连接跟踪机制,加快封包穿越防火墙速度
security:用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现
5链
INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING
五链解释:
五链解释:
INPUT, 进内核(包含:filter,mangle)
OUTPUT, 出内核(包含:filter,nat,mangle,raw)
FORWARD, 转发(包含:filter,mangle)
PREROUTING,前置路由检查(包含:nat,mangle,raw)
POSTROUTING 后置路由检查(包含:nat,mangle,raw)
三种报文流向
流入本机:PREROUTING --> INPUT–>用户空间进程
流出本机:用户空间进程 -->OUTPUT–> POSTROUTING
转发:PREROUTING --> FORWARD --> POSTROUTING
7、iptables/firewalld/nftable 实现主机防火墙。5000-6000端口仅192.168.0.0/24网段内的主机访问
Iptables:
iptables -A INPUT -p tcp --dport 5000:6000 ! -s 192.168.0.0/24 -j REJECT
firewalld:
firewalld-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 port port=5000-6000 accept'
8、mysql的各发行版有哪些 ?
MySQL Community Server是社区版本,开源免费,但不提供官方技术支持。
MySQL Enterprise Edition企业版本,需付费,可以试用30天。
MySQL Cluster集群版,开源免费。
MySQL Workbench(GUI TOOL)一款专为MySQL设计的ER/数据库建模工具。
MySQL Workbench又分为两个版本:
1.分别是社区版(MySQL Workbench OSS)
2.商用版(MySQL Workbench SE)。
9、mysql索引的作用
索引是对数据库表中一列或者多列的值进行排序的一种结构,就像是一本书的目录,使用索引可以快速访问数据表中的特定信息,提高数据查询效率。
作用:
1. 大大加快数据检索的速度
2. 加速表和表之间的连接
3. 将随机I/O变成顺序I/O
4. 帮助引擎层避免排序和临时表
10、mysql btree索引的原理
B-Tree 结构的数据可以让系统高效的找到数据所在的磁盘块
B树的特征:
关键字集合分布在整颗树中;
任何一个关键字出现且只出现在一个结点中;
搜索有可能在非叶子结点结束;
其搜索性能等价于在关键字全集内做一次二分查找;
自动层次控制;
11、mysql安全加固?
安装部署完 MySQL 服务后,系统提供了一个安全加固脚本 mysql_secure_installation,用以实现:
# 安全加固脚本
1) 设置安全强度密码
2) 为root用户设置密码;
3) 删除匿名账号;
4) 取消root用户远程登录;
5) 删除test库和对test库的访问权限;
6) 刷新授权表使修改生效
# 低版本安全加固脚本
1) 为root用户设置密码;
2) 删除匿名账号;
3) 取消root用户远程登录;
4) 删除test库和对test库的访问权限;
5) 刷新授权表使修改生效