热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

授权服务器文件包,用单数据包授权保护SSH服务器(2)

FwknopSPA配置确定iptables正严密地保护本地网络后,开始为spa_server系统配置fwknop服务进程(fwknopd),文件etcf

Fwknop SPA配置

确定iptables正严密地保护本地网络后,开始为spa_server系统配置fwknop服务进程(fwknopd),文件/etc/fwknop/fwknop.conf控制了重要的配置参数,如通过libpcap嗅探通讯的接口,fwknop发送警报信息和pcap过滤器语法(被设计为离线嗅探SPA包)的电子邮件地址,默认情况下,fwknop用UDP端口62201发送SPA包,因此在/etc/fwknop/fwknop.conf中pcap过滤器语法被设置为udp port 62201 ,但是SPA包可以通过任意端口和协议(甚至是ICMP)进行发送,过滤器语法必需要更新到能控制在其他端口/协议上的SPA通讯,在fwknop帮助中能找到更多信息,尽管在这个文件中的默认设置对于大多数部署都是行得通的,但对于你特定的安装你需要调整PCAP_INTF和EMAIL_ADDRESSES 变量。

文件/etc/fwknop/fwknop.conf是fwknop最重要的配置文件,它管理加密密钥以及访问控制权限(用于来自fwknop客户端有效的SPA包),下面的access.conf文件是本文用到的剩余部分:

[spa_server]# cat /etc/fwknop/access.conf

SOURCE: ANY;

OPEN_PORTS: tcp/22;

FW_ACCESS_TIMEOUT: 30;

KEY: LJ07p2rbga;

GPG_DECRYPT_ID: ABCD1234;

GPG_DECRYPT_PW: p2atc1l30p;

GPG_REMOTE_ID: 5678DEFG;

GPG_HOME_DIR: /root/.gnupg;

SOURCE变量定义fwknopd接受的SPA包的ip地址,值ANY表示可以从任意ip地址检查SPA包,但是它也可以受特定的ip地址或子网络限制,支持逗号分割的列表(如192.168.10.0/24,15.1.1.1)。OPEN_PORTS变量告诉fwknopd用来接收有效的SPA包的端口,在这个例子中,fwknopd将打开TCP端口22。

尽管上面没有列出,但fwknopd能被配置为允许fwknop客户端通过设置PERMIT_CLIENT_PORTS变量为Y而指定其他端口;FW_ACCESS_TIMEOUT指出了被添加到允许通过OPEN_PORTS 变量定义的通讯的iptables策略中的ACCEPT规则时间长度,因为在上面的firewall.sh脚本中的iptables策略利用由Netfilter提供的连接跟踪能力,一个SSH连接在初始化被fwknopd删除的ACCEPT规则后将继续保持连接。

剩下的变量为SPA包加密和解密定义参数,本文将阐述对称和非对称密码的用法,但fwknop只需要一种加密类型。

如果有KEY变量的话,所有的GPG_*变量可以被忽略,反过来也一样。KEY变量定义一个在fwknop客户端与fwknop服务端共享的密钥,这个密钥用来加密/解密SPA包,对于非对称加密,GPG_DECRYPT_ID定义本地fwknop服务器GnuPG密钥ID,这个密钥用于fwknop客户端通过一个由GnuPG支持的加密算法加密SPA包(如ElGamal算法)。

GPG_DECRYPT_PW联合fwknop服务端密钥一起进行解密,因为密码是以明文的形式放在access.conf文件中的,建议不要为服务器使用一个有价值的GnuPG密钥,应该为解密SPA包生成一个专用的密钥,fwknop客户端用一个在本地密钥环中的GnuPG密钥标记SPA包,用户从命令获取密码。永远不将其保存在一个文件中(下面我们将会看到),因此,任何GnuPG密钥能被fwknop客户端使用,如用一个有价值的密钥来加密敏感的电子邮件通讯。

GPG_REMOTE_ID变量定义一个密钥ID列表,fwknopd服务端将接受这个列表,任何用fwknopd服务端公共密钥加密的SPA包必须用一个由GPG_REMOTE_ID变量指定的私钥进行标记,这样就允许fwknopd通过强密码机制来限制人们访问一个受保护的服务(在我们的例子中是SSHD),在http://www.cipherdyne.org/fwknop/docs/gpghowto.html可以找到用fwknop创建GnuPG密钥的介绍。[参加附录A]

随着文件/etc/fwknop/access.conf的建立,可以在spa_server系统上开始fwknopd并执行fwknop了:

[spa_server]# /etc/init.d/fwknop start

* Starting fwknop ... [ ok ]



推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
author-avatar
且羞且笑且动心细
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有