zoukankan      html  css  js  c++  java
  • 使用 IPset 进行端口敲门

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

    关闭SELinux

    查看 SELinux 状态:

    getenforce
    

    临时关闭 SELinux(设为 Permissive 模式):

    setenforce 0
    

    永久关闭 SELinux(重启生效):

    修改 /etc/selinux/config 文件
    将 SELINUX=enforcing 改为 SELINUX=disabled
    

    安装 ipset

    CentOS 7 需要先关闭 Firewall 防火墙:

    systemctl stop firewalld.service
    systemctl disable firewalld.service
    

    创建规则

    创建一个名为 allowlist 的规则并设置有效期为 30 秒

    ipset create allowlist hash:ip timeout 30
    

    设置IP白名单

    # 放行IP规则
    iptables -A INPUT -p tcp -m set --match-set allowlist src -j ACCEPT
    
    # 关闭22端口
    iptables -A INPUT -p tcp --dport 22 -j DROP
    

    iptables 是由上而下的进行规则匹配,放行规则需在禁行规则之前才能生效。

    开放指定IP

    # 将IP加入白名单
    ipset -exist add allowlist 192.168.37.1 timeout 30
    

    其他指令

    # 查看白名单IP列表
    ipset list allowlist
    

    如果手工将其 timeout 值设置为 0 的话,即为存活时间无限久。

    文章来自:chenxuhua.com
  • 相关阅读:
    2020软件工程作业01
    2020软件工程—06—个人作业
    团队二次作业
    软件工程作业05
    软件工程作业00--问题清单
    软件工程作业04二期
    2020软件工程作业04
    oracle11安装过程中常出现的问题和解决办法
    2020软件工程作业03
    2020软件工程作业02
  • 原文地址:https://www.cnblogs.com/chenxuhua/p/ipset-port-knocking.html
Copyright © 2011-2022 走看看