Ops实践 | 国产化KylinOS系统中快速部署企业内部高性能DNS服务器、时间同步服务器 (精选)...

eb11762284ed512e24baf294924d3d01.jpeg

d91a0973bb50c907d929074d90c25295.gif关注回复【学习交流群】加入【安全开发运维】答疑交流群


目录:

23946bd9f1b305f9fb7566cac1604e2c.png


本文为作者原创文章,为尊重作者劳动成果禁止非授权转载,若需转载请在【全栈工程师修炼指南】公众号留言,或者发送邮件到 [master@weiyigeek.top] 中我将及时回复。

原文连接: Ops实践 | 国产化KylinOS系统中快速部署企业内部高性能DNS服务器、时间同步服务器 (精选)由于系统及应用安全问题和国产化操作系统的需求,需要将原本的DNS服务替换为使用最新的云原生CNCF毕业的CoreDNS软件高性能可扩展软件工具来替换Bind9软件作为主从DNS服务器,其次使用chrony软件作为企业内部时间同步服务器。icon-default.png?t=N7T8https://mp.weixin.qq.com/s/MM74w1CmWhvu5GiOVJ3dcQ

0x00 前言简述

描述: 作者所在公司每年在做等保前,都会由专业的安全服务公司做内部系统主机的安全渗透测试漏洞扫描以及风险评估等, 最近安全服务人员发现企业内部DNS/NTP服务器安装的DNS主从服务(使用了bind9软件)以及NTP服务(使用的ntpd服务)版本过低,会有一定的安全风险因数,其次又因为国产化的操作系统替代的需求,遂作为一名运维打工人不得不将原本的使用Ubuntu 20.04部署的DNS服务以及NTP服务,改成使用国产操作系统银河麒麟KylinOS V10 SP3作为服务器系统,并使用最新的云原生CNCF毕业的CoreDNS 软件高性能可扩展软件工具来替换Bind9 软件作为主从DNS服务器,其次使用chrony 软件作为企业内部的时间同步服务器,此处作者为了总结经验,以及可能有其他企业的小伙伴正在向国产化系统的替换有同样需求的简单的做一个参考,遂有了此篇文章,希望大家多多支持。

温馨提示: 本文是作者原创文章,作者熬夜花费了许多精力进行实践和总结,为了防止恶意爬虫和伸手党直接转发,所以作者将此文设为付费文章(请作者喝一瓶可乐🍺 精神精神),希望大家理解并多多支持,作者后续将持续更新更多secdevops方面的文章,此外各位付费的朋友可以加入我们的【微信交流群】(关注后回复此关键即可)一起进行学习,相关问题讨论。

温馨提示: 此处,先来看看本文章,将实现在国产操作系统银河麒麟V10服务器中部署的企业高性能、可扩展的DNS域名解析服务以及时间同步服务器部署效果,请付费的朋友在文章末尾获取DNS/NTP相关配置文件。

「在Windows/Linux中使用nslookup工具验证使用CoreDNS部署的主从(辅助)DNS服务器解析情况」d6557b453c2283d1d9d86367cd961a2d.png

「在Windows/Linux中让内部无法连接外网的机器,使用内部部署时间同步服务器进行时间同步」a7c14f139cfb55c5e5c400b536e4d4a3.png

什么是时间同步服务器?

描述: 时间同步服务器(Time Synchronization Server)是一台计算机或设备,它通过网络提供精确的时间信号,用于同步其他计算机或设备的系统时间。时间同步服务器通常连接到具有高精度时钟的时间源,如原子钟或GPS卫星,以确保提供准确的时间。

它使用各种协议和技术,如NTP(Network Time Protocol)SNTP(Simple Network Time Protocol)和PTP(Precision Time Protocol)来与其他设备进行通信和时间同步。这些协议允许计算机和设备通过网络与时间同步服务器进行通信,并根据服务器提供的时间信号来调整自己的系统时间。

它在许多领域中都非常重要,特别是在网络和通信领域,以及需要精确时间戳和时间同步的应用程序中,一些常见的应用场景即金融交易、科学实验、电信网络、物联网设备、计算机集群等都有其身影,通过使用时间同步服务器,可以确保这些设备和应用程序之间的时间一致性,从而提高数据的准确性和可靠性。

当前企业内部通常是采用 ChronyNTP(Network Time Protocol) 两种不同的时间同步协议和软件来搭建部署时间同步服务器。

 
Chrony与NTP时间同步协议和软件区别

描述: Chrony 和 NTP(Network Time Protocol)是两种不同的时间同步协议和软件, 以下是它们之间的一些主要区别:

