端口敲门knockd
一、什么是Port Knocking | 端口敲门
- 定义:端口敲门是一种通过在一组预先指定的关闭端口上产生连接请求,从外部打开防火墙上的端口的方法。一旦收到正确地连接请求序列,防火墙规则就会被动态修改,以允许发送连接请求的主机通过特定端口进行连接。
- 目的:防止攻击者通过进行端口扫描来扫描系统中潜在的可利用服务,因为除非攻击者发送正确的碰撞序列,否则受保护的端口将显示为关闭。
二、knockd服务配置
其中knockd服务的配置文件所在位置为/etc/knockd.conf
,其中的初始化内容为:
1 |
|
配置文件里有两个参数:
sequence:按照顺序依次访问端口,command执行的条件。比如这里是依次访问7000, 8000, 9000端口,默认使用TCP访问。
command:当knockd监测到sequence端口访问完成,然后执行此处command,这里为通过iptables开启关闭ssh外部访问。
三、启动和关闭knockd
3.1 手动构造
通过使用telnel工具依次对端口产生链接请求
- 打开SSH iptables
1 |
|
- 关闭SSH iptables
1 |
|
3.2 使用knockd工具
knockd程序自带的打开和关闭的方式
- 打开SSH iptables
1 |
|
- 关闭SSH iptables
1 |
|
3.3 使用NC指令
NC工具可以实现请求连接指定端口的效果,故也可以用来打开knockd,且时比较好的一种方式
- 打开SSH iptables
1 |
|
- 关闭SSH iptables
1 |
|
3.4 Nmap工具
- 打开SSH iptables
1 |
|
- 关闭SSH iptables
1 |
|
端口敲门knockd
http://candyb0x.github.io/2024/06/29/端口敲门knockd/