week05

SUDO,PAM配置规范说明


1.sudo配置文件路径/etc/sudoers
2.按用户配置:用户 机器(权限所属用户) 命令绝对路径

1
2
3
4
visudo 
test ALL=(root) /usr/bin/mount /dev/sr0 /mnt, /usr/bin/umount /mnt
su - test
sudo mount /dev/sr0 /mnt

3.按组配置:用户组 机器(权限所属用户) 命令绝对路径

1
%test 10.0.0.1/24=(root) /usr/bin/mount /dev/sr0 /mnt,/usr/bin/umount /mnt

4.PAM调用依赖说明
执行程序调用PAM模块,先加载/etc/pam.d/ 下同名的配置文件,根据配置文件加载/lib64/security/ 下的依赖库
库对应的参数配置 在/etc/security/ 目录下

etc/pam.d/配置文件说明

1
#功能   验证方式  库文件相对路径   参数  

etc/security/limits.conf 调整示例

1
2
3
4
5
用户        类型     项目      值
* 任何用户 hard/soft nofile
% 组
注意:此配置仅对通过普通用户登录执行的进程,通过pam模块验证起作用。通过系统服务systemd 启动的进程不受此限制
可以通过cat /proc/进程号/limits 查看

chrony搭建私有ntp服务


1.安装hrony

1
yum -y install chrony

2.修改配置文件vim /etc/chrony.conf

1
2
3
4
5
6
7
8
9
10
11
#查看配置文件grep -Ev '^#|^$' /etc/chrony.conf
server ntp.aliyun.com iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 0.0.0.0/0
local stratum 10
logdir /var/log/chrony
1
2
3
4
#客户端配置同步服务地址
server 10.1.0.10 iburst
#执行 验证
chronyc sources -v

说明CDN原理


1.用户在电脑浏览器输入访问的域名,本地没有缓存域名解析的IP地址,通过用户本机配置的dns服务器发送请求,本机没有配置dns服务器地址,则通过DHCP查询DNS服务器
2.DNS解析服务收到请求后,通过配置的CNAME 解析离用户最近的IP地址返回给用户
3.客户收到IP地址后,向该IP地址发出请求
4.第一次访问,CDN返回的IP地址没有相关的资源,CDN提供商通过内部配置向网站源IP请求资源
5.返回资源给用户

DNS CNAME如何配置

网站拥有者购买CDN服务后,通过CDN服务商提供的管理页面设置 域名 CNAME

搭建智能DNS,实现不同地域客户端解析到不同主机


1688452903144

测试目标:从192.168.1.8 访问www.laobai.com返回web1

从10.1.0.13访问www.laobai.com返回web2

1.dns服务器配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
vim /etc/named.conf 
acl bj{
10.1.0.0/24;
};
view bjview{
match-clients { bj; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones.bj";
};
acl sh{
192.168.1.0/24;
};
view shview{
match-clients { sh; };
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones.sh";
};

2./etc/named.rfc1912.zones.bj配置文件

1
2
3
4
5
zone "laobai.com" {
type master;
file "laobai.zone.bj";
};

3./etc/named.rfc1912.zones.sh配置文件

1
2
3
4
zone "laobai.com" {
type master;
file "laobai.zone.sh";
};

4.数据库文件/var/named/laobai.zone.bj

1
2
3
4
5
$TTL 1D
@ IN SOA master admin.baobai.com. (1006 2H 1H 1D 3H )
NS master
master A 10.1.0.12
www A 10.1.0.20

4.数据库文件/var/named/laobai.zone.sh

1
2
3
4
5
$TTL 1D
@ IN SOA master admin.baobai.com. (1006 2H 1H 1D 3H )
NS master
master A 10.1.0.12
www A 10.1.0.19

5.从10.1.0.13 测试

1
#修改dns解析为 10.1.0.12

1688453148117

6.从192.168.1.8测试

1688453213506

解释DNS解析流程


1客户机如果有DNS缓存,则优先按照缓存IP请求,没有缓存则请求配置的DNS服务器地址,windows没有配置DNS解析地址则自动获取DNS服务器地址。
2.客户机请求DNS解析服务器,DNS解析服务器从根域名服务器获取顶级域名地址。DNS解析服务器从顶级域名服务器获取到二级域名地址。再从二级域名服务器获取到三级域名IP地址返回给客户机
3.客户机获取到域名对应的IP地址后,对IP地址发起请求

iptables 5表5链解释


1.filter 表用于数据包过滤,有INPUT 、FORWARD、 OUTPUT 三个链
2.nat 表用于网络地址转化 ,有PREROUTING 、INPUT、OUTPUT、POSTROUTING 四个链
3.mangle 表用于数据包修改,有PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING 五个链
4.raw 表用于绕过对特定端口的跟踪
5.security 表用于seliunx 使用

PREROUTING 链为进入内核空间
INPUT 链为进入用户空间
FORWARD 为内核空间转发
OUTPUT 为出用户空间
POSTROUTING 为出内核空间

iptables/firewalld/nftable 实现主机防火墙。5000-6000端口仅192.168.0.0/24网段内的主机访问


1
iptables -t filter -A INPUT -p tcp  --dport 5000:6000 -s 192.168.0.0/24 -j ACCEPT
1
2
3
firewall-cmd --permanent --zone=public --add-port=5000-6000/tcp

firewall-cmd --permanent --zone=public --add-source=192.168.0.0/24
1
2
3
4
5
6
7
8
9
10
vim /etc/nftables/public_ports.nft
table inet filter {
chain input {
type filter hook input priority 0;

ip saddr 192.168.0.0/24 tcp dport 5000-6000 accept

}
}
nft -f /etc/nftables/public_ports.nft

mysql的各发行版


1.MySQL Community Server 社区版
下载地址 https://dev.mysql.com/downloads/
2.MySQL Enterprise Edition 企业版
3.MySQL Cluster CGE 集群
下载地址 https://www.mysql.com/downloads/

mysql索引的作用


索引是排序的数据结构,查询数据时,可以通过先查找索引数据快速定位到数据快

mysql btree索引的原理

1 btree是树状的数据结构,分为叶子节点和非叶子节点,没有子节点的为叶子节点,有子节点的为非叶子节点。
2.根节点常驻在内存中,每个节点存储多个数据项,以及子节点的地址指针,多个数据项按照一定的顺序排序
3 用户查找数据时,先从根节点查找数据所在的范围,如果刚好能匹配到数据则不在查找子节点,没有匹配到结果则根据范围指针从磁盘加载子节点,子节点中也没有数据则递归从子节点中查找,直到找到为止。

mysql安全加固

1.增加iptables 规则,设置访问mysql的IP段
2.指定root账户密码,创建用户账户密码
3.mysql_secure_installation #执行脚本设置
4.开启二进制日志
5.每天全库备份,异地备份
6.开启主从同步
7.开启二进制日志,异地备份