1. 总结openssh服务安全加固
openssh是一种C/S结构体系协议,客户和服务器端分别生成一组公私钥对,在建立连接时客户端和服
务器端会分别将自己的公钥发送给对方,利用对方的公钥,在后续的通信过程中,双方分别以自己的私
钥加密数据,对方再分别以前面得到的公钥来解密。由于公钥都仅为对方知晓,这样造成后续的数据通
信都仅为对方解密,达到数据安全的结果。
2. 总结sudo配置文件格式,总结相关示例。
sudo授权配置文件有/etc/sudoers和/etc/sudoers.d,
授权格式为:用户 登录的主机=(代表的用户) 命令
范例: wang 10.10.10.8=(root) ALL
3. 总结PAM架构及工作原理
PAM是一款可以对应用程序进行认证的架构,应用程序开发者通过PAM-API接口来调用PAM开发者开发的
PAM模块,实现对应用程序的认证。PAM模块有各种类型的,用户可以在/lib64/security/下看到服务器支持的PAM类型有哪些。
工作原理:首先用户使用某一个服务,PAM基于客户使用的服务加载对应服务的PAM配置文件,最后调用认证文件进行安全认证。
4. 总结PAM配置文件格式,总结相关示例, nologin.so, limits,等模块的使用。
PAM配置文件格式:type control module-path arguments
模块的功能 PAM处理服务成功或失败的情况 模块文件的路径 用来传递给该模块的参数
account required pam_nologin.so
session required pam_limits.so
5. 实现私有时间服务器
10.0.0.8服务器端配置:
yum install chrony -y
vim /etc/chrony.conf
server ntp.aliyun.com iburst
local stratum 10
systemctl restart chronyd.service
客户端配置:
yum install chrony -y
vim /etc/chrony.conf
server 10.0.0.8 iburst
systemctl restart chronyd.service
6. 总结DNS域名三级结构
DNS域名三级结构从上至下分别成为根域、一级域、二级域。根域,全球总共有13个根域,根域是固定的;顶级域有com,edu,net,org,cn等等;
二级域是不确定的,用户可以向有关机构申请自己的二级域,如magedu.com
7. 总结DNS服务工作原理,涉及递归和迭代查询原理
DNS可以实现将域名解析为IP地址的功能。若某一用户需要访问某个网站,首先他先查看自己的hosts文件内有没有关于这个域名的地址,若没有
将请求发送到客户端DNS代理服务器,若此代理服务器查询缓存也没有相关的地址,将直接把请求发送给根域,根域会根据地址的一级域名告诉
代理服务器让它去找一级域服务器,同理,一级域服务器根据地址的二级域名告诉代理服务器二级域服务器地址,最终代理DNS服务器得到地址,返回给用户。
DNS查询涉及递归和迭代查询原。其中用户到DNS代理服务器这段属于递归查询,DNS代理服务器到根域、一级域、二级域属于迭代查询。
8. 实现私有DNS, 供本地网络主机作DNS递归查询。
10.0.0.8服务器端配置:
yum install -y bind bind-utils
#
vim /etc/named.conf
//listen-on port 53 { 127.0.0.1; };
//allow-query { localhosts; };
#
vim /var/named/magedu.org.zone
$TTL 1D
@ IN SOA master admin.magedu.org (100 1D 1H 3D 3H)
NS master
master A 10.0.0.8
www A 10.0.0.10
client1 A 10.0.0.11
#
vim /etc/named.rfc1912.zones
zone "magedu.org" IN {
type master;
file "magedu.org.zone";
};
#
chown -R named /var/named/magedu.org.zone
named-checkconf
named-checkzone magedu.org /var/named/magedu.org.zone
systemctl start named.service
用户端配置:
yum install -y bind-utils
#
vim /etc/hosts
10.0.0.10 www.magedu.org
#
9. 总结DNS服务器类型,解析答案,正反解析域,资源记录定义。
(1)DNS服务器类型可分为主服务器、从服务器、缓存DNS服务器。主服务器负责维护一个区域的所有域名信息;从服务器在主域名服务器出现故障接替主服务器的工作来
提供域名解析服务;缓存DNS服务器仅负责转发功能,不负责解析。
(2)解析答案有以下几种:
肯定答案:存在对应的查询结果
否定答案:请求查询的条目不存在导致无法返回结果
权威答案:直接由存有此查询结果的DNS服务器返回的答案
非权威答案:由其他非权威服务器返回的答案
(3)正反解析域
正向解析域即把域名解析为IP地址
反向解析域即把IP地址解析为域名
(4)资源记录
资源记录类型有A、AAAA、PTR、SOA、NS、CNAME、MX
A:将域名解析为ipv4地址,即FQDN->IP
AAAA:将域名解析为ipv6地址,即FQDN->IPV6
PTR:反向解析,即IP->FQDN
SOA :起始授权记录,一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录
NS:指明当前区域的DNS服务器
CNAME:别名
MX:邮件交换器
10. 实现DNS主从同步
主服务器端配置:
yum install -y bind bind-utils
systemctl start named.service
#
vim /etc/named.conf
//listen-on port 53 { 127.0.0.1; };
//allow-query { localhosts; };
allow-transfer { 从服务器IP; };
#
vim /var/named/magedu.org.zone
$TTL 1D
@ IN SOA master admin.magedu.org (100 1D 1H 3D 3H)
NS master
NS slave
master A 10.0.0.8
slave A 10.0.0.18
#
vim /etc/named.rfc1912.zones
zone "magedu.org" {
type master;
file "magedu.org.zone";
};
#
chown -R named /var/named/magedu.org.zone
named-checkconf
named-checkzone magedu.org /var/named/magedu.org.zone
systemctl restart named.service
从服务器端配置:
yum install -y bind bind-utils
systemctl start named.service
#
vim /etc/named.conf
//listen-on port 53 { 127.0.0.1; };
//allow-query { localhosts; };
allow-transfer { none; };
#
vim /etc/named.rfc1912.zones
zone "magedu.org" {
type slave;
masters { 10.0.0.8; };
file "slaves/magedu.org.slave";
};
#
named-checkconf
named-checkzone magedu.org /var/named/slaves/magedu.org.slave
systemctl restart named.service
11. 实现DNS子域授权
主服务器端配置:
yum install -y bind bind-utils
systemctl start named.service
#
vim /etc/named.conf
//listen-on port 53 { 127.0.0.1; };
//allow-query { localhosts; };
#
vim /var/named/magedu.org.zone
$TTL 1D
@ IN SOA master admin.magedu.org (100 1D 1H 3D 3H)
NS master
NS slave
master A 10.0.0.8
slave A 10.0.0.18
chongqing A 10.0.0.28
#
vim /etc/named.rfc1912.zones
zone "magedu.org" {
type master;
file "magedu.org.zone";
};
#
chown -R named /var/named/magedu.org.zone
named-checkconf
named-checkzone magedu.org /var/named/magedu.org.zone
systemctl restart named.service
子服务器配置:
yum install -y bind bind-utils
systemctl start named.service
#
vim /etc/named.conf
//listen-on port 53 { 127.0.0.1; };
//allow-query { localhosts; };
allow-transfer { none; };
#
vim /var/named/chongqing.magedu.org.zone
$TTL 1D
@ IN SOA master admin.magedu.org (100 1D 1H 3D 3H)
NS master
master A 10.0.0.28
www A 10.0.0.100
#
vim /etc/named.rfc1912.zones
zone "chongqing.magedu.org" {
type master;
file "chongqing.magedu.org.zone";
};
#
chown -R named /var/named/choongqing.magedu.org.zone
named-checkconf
named-checkzone magedu.org /var/named/magedu.org.zone
systemctl restart named.service
12. 基于acl实现智能DNS
yum install -y bind bind-utils
#
vim /etc/named.conf
acl chongqingnet {
10.0.0.0/24;
};
acl beijingnet {
10.0.1.0/24;
};
//listen-on port 53 { 127.0.0.1; };
//allow-query { localhosts; };
#
view chongqing {
match-clients { chongqingnet; };
include "/etc/name.rfc1912.zones.cq" ;
};
view beijing {
match-clients { beijingnet; };
include "/etc/name.rfc1912.zones.bj" ;
};
#
vim /etc/name.rfc1912.zones.cq
zone "magedu.org" {
type master;
file "magedu.org.zone.cq";
};
#
vim /etc/name.rfc1912.zones.bj
zone "magedu.org" {
type master;
file "magedu.org.zone.bj";
};
#
chown -R named /etc/name.rfc1912.zones.cq
chown -R named /etc/name.rfc1912.zones.bj
vim /var/named/magedu.org.zone.cq
$TTL 1D
@ IN SOA master admin.magedu.org (100 1D 1H 3D 3H)
NS master
master A 10.0.0.8
www A 172.0.0.1
#
vim /var/named/magedu.org.zone.bj
$TTL 1D
@ IN SOA master admin.magedu.org (100 1D 1H 3D 3H)
NS master
master A 10.0.0.8
www A 192.168.0.1
#
chown -R named /var/named/magedu.org.zone.bj
chown -R named /var/named/magedu.org.zone.cq
systemctl restart named.service
13. 总结防火墙分类
按照保护范围分:主机防火墙、网络防火墙
按照实现方式分:硬件防火墙、软件防火墙
按照网络协调分:网络层防火墙、应用层防火墙
14. 总结iptable 5表5链, 基本使用,扩展模块。
五表为:filter、nat、mangle、raw、security
五链为:PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING
基本使用:
iptables -s 源IP地址
iptables -d 目标IP地址
iptables -p 指定协议
iptables -i 报文流入的接口
iptables -o 报文流出的接口
--source-port 匹配报文源端口
--destination-port 匹配报文目标端口
--tcp-flags mask/comp 匹配检查的标志位
扩展模块:
multiport 以离散的方式定义多端口匹配
iprange 定义连续的ip地址范围匹配
mac 定义源MAC地址匹配
strig 对报文中的应用层数据做字符串匹配检查
time 将报文到达的时间与指定时间范围进行匹配
connlimit 对每个客户端IP做并发连接数数量匹配
limit 对收发报文的速率做匹配
state 根据“连接追踪机制”检查连接状态
15. 总结iptables规则优化实践,规则保存和恢复。
1、将所有入站和出站的状态为ESTABLISH的连接放至第一条
2、谨慎放行入站的新请求
3、针对特殊目的限制访问需求的,在放行规则前拒绝
4、同类规则,匹配范围小的放在前面
5、不同类的规则,匹配范围大的放在前面
6、将可合并的规则合并为一条,减少规则数量
7、设置默认白名单策略
规则保存:iptables-save > /PATH
规则恢复:iptables-restore < /PATH
16. 总结NAT转换原理, DNAT/SNAT原理,并自行设计架构实现DNAT/SNAT。
17. 使用REDIRECT将90端口重定向80,并可以访问到80端口的服务
iptables -t nat -A PREROUTING -d x.x.x.x -p tcp --dport 80 -j REDIRECT --to-ports 90
18. firewalld常见区域总结。
firewalld区域分为:trusted、home、internal、work、public、external、dmz、block、drop
19. 通过ntftable来实现暴露本机80/443/ssh服务端口给指定网络访问
nft add table inet test1
nft add chain inet test1 test1_chain
nft add rule inet test1 test1_chain tcp dport 80 accept
nft add rule inet test1 test1_chain tcp dport 443 accept
nft add rule inet test1 test1_chain tcp dport ssh accept
20. 总结关系型数据库相关概念,关系,行,列,主键,惟一键,域。
行:代表二维表中的每一行,成为record
列:代表二维表中的每一列,称为属性,字段
主键(Primary key):PK,一个或多个字段的组合,用于唯一确定一个记录的字段,一张表只有一个主键,且主键字段不能为NULL
唯一键(Unique key):一个或多个字段的组合,用于唯一确定一个记录的字段,一张表可以有多个UK,且UK字段可以为NULL
域:属性的取值范围
21. 总结关联类型,1对1,1对多,多对多关系。可以自行设计表进行解释。
1对1:在表中创建一个字段,存储另一个表的主键值
1对多:在表中创建一个字段,设置外键,在另外的表上存储着值
多对多:存在多张表,每个表上的字段分别互相联系
22. 总结mysql设计范式
mysql设计有六种范式:
第一范式:无重复的列,每一列都是不可分割的数据项,同一列中不能有多个值。
第二范式:必须先满足第一范式,表的属性依赖主键,非主键的字段与主键有相关性,非主键字段不能依赖部分主键。
第三范式:必须先满足第二范式,非主键属性不依赖其他非主键属性。
23. 总结Mysql多种安装方式,及安全加固,并总结mysql配置文件。
mysql安装方式有:程序包管理器安装、源代码编译安装、二进制程序包安装
安全加固:1、设置数据库管理员root口令 2、禁止root远程登录 3、删除anonymous用户账号 4、删除test数据库
mysql配置文件存放于/etc/my.cnf,在这里可以定义mysql服务器的的相关配置,如mysql监听的端口,数据目录和服务器选项的定义,mysql数据库文件默认存放于/var/lib/mysql下