第五周作业

1. 总结openssh服务安全加固和总结openssh免密认证原理,及免认证实现过程。

ssh 命令是 ssh 客户端,允许实现对远程系统经验证地加密安全访问
当用户远程连接 ssh 服务器时,会复制 ssh 服务器 /etc/ssh/ssh_host*key.pub 文件中的公钥到客户机的
~/.ssh/know_hosts 中。下次连接时,会自动匹配相对应的私钥,不能匹配,将拒绝连接
ssh-keygen:生成密钥
ssh-copy-id 【host IP】:将密钥传输到对应hostIP的远程服务器
ssh -p 重设密钥

2. 总结sudo配置文件格式,总结相关示例。

可以在/etc/sudoers 里按照格式进行账户行为权限的一种授权

用户 登入主机 =( 代表用户 ) 命令
user host=(runas) command


3. 总结PAM架构及工作原理

PAM 提供了对所有服务进行认证的中央机制,适用于本地登录,远程登录
系统管理员通过配置PAM.conf、pam.d/配置文件来对不同应用程序的认证方法调用;
如:系统默认带有许多模块,复杂模块/lib64/security的调用规则在pam.d/下配置;

工作原理:

PAM 认证一般遵循这样的顺序: Service( 服务 ) PAM( 配置文件 ) pam_*.so
PAM 认证首先要确定那一项服务,然后加载相应的 PAM 的配置文件 ( 位于 /etc/pam.d ) ,最后调用认证
文件 ( 位于 /lib64/security ) 进行安全认证
1. 使用者执行 /usr/bin/passwd 程序,并输入密码
2.passwd 开始调用 PAM 模块, PAM 模块会搜寻 passwd 程序的 PAM 相关设置文件,这个设置文件一般是
/etc/pam.d/ 里边的与程序同名的文件,即 PAM 会搜寻 /etc/pam.d/passwd 此设置文件
3. 经由 /etc/pam.d/passwd 设定文件的数据,取用 PAM 所提供的相关模块来进行验证
4. 将验证结果回传给 passwd 这个程序,而 passwd 这个程序会根据 PAM 回传的结果决定下一个动作(重新输入
密码或者通过验证)

4. 总结PAM配置文件格式,总结相关示例, nologin.so, limits,等模块的使用。

application type control module-path arguments
type control module-path arguments
application:指服务名,如:telnet、login、ftp等,服务名字“OTHER”代表所有没有在该文件中明确
配置的其它服务
type:指模块类型,即功能
control :PAM库该如何处理与该服务相关的PAM模块的成功或失败情况,一个关健词实现
module-path: 用来指明本模块对应的程序文件的路径名
Arguments: 用来传递给该模块的参数
nologin.so实现:
常用修改配置文件/etc/security/limits.conf:可以修改限制数


5. 实现私有时间服务器

修改源服务器/etc/chrony.conf文件

allow允许网段以它为校对时间的服务器

local stratum 允许在无网络时也依然有效同步

ntpdate 源服务器IP即可实现时间同步


6. 总结DNS域名三级结构

  1. 顶级域名(Top-Level Domain, TLD):
    顶级域名是域名的最高级别,例如“.com”、“.org”、“.net”、“.edu”等。这些顶级域名通常由特定的组织或公司管理,并用于特定的目的。例如,“.com”是用于商业组织的域名后缀,“.org”是用于非营利组织的域名后缀,“.net”是用于网络服务提供商的域名后缀,“.edu”是用于教育机构的域名后缀。
  2. 一级域名(First-Level Domain, FLD):
    一级域名是指那些在顶级域名之后的第一级域名,例如“example.com”、“example.org”、“example.net”、“example.edu”等。这些一级域名通常由注册人或组织拥有,并在其网站或网络服务中使用。一级域名的管理通常由相应的顶级域名注册机构负责。
  3. 二级域名(Second-Level Domain, SDL):
    二级域名是指那些在一级域名之后的第二级域名,例如“www.example.com”、“mail.example.com”、“blog.example.com”等。这些二级域名通常用于定义网站的不同部分或服务,例如网站的主页、邮件服务器、博客服务器等。二级域名的管理通常由一级域名的所有者或其授权的组织负责。
  4. 三级域名(Third-Level Domain, TLD3):
    三级域名是指那些在二级域名之后的第三级域名,通常用于定义更具体的网站部分或服务,例如“www.blog.example.com”、“www.mail.example.com”等。这些三级域名通常用于进一步细化网站的结构和内容。三级域名的管理通常由二级域名的所有者或其授权的组织负责


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