「算法和机制」

  • Chrony 是一种使用NTP或NTP-over-UDP协议来同步时间,通过"Clock Discipline Algorithm"的算法来调整系统时钟,以实现更高的精度和稳定性,是目前较新的时间同步工具。

  • NTP 是一种使用UDP协议的网络时间协议,通过"Marzullo's algorithm"的算法来对时钟进行频繁的微调来实现同步。

「精度和稳定性」

  • Chrony 相对于NTP具有更好的精度和稳定性。Chrony使用了更复杂的算法来计算和校准系统时钟,以提供更准确的时间同步。

  • NTP 使用一种分层的时间同步方法,通过在全球范围内建立时间服务器的层次结构来提供时间同步服务。这种分层结构可以提供较高的稳定性和可靠性。

「网络延迟和带宽消耗」

  • Chrony 相对于NTP具有更低的网络延迟和带宽消耗。Chrony使用了更少的网络流量来同步时间,这对于网络带宽有限的环境非常有益。

  • NTP 可能会产生较多的网络流量和带宽消耗。

「配置和管理」

  • Chrony 配置相对简单,它提供了更易于使用和管理的工具。Chrony可以自动选择最佳的时间服务器,并且提供了更灵活的配置选项。

  • NTP 配置相对较为复杂,需要手动配置和管理时间服务器的层次结构。NTP需要手动指定时间服务器和配置文件。

综上所述, Chrony提供了更高的精度和稳定性,对网络延迟和负载的影响较小,并具有简单灵活的配置选项。NTP在广泛的兼容性和可用性方面更为突出。

所以此处作者使用Chrony工具来搭建部署时间服务器,当然具体选择使用哪种时间服务器取决于您的特定需求和环境。

 

什么是DNS域名服务器?

描述: DNS(Domain Name System,域名系统)域名服务器是一种用于将人类可读的域名解析为计算机可理解的IP地址的服务器。在互联网中,每个设备都有一个唯一的IP地址,用于标识和定位设备。然而人们更习惯于使用易于记忆的域名来访问网站和应用程序,而不是记住一串数字的IP地址, 例如你想使用浏览器访问作者博客,你只需要记住 www.weiyigeek.top 域名地址,而非IP地址 82.156.18.253

「DNS域名服务器的作用」描述: 将用户输入的域名转换为相应的IP地址,使用户能够通过域名来访问所需的网站或应用程序。当用户在浏览器中输入一个域名时,浏览器会向DNS服务器发送查询请求,以获取相应的IP地址。DNS服务器会根据域名的层次结构进行查询,并返回与该域名对应的IP地址给用户的浏览器,然后浏览器就可以向该IP地址发送请求,获取所需的网页内容。

DNS域名服务器通常采用分层和分布式的架构,以提供高效和可靠的域名解析服务。互联网上有多个根域名服务器,它们负责管理顶级域名(如.com.org.net等)的解析。每个顶级域名又有自己的域名服务器,负责管理该顶级域名下的二级域名(如google.com、yahoo.com等)的解析。这种分层的结构使得域名解析可以高效地进行,并且具有冗余和容错能力,确保了互联网上的域名解析服务的稳定性和可用性。

当前企业内部通常是采用BIND来搭建部署时间同步服务器, 不过除此此外你还可以使用CoreDNSdnsmasq来搭建部署。

 
BIND、CoreDNS和dnsmasq DNS服务器软件区别

描述: BIND、CoreDNS和dnsmasq都是常见的DNS服务器软件,它们在功能和设计上有一些区别。

  1. BIND:

  • BIND(Berkeley Internet Name Domain)是最常见和广泛使用的DNS服务器软件。

  • 它是一个功能强大且可定制的DNS服务器,支持标准的DNS协议和功能,包括区域传输、反向解析、DNSSEC等。

  • BIND是一个较为复杂的软件,需要更多的配置和管理,适用于大型网络环境和企业网络。

CoreDNS:

  • CoreDNS是一个可扩展的、模块化的DNS服务器软件。

  • 它是为了替代BIND而开发的,旨在提供更现代、高性能和易扩展的DNS解析服务。

  • CoreDNS支持插件机制,可以根据需要加载不同的插件,提供更多功能,如DNSSEC、服务发现、反向代理等。

  • CoreDNS的设计目标是简化配置、易于扩展和高性能。

dnsmasq:

  • dnsmasq是一个轻量级的DNS服务器和DHCP服务器软件。

  • 它主要用于小型网络环境或家庭网络中。

  • dnsmasq的设计目标是简化和易用性,它提供了基本的DNS解析和缓存功能,以及DHCP服务器功能。

  • dnsmasq通常用于家庭路由器、无线接入点和小型办公网络中,因其易配置和占用资源较少而受到广泛使用。

