端口碰撞Port Knocking和单数据包授权SPA
端口碰撞技术 Port knocking
从网络安全的角度,服务器开启的端口越多就越不安全,因此系统安全加固服务中最常用的方式,就是先关闭无用端口,再对提供服务的端口做访问控制。而作为远程管理与维护的人员通常需要开启一些服务端口,如FTP和SSH,这些服务使用大家熟悉的一些端口,长时间开启这些端口,往往是严重的安全隐患。所以需要在必要的时候才开启服务,并只对特定的人提供服务,服务完毕端口恢复关闭状态,才能让攻击者难以利用安全隐患,端口碰撞技术提供了这个问题的解决方案。
端口碰撞技术是一种允许服务设备在用户按照约定的序列碰撞后,打开一个约定的服务端口提供服务的技术。所谓碰撞是由一个尝试访问系统中关闭端口的序列组成,也就是特定端口的连接请求
- 开启固定的端口服务
如在服务器上设置为:服务器接收到同一个用户的对端口2048、2049、2055、2058连接序列尝试后,则服务器打开TCP服务端口号28,该用户可以通过该端口进行远程工作,连接结束后自动关闭该服务端口。若是防火墙等网关类设备,则在截获该序列的尝试后,在访问列表中增加一条规则来放行该用户的TCP28数据包,使该连接可以通过防火墙。收到连接关闭命令后,再删除该规则,恢复对该端口的拒绝服务。 - 动态开启端口服务
若需要使用端口碰撞技术打开的服务端口有多个,或者动态变化服务的端口,在设计服务器上的碰撞序列时,可以采用在序列中“指定”端口,在序列某个位置上“告之”希望打开的服务端口。如设定规则为,最后的一个端口减2000为服务端口好,则碰撞序列为2048、2049、2055、2058、2443时,就是希望开启443端口的服务。
参考资料
http://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html
Single Packet Authorization A Comprehensive Guide to Strong Service Concealment with fwknop - Michael Rash
An Analysis of Port Knocking and Single Packet Authorization - MSc Thesis, September 9, 2006
端口碰撞Port Knocking和单数据包授权SPA的更多相关文章
- [原创]安全系列之端口敲门服务(Port Knocking for Ubuntu 14.04 Server)
Port Knocking for Ubuntu 14.04 Server OS:ubuntu 14.04 server 原理简单分析: 端口敲门服务,即:knockd服务.该服务通过动态的添加ipt ...
- OpenState安装及 Port Knocking 实验
OpenState安装及 Port Knocking 实验 目录 OpenState安装 Port Knocking 实验 OpenState安装及 Port Knocking 实验 OpenStat ...
- 完成端口(Completion Port)详解(转)
手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ...
- (转载)完成端口(Completion Port, I/OCP)详解
http://www.cnblogs.com/lancidie/archive/2011/12/19/2293773.html 手把手叫你玩转网络编程系列之三 完成端口(Completion P ...
- 转:完成端口(Completion Port)详解
手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解 ...
- 查看linux中某个端口(port)是否被占用(netstat,lsof)
查看linux中某个端口(port)是否被占用(netstat,lsof) netstat命令可以显示网络连接,路由表,接口状态,伪装连接,网络链路信息和组播成员组等信息.命令格式:netstat [ ...
- 服务器开发基础-Tcp/Ip网络模型—完成端口(Completion Port)模型
本文对于初学网络编程的极为友好,文中所有代码全部基于C语言实现,文中见解仅限于作者对于完成端口的初步认识,由于作者才疏学浅,出现的错误和纰漏,麻烦您一定要指出来,咱们共同进步.谢谢!!! 完成端口(c ...
- 端口转发 Port Forwarding (一)
0x00First 最近发现一些好用的端口转发工具和技巧,计划认真梳理一下 SSH.NC.LCX.EW.FRP 0x01 SSH隧道端口转发 目前利用SSH隧道(SSH tunneling)进行端口转 ...
- 进程ID[PID(Process ID)]与端口号[(Port ID)]的联系
1.首先声明一点:PID不是端口(port id),而是Process ID进程号的意思. 2.那么,什么是进程号? 采集网友的意见就是: 进程号,是系统分配给么一个进程的唯一标识符.PID就是各进程 ...
- 网络端口(port)
在同一个网络地址上,为了区分使用相同协议的不同应用程序,可以为不同的应用程序分配一个数字编号,称为端口号(port). 取值范围:0-65535 IANA(Internet Assigned Numb ...
随机推荐
- css - 去掉图片下的白边
造成原因: 图片的 display 属性默认是 inline ,而这个属性的 vertical-align 的默认值是baseline. 解决办法1( 建议使用block , 对 ie浏览器 比较友 ...
- HttpClient获取不到最新的系统代理
默认情况下,HttpClient是默认采用系统代理,但是,如果你在程序运行过程中,手动修改系统代理,对于HttpClient是无效的,它依然会用老的代理去访问. 解决方法 使用下面的代码,你可以自己实 ...
- Go-获取指定长度随机字符串
// GetCode 获取一个随机用户唯一编号 func GetCode(codeLen int) string { // 1. 定义原始字符串 rawStr := "abcdefghijk ...
- [转帖]TiKV & TiDB相关笔记
https://www.jianshu.com/p/1141be233bb2 一.TiKV存储 简述 通过单机的 RocksDB,TiKV 可以将数据快速地存储在磁盘上:通过 Raft,将数据复制到多 ...
- 【转帖】BGP:全穿透,半穿透,静态代播有什么区别
一. 什么是BGP二. 具体实现方案2.1BGP的优点2.2 真伪BGP在使用效果上有什么差异2.2.1 真BGP实现了用户最佳路径的自动选择 ...
- 【转帖】MySQL 8.0 hash join有重大缺陷?
我并不这么看. 友情提醒:本文建议在PC端阅读. 徐春阳老师发文爆MySQL 8.0 hash join有重大缺陷. 文章核心观点如下:多表(比如3个个表)join时,只会简单的把表数据量小的放在前面 ...
- [转帖]如何在本地编译安装部署自动化回归测试平台 AREX
https://zhuanlan.zhihu.com/p/613877597 AREX 官方 QQ 交流群:656108079 本文将详细为大家介绍一下自动化回归测试平台 AREX 以及如何在本地进行 ...
- CentOS7 安装Oracle11g的过程.
1. 安装preinstall https://www.cnblogs.com/mjiu/ 里面有一个简单方法: cd /etc/yum.repos.d wget http://yum.oracle. ...
- vim配置的学习与总结
摘要 有时候在linux里面操作需要使用粘贴以及其他处理. 很多发行版, 遇到 # 会自动退格, 很难受. 想着能够处理一下vim的默认设置可以好很多. 所以这里简单总结一下. 配置文件 vim的配置 ...
- linux root用户密码输入正确还是提示access denied
问题:之前用远程工具连接一直都是好的,第二天上班找开远程工具要输root的密码了,输入用户密码后还是无效,可以确定用户密码是对的,其中有一个远程工具一直是连着的就没有问题. 排查问题: 1.相接用pa ...