递归查询:客户端向最近的DNS代理服务器发起关于www.baidu.com的对应IP地址的查询,该DNS若有缓存结果直接返回IP地址,若无则从根域服务器开始逐级查询,最后由该代理将域名的解析IP结果返回给客户端,并且缓存记录下该域名解析结果

迭代查询:代理DNS服务器向根域DNS服务器开始发起查询,根域解析到.com,相当于向代理DNS转介给其.com域名服务器,再由.com转介给存有baidu.com域名解析的服务器,如此逐层查询知道域名服务器能解析完整www.baidu.com返回IP结果给代理服务器,此前的各上级服务器不须负责返回完整IP结果。


8. 实现私有DNS, 供本地网络主机作DNS递归查询。

配置文件/etc/named.conf named.conf.options

数据文件/etc/named.rfc1912.zones

建立域名文件.zone


9. 总结DNS服务器类型,解析答案,正反解析域,资源记录定义。

DNS 服务器
DNS 服务器
缓存 DNS 服务器
FQDN --> IP 正向解析
IP --> FQDN 反向解析
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树

资源记录类型: A, AAAA, PTR, SOA, NS, CNAME, MX
SOA Start Of Authority ,起始授权记录;一个区域解析库有且仅能有一个 SOA 记录,必须位于解
析库的第一条记录
A internet Address ,作用, FQDN --> IP
AAAA FQDN --> IPv6
PTR PoinTeR IP --> FQDN
NS Name Server ,专用于标明当前区域的 DNS 服务器
CNAME Canonical Name ,别名记录
MX Mail eXchanger ,邮件交换器
TXT :对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如: SPF (反垃圾邮
件)记录, https 验证等,如下示例


10. 实现DNS主从同步

主如上题设置

从DNS:sed -i  -e '/listen-on port/s@^@#@'  -e  '/allow-query/s@^@#@'  /etc/named.conf 

/etc/named.rfc1912.zones设置:


11. 实现DNS子域授权

在主DNS配置文件中添加

bj     NS   bjdns

bjdns      A    委派的IP如:10.0.0.24

随后到10.0.0.24设置成DNS服务器

www.sh 1.1.1.1为本机授权的子域

12. 基于acl实现智能DNS


13. 总结防火墙分类

按保护范围划分:
主机防火墙:服务范围为当前一台主机
网络防火墙:服务范围为防火墙一侧的局域网
按实现方式划分 :
硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为,
山石 hillstone, 天融信,启明星辰,绿盟,深信服 , PaloAlto , fortinet 飞塔 , Cisco, Checkpoint
NetScreen(2004 年被 Juniper 40 亿美元收购 )
软件防火墙:运行于通用硬件平台之上的防火墙的应用软件, Windows 防火墙 ISA --> Forefront
TMG
按网络协议划分:
网络层防火墙: OSI 模型下四层,又称为包过滤防火墙
应用层防火墙 / 代理服务器: proxy 代理网关, OSI 模型七层
包过滤防火墙
网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表( ACL ),通过
检查数据流中每个数据的源地址,目的地址,所用端口号和协议状态等因素,或他们的组合来确定是否
允许该数据包通过
优点:对用户来说透明,处理速度快且易于维护
缺点:无法检查应用层数据,如病毒等
应用层防火墙 应用层防火墙 / 代理服务型防火墙,也称为代理服务器( Proxy Server)
将所有跨越防火墙的网络通信链路分为两段
内外网用户的访问都是通过代理服务器上的 链接 来实现
优点:在应用层对数据进行检查,比较安全
缺点:增加防火墙的负载


14. 总结iptable 5表5链, 基本使用,扩展模块。

五个表 table filter nat mangle raw security
filter :过滤规则表,根据预定义的规则过滤符合条件的数据包 , 默认表
nat network address translation 地址转换规则表
mangle :修改数据标记位规则表
raw :关闭启用的连接跟踪机制,加快封包穿越防火墙速度
security :用于强制访问控制( MAC )网络规则,由 Linux 安全模块(如 SELinux )实现
chain
内置链:每个内置链对应于一个钩子函数
自定义链:用于对内置链进行扩展或补充,可实现更灵活的规则组织管理机制;只有 Hook 钩子调
用自定义链时,才生效
五个内置链 chain:
INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING

