Linux运维之knockd部署

news2025/2/28 0:19:46
如果你有一台公众可访问的服务器,黑客可以轻松扫描其IP地址,查找服务器上的开放端口(尤其是用于SSH的端口22)。
将服务器隐藏起来、不让黑客看见的一种方法是使用knockd。knockd是一种端口试探服务器工具。
它侦听以太网或其他可用接口上的所有流量,等待特殊序列的端口命中(port-hit)。telnet或Putty等客户软件通过向服务器上的端口发送TCP或数据包来启动端口命中。
我们在本文中将介绍如何使用knockd来隐藏在Linux服务器上运行的服务。
1.在Linux服务器上安装knockd
knockd在大多数发行版的代码仓库中都有。在基于Debian/Ubuntu/Ubuntu的服务器上,可以使用apt-get命令来安装knockd。
sudo apt-get install knockd
如果是Fedora、CentOS或REHL用户,可以使用yum命令:
yum install knockd
2. 安装和配置Iptables
如果你的服务器上还没有安装Iptables,请立即安装。
sudo apt-get install iptables iptables-persistent
程序包iptables-persistent接手自动加载已保存的iptables的任务。
接下来,你需要通过iptables允许已建立的连接以及当前会话。使用下列命令来完成这项任务:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
接下来,需要阻止通向端口22 SSH的所有入站连接。
iptables -A INPUT -p tcp --dport 22 -j REJECT
不妨通过下列命令来保存防火墙规则:
netfilter-persistent save
netfilter-persistent reload
可以通过由你的计算机连接到服务器,进一步检查是否确实阻止了端口22。
ssh my-server-ip
3. 配置knockd
现在是时候配置knockd默认设置了。它位于“/etc/knockd.conf”。为此,请使用下列命令,切换到knockd配置文件:
cd /etc
sudo leafpad knockd.conf
为了便于说明,我使用leafpad编辑器。在你的服务器上,你可以使用nano或Vi。
屏幕截图显示了knockd配置文件。
  • Options:你可以在此字段中找到knockd的配置选项。正如你在上面屏幕截图中所看到,它使用syslog进行日志记录。
  • OpenSSH:该字段包括序列、序列超时、命令和tcp标志。
  • Sequence:它显示可由客户软件用作启动操作的模式的端口序列。
  • Sequence timeout:它显示分配给客户端以完成所需的端口试探序列的总时间。
  • command:这是一旦客户软件的试探序列与序列字段中的模式,执行的命令。
  • TCP_FLAGS:这是必须针对客户软件发出的试探设置的标志。如果标志不正确,但试探模式正确,不会触发动作。
4. 启用并启动knockd服务
使用下列程序启用“/etc/default/knock”中的knockd服务。
将值从0改为1,如屏幕截图所示:
  1. START_KNOCKD = 1
之后,保存并关闭文件“/etc/default/knockd”。
接下来,可以使用下列命令之一来启动knockd服务:
sudo service knockd start
或者:
sudo systemctl start knockd
5. 是时候试探测试你的Linux服务器了
现在是时候测试你的Linux SSH服务器了。要想在指定的IP地址处打开端口22,请在计算机上使用下列命令。(你还需要在计算机上安装knockd)
knock -v my-server-ip 7000 8000 9000
需要将“my-server-ip”换成服务器的IP地址。
现在可以使用下列命令连接到端口22 SSH:
ssh my-server-ip
完成你通过端口22想要完成的任何操作后,可以使用下列命令关闭该端口:
knock -v my-server-ip 9000 8000 7000
结束语
使用knockd,你尽可放心:你的SSH服务器是安全的,并且远离使用复杂扫描工具的攻击者。此外,你还完全掌控自己的SSH服务器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/118105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

以代码绘制圣诞,过快乐圣诞节!

2022年圣诞节 12月25日 星期日 圣诞节的由来 基督教纪念耶稣诞生的重要节日。亦称耶稣圣诞节、主降生节,天主教亦称耶稣圣诞瞻礼。耶稣诞生的日期,《圣经》并无记载。公元336年罗马教会开始在12月25日过此节。12月25日原是罗马帝国规定的太阳神诞辰。有人…

百度百科怎么创建的?百度百科创建技巧分享

百度百科的创建并没有那么简单,虽然百度百科人人都可以编辑,我们在网上一搜就会出来很多相关的百科创建步骤,但是当你真的按照这些步骤去做的时候,就会出现很多问题,导致根本通不过。 百度百科怎么创建的?实…

ArcGIS基础实验操作100例--实验2平移矢量要素

实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 基础编辑篇--实验2 平移矢量要素 目录 一、实验背景 二、实验数据 三、实验步骤 (1)加载【Move】工具 (2)平移矢量要素 一、…

rocketmq搭建启动集成springboot落地并监控

目录 一、rocketmq服务器搭建启动: 二、springboot 集成rocketmq落地: 三、可视化页面集成: rocketmq是最近很流行的消息中间件,有很多的优点,比如多个topic也不会引起性能问题;今天我们开始搭建启动集成…

这5个素材库,新手也能让你做出精美的 PPT。

