对DNS主从服务器进行key认证

对DNS主从服务器进行key认证,第1张

在配置DNS主从服务器同步的时候,bind服务默认是允许任何人进行同步的,但是这样容易造成安全隐患。bind服务支持通过限制IP和key认证两种方式来对同步的来源Ip进行限制,限制IP的方法已经在此前的文章中演示多次,因此本文着重描述如何使用key认证来限制从服务器的来源。

本次实验我使用了两台虚拟机进行测试,分别是:

相关的主从服务器的配置此处不多细说,可参考我此前的文章; https://www.jianshu.com/p/e8b5866802d1

在DNS主服务器上生成认证key:

编辑/etc/named.conf文件

编辑/etc/named.rfc1912.zones文件:

随后分别创建/var/named/handwell.com.zone和/var/named/188.88.88.zone文件:

随后检查相关的配置文件,如无报错后,重新加载named服务即可:

此时没通过key认证的服务器尝试来同步相关的区域数据时,通过systemctl status named 或查看 /var/log/messages日志可看到以下的拒绝报错:

或者如果从服务器的认证key不正确,也会出现以下报错:

编辑从服务器的/etc/named.conf 文件:

编辑/etc/named.rfc1912.zones文件:

配置完成后,验证检查相应的配置文件后重启服务即可:

此时查看对应的日志文件应能看到相应的同步信息如:

具体操作如下:

1、使用SecureCRT创建私钥和公钥(SetPassphrase可以设置为空密码,比较方面验证)。

2、linux服务器上建立ssh目录,一般情况下,已经有这个目录(更改权限很重要,认证的时候权限不是700不给通过)。

3、在SecureCRT里面设置登录模式为PublicKey,并选择刚刚创建的my-rsa文件作为私钥。

4、重启Linux服务器上SSH服务器。在B机中生成秘钥对,将公钥复制到A中,实现B机自动登陆A,然后将B的秘钥传过去,把A的authorized-keys2内容写入B的authorized-keys2文件中,实现A自动登陆B,这样就可以申请了。

ssh 提供两种级别的安全认证:

需要知道用户名和密码即可登录,该连接是加密的,但客户端不能确认目标主机是否为“伪造的”,也不能保证口令安全。

远程主机的 /etc/ssh/sshd_config 需配置:

重启 sshd 使改动生效:

需要用户持有“公钥/私钥对”,远程服务器持有公钥,本地持有私钥。

客户端向服务器发出请求。服务器收到请求之后,先在用户的主目录下找到该用户的公钥,然后对比用户发送过来的公钥。如果一致,服务器用公钥加密“质询”并发送给客户端。客户端收到“质询”后用私钥解密,再发还给服务器。认证结束。

生成 ssh-key,选加密算法(rsa、dsa),给秘钥命名(可选):

passphrase 是证书口令,以加强安全性,避免证书被恶意复制。

会在 ~.ssh 下生成 id_rsa , id_rsa.pub 两个文件,分别是 私钥/公钥。

公钥需保存到远程服务器 ~/.ssh/authorized_keys 里,私钥由客户端本地留存。

要保证 .ssh 和 authorized_keys 都只有用户自己有写权限。否则验证无效。

简单情况下,通过手动指定私钥文件登录

觉得麻烦可以配置客户端的 /etc/ssh/ssh_config

你也可以使用 SSH Agent,下面以使用 GitHub 为场景简单介绍。

创建 ~/.ssh/config

配置完成后,在连接非默认账号的仓库时,远端地址要修改为


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/113240.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-12
下一篇2023-03-12

发表评论

登录后才能评论

评论列表(0条)

    保存