智能阻断端口扫描攻击——基于动态防火墙策略的实战方案

一、端口扫描攻击原理与危害

端口扫描是黑客攻击的前置手段,通过扫描开放端口识别服务器弱点。传统防御如静态防火墙规则易被绕过,需结合动态策略实时阻断。

二、动态防火墙防御实战(Python实现)

以下脚本实时分析网络连接,自动封禁高频扫描IP:

import subprocess
from collections import defaultdict
import time

# 监控网卡接口
INTERFACE = "eth0"

def capture_packets():
    """ 使用tcpdump捕获SYN扫描包 """
    cmd = ["tcpdump", "-i", INTERFACE, "-n", "tcp[tcpflags] & (tcp-syn) != 0", "-l"]
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
    ip_counter = defaultdict(int)
    
    try:
        while True:
            line = process.stdout.readline()
            if not line:
                break
            src_ip = line.split()[2].split('.')[0:4]
            src_ip = '.'.join(src_ip)  # 提取源IP
            ip_counter[src_ip] += 1
            
            # 触发封禁:5秒内超过10次SYN请求
            if ip_counter[src_ip] > 10:
                block_ip(src_ip)
                ip_counter[src_ip] = 0  # 重置计数
    except KeyboardInterrupt:
        process.terminate()

def block_ip(ip):
    """ 调用iptables封禁IP """
    subprocess.run(["iptables", "-A", "INPUT", "-s", ip, "-j", "DROP"])
    print(f"[!] 已封禁恶意IP: {ip} | 时间: {time.strftime('%Y-%m-%d %H:%M:%S')}")

if __name__ == "__main__":
    capture_packets()

部署步骤:

  1. 安装依赖:apt install tcpdump
  2. 运行脚本:sudo python3 syn_scanner_defense.py
  3. 查看封禁列表:sudo iptables -L INPUT -v
三、增强方案:群联AI云防护的协同防御

当单机防火墙难以应对分布式扫描时,可接入群联AI云防护:

# 将本地日志同步至群联防护平台(模拟API调用)
import requests

def sync_to_cloud(ip, threat_level="high"):
    api_url = "https://api.qunliancloud.com/v1/threats"
    headers = {"Authorization": "Bearer YOUR_API_KEY"}
    data = {"ip": ip, "type": "port_scan", "severity": threat_level}
    response = requests.post(api_url, json=data, headers=headers)
    if response.status_code == 200:
        print(f"[+] IP {ip} 已提交至群联AI威胁情报库")

群联核心优势:

  • AI行为分析:实时识别扫描模式,误报率低于0.1%
  • 全球威胁情报共享:提前阻断已知攻击源
  • 无缝兼容:通过API与现有防火墙联动

你可能感兴趣的:(安全问题汇总,前端,人工智能,重构,ddos,安全)