总结:你可能需要按照你企业的转型需求网络规模功能需求技术要求来选择上述三款DNS服务器软件,此处作者选用的是CoreDNS来部署企业的主从DNS服务器。

  • BIND是功能强大的DNS服务器,适用于大型网络环境,提供广泛的功能和定制选项。

  • dnsmasq适用于小型网络环境,提供基本的DNS解析和DHCP服务器功能。

  • CoreDNS是一个可扩展的、模块化的DNS服务器,适用于现代网络环境,可以根据需要加载不同的插件。

 

知识扩展文章

描述: 在进行部署前,作者建议各位新手朋友简单了解一下关于国产银河麒麟操作系统DNS域名解析服务器以及NTP时间服务器的其他相关基础知识,此处作者已经为大家整理好了,若你大佬请略过此部分,跳到你感兴趣的地方即可。

「国产银河麒麟操作系统相关文章」

 

「DNS域名解析服务器相关文章」

 

「ntp 时间服务器相关文章」

废话不多,下面开始实践在麒麟操作系统中安装时间服务器DNS域名解析服务器吧!


0x01 环境部署

1.环境说明

描述: 此处实践的银行麒麟国产操作系统都已经进行对应的安全加固,符合等保主机安全规范,若你还未进行KylinOS加固的朋友可以参考作者的此篇付费文章【网安等保|国产Linux操作系统银河麒麟KylinOS-V10SP3常规配置、系统优化与安全加固基线实践文档】https://mp.weixin.qq.com/s/eBF_Q-WkiZHKGdEG1MODNQ,里面包含脚本分类备注解释以及对应的Shell加固脚本

「KylinOS操作系统安全加固视频」

「实践主机及操作系统一览」

# 安装DNS服务器和时间服务器的主机名称及地址
10.20.176.120 dns1 主域名服务器
10.20.176.121 dns2 辅助域名服务器

# KylinOS 发行版本
$ nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Lance)

Kernel:
4.19.90-52.19.v2207.ky10.x86_64

Build:
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-x86_64-Build20/20221125
 

「防火墙配置&禁用默认解析服务」

# 默认安装的KylinOS V10操作系统中 systemd-resolved 服务会自行启用并占用53端口, 从而会导致`CoreDNS`服务无法正常启动, 所以要先禁用掉这个服务。
$ lsof -i:53
  # COMMAND       PID            USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
  # systemd-r 3551539 systemd-resolve   12u  IPv4 1012561705      0t0  UDP 127.0.0.53:domain
  # systemd-r 3551539 systemd-resolve   13u  IPv4 1012561706      0t0  TCP 127.0.0.53:domain (LISTEN)
# 禁用各节点 systemd-resolved 服务
sudo systemctl disable systemd-resolved && sudo systemctl stop systemd-resolved
# 再次验证 53 端口是否被占用
lsof -i:53

# 设置防火墙允许DNS服务53端口网络通行
firewall-cmd --permanent --add-service=dns
# 设置防火墙允许chronyd时间同步服务123端口网络通行
firewall-cmd --permanent --add-port=123/udp --add-port=123/tcp
# 重载主机防火墙配置
firewall-cmd --reload

温馨提示: systemd-resolved 服务主要用于解析域名、IPv4和IPv6地址、DNS记录和服务。

 

2.Time 时间服务器部署

描述: 此处作者推荐使用 Chrony工具 来部署用于同步计算机系统时间的时间服务器,当然你也可以使用NTP(Network Time Protocol)进行部署, 区别请参考【什么是时间同步服务器?】章节。

chrony官网: https://chrony.tuxfamily.org

1.部署流程

Step 1.在安装KylinOS操作系统时已经默认安装了Chrony工具,若没有此工具请执行如下命令进行安装。

# 查看是否安装 Chrony
$ rpm -qa | grep "chrony"
chrony-help-3.5-3.p01.ky10.noarch
chrony-3.5-3.p01.ky10.x86_64

# 若没有安装请执行如下命令安装
dnf update
dnf -y install chrony
# 或者
yum -y install chrony
 

Step 2.安装好Chrony工具后,我们快速针对两台主机的chrony配置文件进行配置。

原文地址: Ops实践 | 国产化KylinOS系统中快速部署企业内部高性能DNS服务器、时间同步服务器 (精选)由于系统及应用安全问题和国产化操作系统的需求,需要将原本的DNS服务替换为使用最新的云原生CNCF毕业的CoreDNS软件高性能可扩展软件工具来替换Bind9软件作为主从DNS服务器,其次使用chrony软件作为企业内部时间同步服务器。icon-default.png?t=N7T8https://mp.weixin.qq.com/s/MM74w1CmWhvu5GiOVJ3dcQ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值