15. 总结iptables规则优化实践,规则保存和恢复。

1.安全放行所有入站和出站的状态为 ESTABLISHED 状态连接 , 建议放在第一条,效率更高
2. 谨慎放行入站的新请求
3. 有特殊目的限制访问功能,要在放行规则之前加以拒绝
4. 同类规则(访问同一应用,比如: http ),匹配范围小的放在前面,用于特殊处理
5. 不同类的规则(访问不同应用,一个是 http ,另一个是 mysql ),匹配范围大的放在前面,效率更
6. 应该将那些可由一条规则能够描述的多个规则合并为一条 , 减少规则数量 , 提高检查效率
7. 设置默认策略,建议白名单(只放行特定连接)
iptables -P ,不建议,容易出现 自杀现象
规则的最后定义规则做为默认策略,推荐使用,放在最后一条


16. 总结NAT转换原理, DNAT/SDNAT原理,并自行设计架构实现DNAT/SNAT。

当防火墙服务器设置在内外网中间隔开时,两边不在同一网段,内外客户端与服务器理应无法相互访问。

防火墙收到访问是可根据数据报文所属网段,通过DNAT将外来数据转移给内网服务器,可通过SNAT技术限制内网客户端访问不同网段的行为

外网192.168.10.0网段,当防火墙服务器收到192网段访问,

iptables -t nat  -A PREROUTING -d 192.168.10.XX(防火墙上受访问的IP)  -p tcp --dport 80 -j  DNAT --to-destination 内网服务器IP:端口

内网10.0.0.0网段访问外网时,有安全风险,可通过伪装更改成防火墙服务器对外IP地址,隐藏客户端IP

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -d 10.0.0.0/24 -j MASQUERADE

设置了DNAT使ping 防火墙192.168.10.146转移到10.0.0.24服务端上

iptables -t nat -A PREROUTING -d 192.168.10.146 -p icmp -j DNAT --to-destination 10.0.0.24


17. 使用REDIRECT将90端口重定向80,并可以访问到80端口的服务

防火墙设置DNAT对应80端口指向apache服务器的90端口

apache服务器将90端口重定向到80端口

iptables -t nat -A PREROUTING -d 本机IP -p tcp --dport 90 -j REDIRECT --to-port 80

外网机器访问防火墙对外IP时,默认80端口,跳转到对应apache服务器90重定向到80端口


18. firewalld常见区域总结。

--get-zones 列出所有可用区域
--get-default-zone 查询默认区域
--set-default-zone = <ZONE> 设置默认区域
--get-active-zones 列出当前正使用的区域
--add-source = <CIDR> [--zone = <ZONE>] 添加源地址的流量到指定区域,如果 --zone = 选项,使用
默认区域
--remove-source = <CIDR> [--zone = <ZONE>] 从指定区域删除源地址的流量,如 --zone = 选项,
使用默认区域
--add-interface = <INTERFACE> [--zone = <ZONE>] 添加来自于指定接口的流量到特定区域,如果 --
zone = 选项,使用默认区域
--change-interface = <INTERFACE> [--zone = <ZONE>] 改变指定接口至新的区域,如果 --zone =
选项,使用默认区域
--add-service = <SERVICE> [--zone = <ZONE>] 允许服务的流量通过,如果 --zone = 选项,使用默
认区域
--add-port = <PORT/PROTOCOL> [--zone = <ZONE>] 允许指定端口和协议的流量,如果 --zone =
项,使用默认区域
--remove-service = <SERVICE> [--zone = <ZONE>] 从区域中删除指定服务,禁止该服务流量,如果
--zone = 选项,使用默认区域
--remove-port = <PORT/PROTOCOL> [--zone = <ZONE>] 从区域中删除指定端口和协议,禁止该端口
的流量,如果 --zone = 选项,使用默认区域
--reload 删除当前运行时配置,应用加载永久配置
--list-services 查看开放的服务
--list-ports   查看开放的端口
--list-all [--zone = <ZONE>] 列出指定区域的所有配置信息,包括接口,源地址,端口,服务等,如
--zone = 选项,使用默认区域

19. 通过ntftable来实现暴露本机80/443/ssh服务端口给指定网络访问

  • 14
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值