高质量免费PPT模板,各种PPT素材都有,文案模板直接套用,还有教程学习,对新手特别友好。1、菜鸟图库 https://www.sucai999.com/pptx.html?vNTYwNDUx网站有各种主题的PPT模板,工作总结、教育课件、述职汇报、节日庆典、…

美颜sdk中的人脸美型实现流程详解

在之前的文章中,小编讲了许多美颜sdk的功能实现流程,有一些是热门功能,例如美白、磨皮等,但是有一个功能小编遗漏没有讲到,虽然不常提起,但是它的热度并不低,这个功能就是——“人脸美型”。本篇…

一文解析Linux中断子系统softirq和tasklet

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 概述 中断子系统中有一个重要的设计机制,那就是Top-half和Bottom-half,将紧急的工作放…

电子招标采购系统—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源,多种看板让寻源过程全程可监控,根据不同采购场景,采取不同寻源策略, 实现采购寻源线上化管控;同时支持公域和私域寻源。 询价比价 全程线上询比价,信息公开透明&#xff0c…

嵌入式Linux内核开发必须了解的三十道题

Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过渡。 伴随着从非抢占内核到抢占内核的过度。Linux的锁机制越来越有效,也…

C# 基于文本的应用 正则表达式

一 基于文本的应用 1 控制台应用程序 2 Main()函数的参数-命令行参数 ① Main()函数可以带string[]参数; ② Main()函数可以有返回值(int),也可以为void; 二 使用Environment类 CommandLine CommandLineArgs MachineName OSVersion UserDomainName UserName …

Python使用re库处理正则详解

今天继续给大家介绍Python相关知识,本文主要内容是Python使用re库处理正则详解。 一、Python re库简介 re库是Python的标准库(所谓标准库,就是在安装Python后就自动安装了的库)之一,主要用于对指定字符串进行正则匹配…

功率放大器的输入阻抗和输出阻抗的关系

输入阻抗(inputimpedance)主要是电路输入端的等效阻抗。如果我们在输入端加一个电压源U并在输入端测量电流I,则输入阻抗Rin为U/I。输入端可以被认为是一个电阻的两端,这个电阻的阻值就是输入阻抗。 对于相同的输入电压&#xff0c…

【C++】使用vector和模拟其实现

文章目录1、vector的使用1.1 vector的构造、拷贝构造与迭代器1.2 vector的空间查询和随机访问1.2 vector的增删查改2、vector的模拟实现2.1 vector的迭代器2.2 vector的结构构建2.4 vector的构造和拷贝构造2.4 vector的增删1、vector的使用 C中的vector和C数据结构中的动态顺序…

CANopen1.0-基础知识

caopen基础知识 1、canopen基础知识-can标准帧格式2、CANopen 预定义主/从连接集的广播对象3、CANopen 主/从连接集的对等对象4、通讯接口4.1、NMT 网络管理1、canopen基础知识-can标准帧格式 报文传输采用 CAN 标准帧格式,即为 11bit 的 ID 域:CAN-ID(11bit)=function co…

STM32MP157驱动开发——Linux RS232/485/GPS 驱动

STM32MP157驱动开发——Linux RS232/485/GPS 驱动一、简介二、STM32MP1 UART 驱动分析1.UART 的 platform 驱动框架2.uart_driver相关流程三、驱动开发1.RS232驱动编写1)添加 usart3 和 uart5 的引脚信息2)移植minicom四、驱动测试1.RS232收发测试2.RS48…

GitHub下载量5W+,最新23版Java岗面试攻略,涵盖28个技术栈

年底失业,机会也不多,短时间内想找到合适工作是几乎不可能的。身体好点在家,主要建议大家就做两件事: 第一:整理工作经验,制定新年求职计划。等一些不错的公司放出新的hc,市场情况一回暖&#…

web应用的认证与鉴权

文章目录什么是认证和授权?什么是session?什么是cookie?什么是stick session?如何解决session同步的问题?什么是认证和授权? 认证解决的就是你是谁的问题,当登录一个web电商平台,当…

配置压力测试环境

压力测试环境跟测试环境基本一样,不过部署到新的服务器 首先选一台服务器部署eureka,在把项目发布到eureka上 选择另外一台服务器部署nginx,实现前后端分离 (eureka路径如下:/opt/cbd/cloud/cbd-cloud-eureka/&#x…

TensorRt(4)yolov3加载测试

本文介绍使用darknet项目原始的预训练模型yolov3.weights,经过tensorrt脚本转换为onnx模型,进一步编译优化编译位engine,最后使用TensorRt运行时进行推理。推理时的结果后处理使用c实现,也给出了问题的说明。 文章目录1、darkent模…

C语言奇奇怪怪表达式‘abcd‘,及操作符详解

前言 回顾操作符和一些表达式方面的知识。 表达式及操作符前言算术操作符 &#xff1a; - * /位操作符>>、<<>>算数右移逻辑右移<<小结&、|、~&&#xff1a;有0则为0&#xff0c;两个1才为1|&#xff1a; 有1则为1&#xff0c;两个0才为0~&am…