DDoS防护增加单IP TCP新连接速率黑名单

This commit is contained in:
GoEdgeLab
2022-08-26 11:31:50 +08:00
parent d0f98820fd
commit 83e1197b71
3 changed files with 50 additions and 31 deletions

View File

@@ -17,6 +17,10 @@ const (
DefaultTCPMinConnectionsPerIP = 5 // 单IP最小连接数
DefaultTCPNewConnectionsRate = 500 // 单IP连接速率限制按分钟
DefaultTCPNewConnectionsMinRate = 5 // 单IP最小连接速率
DefaultTCPDenyNewConnectionsRate = 1000 // 加入黑名单的连接速率
DefaultTCPDenyNewConnectionsMinRate = 5 // 加入黑名单的最小连接速率
DefaultTCPDenyNewConnectionsRateTimeout = 1800 // 超过黑名单连接速率禁止时间
DefaultTCPLinger = 3 // 单节点TCP Linger值
DefaultTLSHandshakeTimeout = 3 // TLS握手超时时间
)
@@ -27,4 +31,7 @@ var DefaultConfigs = maps.Map{
"tcpMinConnectionsPerIP": DefaultTCPMinConnectionsPerIP,
"tcpNewConnectionsRate": DefaultTCPNewConnectionsRate,
"tcpNewConnectionsMinRate": DefaultTCPNewConnectionsMinRate,
"tcpDenyNewConnectionsRate": DefaultTCPDenyNewConnectionsRate,
"tcpDenyNewConnectionsMinRate": DefaultTCPDenyNewConnectionsMinRate,
"tcpDenyNewConnectionsRateTimeout": DefaultTCPDenyNewConnectionsRateTimeout,
}

View File

@@ -17,6 +17,10 @@ const (
DefaultTCPMinConnectionsPerIP = 5 // 单IP最小连接数
DefaultTCPNewConnectionsRate = 500 // 单IP连接速率限制按分钟
DefaultTCPNewConnectionsMinRate = 5 // 单IP最小连接速率
DefaultTCPDenyNewConnectionsRate = 1000 // 加入黑名单的连接速率
DefaultTCPDenyNewConnectionsMinRate = 5 // 加入黑名单的最小连接速率
DefaultTCPDenyNewConnectionsRateTimeout = 1800 // 超过黑名单连接速率禁止时间
DefaultTCPLinger = 3 // 单节点TCP Linger值
DefaultTLSHandshakeTimeout = 3 // TLS握手超时时间
)
@@ -27,4 +31,7 @@ var DefaultConfigs = maps.Map{
"tcpMinConnectionsPerIP": DefaultTCPMinConnectionsPerIP,
"tcpNewConnectionsRate": DefaultTCPNewConnectionsRate,
"tcpNewConnectionsMinRate": DefaultTCPNewConnectionsMinRate,
"tcpDenyNewConnectionsRate": DefaultTCPDenyNewConnectionsRate,
"tcpDenyNewConnectionsMinRate": DefaultTCPDenyNewConnectionsMinRate,
"tcpDenyNewConnectionsRateTimeout": DefaultTCPDenyNewConnectionsRateTimeout,
}

View File

@@ -8,6 +8,11 @@ type TCPConfig struct {
MaxConnections int32 `json:"maxConnections"`
MaxConnectionsPerIP int32 `json:"maxConnectionsPerIP"`
NewConnectionsRate int32 `json:"newConnectionsRate"`
// 自动加入黑名单连接速率
DenyNewConnectionsRate int32 `json:"denyNewConnectionsRate"`
DenyNewConnectionsRateTimeout int32 `json:"denyNewConnectionsRateTimeout"`
AllowIPList []*IPConfig `json:"allowIPList"`
Ports []*PortConfig `json:"ports"`
}