首页 > 其他分享 >knock端口敲门服务

knock端口敲门服务

时间:2022-11-26 13:56:51浏览次数:62  
标签:iptables knock sbin 22 端口 tcp INPUT 敲门

端口敲门服务,即:knockd服务。该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问。不使用时,再使用自定义的序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性。

knock安装

apt install knockd

knock配置

$ vim /etc/knockd.conf
[options]
        # UseSyslog
        LogFile = var/knock/knock.log

[openSSH]
        # 定义敲门暗号顺序
        sequence    = 7000,8000,9000
        # 设置超时时间,时间太小可能会出错
        seq_timeout = 30
        # 设置敲门成功后所执行的命令
     # 在ubuntu系统iptables规则默认是禁止所有的规则,如果直接添加规则默认是在drop all规则之后,因此需要先删除drop all的规则再添加所要设置的规则,最后重新添加drop all的规则。
     # command = /sbin/iptables -D INPUT -p tcp --dport 22 -j DROP && /sbin/iptables -A INPUT -s [允许远程的IP] -p tcp --dport 22 -j ACCEPT && /sbin/iptables -A INPUT -p tcp --dport 22 -j DROP
        command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

[closeSSH]
        sequence    = 9000,8000,7000
        seq_timeout = 30
        command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

[openHTTPS]
        sequence    = 12345,54321,24680,13579
        seq_timeout = 5
        command     = /usr/local/sbin/knock_add -i -c INPUT -p tcp -d 443 -f %IP%
        tcpflags    = syn

启动knock服务

systemctl start knockd

案例

[options]
        UseSyslog

[openSSH]
        sequence    = 14,29,43
        seq_timeout = 15
        command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

[closeSSH]
        sequence    = 62,40,46
        seq_timeout = 15
        command     = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

开启与关闭

knock 192.168.1.108 14 29 43   #开启端口
knock 192.168.1.108 62.40.46   #关闭端口

原文地址

https://www.cnblogs.com/f-carey/p/16066178.html

标签:iptables,knock,sbin,22,端口,tcp,INPUT,敲门
From: https://www.cnblogs.com/Cx330Lm/p/16927312.html

相关文章

  • ThinkSystem DS系列存储FC端口连接Windows主机基本配置
    知识点分析:本文以ThinkSystemDS4200存储通过FC端口连接到WindowsServer2016操作系统主机为例,介绍ThinkSystemDS系列存储首次部署的基本配置操作,包括: 登陆DS存储......
  • ThinkSystem DS系列存储iSCSI端口连接Windows主机基本配置
    知识点分析:本文以ThinkSystemDS4200存储通过iSCSI端口连接到WindowsServer2016操作系统主机为例,介绍ThinkSystemDS系列存储首次部署的基本配置操作,包括: 登陆DS存储......
  • Windows端口占用、解除
    第一步:打开命令行(win+r->cmd)在命令行执行:netstat-ano|findstr"端口号"  第二步:命令行执行:tasklist|findstr"PID号"  第三步:可在任务管理器中终止进程,也......
  • 怎样放行8080端口
    ​centos7已经开始使用firewall作为防火墙,而不是iptables了,所以,开放8080端口就和以往不一样了,那么该怎么开放8080端口呢?下面我们就来看看详细的教程。1、连接centos7服务......
  • nginx启动报错80端口号已占用
    开启或重启Nginx时报如下错误:Nginx[emerg]:bind()to0.0.0.0:80failed(98:Addressalreadyinuse)原因是端口号80被其它程序或文件占用了杀死占用端口号:sudo......
  • 修改rabbitMQ3.8默认端口号
    1、创建配置文件(最好就放这个目录,本人就遇到放其他目录不能加载配置文件,搞了几个小时才搞定)cd /etc/rabbitmqvimrabbitmq.conf 2、配置文件内容如下:(默认的数据管理......
  • linux 修改ssh的默认端口号
    1.登录服务器,打开sshd_config文件[root@centos~]#vim/etc/ssh/sshd_config2.找到#Port22,默认是注释掉的,先把前面的#号去掉,再插入一行设置成你想要的端口号,注意不......
  • python 根据端口号杀死kill 在linux部署的进程
    importsubprocessimportosdefgetPid(port):"""获取进程pid"""try:back=subprocess.Popen("""lsof-i:%s|awk'NR==2{print$2}'"""%(port)......
  • docker打开2375监听端口
    1、编辑docker.service,在[service]的ExecStart,添加-Htcp://0.0.0.0:2375#vi/usr/lib/systemd/system/docker.service2、在ExecStart,添加-Htcp://0.0.0.0:2375......
  • 使用iptable实现: 放行ssh,telnet, ftp, web服务80端口,其他端口服务全部拒绝
    使用iptable实现:放行ssh,telnet,ftp,web服务80端口,其他端口服务全部拒绝端口检查需要放行端口ssh:22telnet:20,21ftp:23web:80,443sambatcp:139,445sambaud......