mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-03 20:40:25 +08:00
DDoS防护增加单IP TCP新连接速率黑名单
This commit is contained in:
@@ -12,19 +12,26 @@ const (
|
|||||||
DefaultMaxThreadsMin = 1000 // 单节点最大线程数最小值
|
DefaultMaxThreadsMin = 1000 // 单节点最大线程数最小值
|
||||||
DefaultMaxThreadsMax = 100_000 // 单节点最大线程数最大值
|
DefaultMaxThreadsMax = 100_000 // 单节点最大线程数最大值
|
||||||
|
|
||||||
DefaultTCPMaxConnections = 100_000 // 单节点TCP最大连接数
|
DefaultTCPMaxConnections = 100_000 // 单节点TCP最大连接数
|
||||||
DefaultTCPMaxConnectionsPerIP = 1000 // 单IP最大连接数
|
DefaultTCPMaxConnectionsPerIP = 1000 // 单IP最大连接数
|
||||||
DefaultTCPMinConnectionsPerIP = 5 // 单IP最小连接数
|
DefaultTCPMinConnectionsPerIP = 5 // 单IP最小连接数
|
||||||
DefaultTCPNewConnectionsRate = 500 // 单IP连接速率限制(按分钟)
|
DefaultTCPNewConnectionsRate = 500 // 单IP连接速率限制(按分钟)
|
||||||
DefaultTCPNewConnectionsMinRate = 5 // 单IP最小连接速率
|
DefaultTCPNewConnectionsMinRate = 5 // 单IP最小连接速率
|
||||||
DefaultTCPLinger = 3 // 单节点TCP Linger值
|
DefaultTCPDenyNewConnectionsRate = 1000 // 加入黑名单的连接速率
|
||||||
DefaultTLSHandshakeTimeout = 3 // TLS握手超时时间
|
DefaultTCPDenyNewConnectionsMinRate = 5 // 加入黑名单的最小连接速率
|
||||||
|
DefaultTCPDenyNewConnectionsRateTimeout = 1800 // 超过黑名单连接速率禁止时间
|
||||||
|
|
||||||
|
DefaultTCPLinger = 3 // 单节点TCP Linger值
|
||||||
|
DefaultTLSHandshakeTimeout = 3 // TLS握手超时时间
|
||||||
)
|
)
|
||||||
|
|
||||||
var DefaultConfigs = maps.Map{
|
var DefaultConfigs = maps.Map{
|
||||||
"tcpMaxConnections": DefaultTCPMaxConnections,
|
"tcpMaxConnections": DefaultTCPMaxConnections,
|
||||||
"tcpMaxConnectionsPerIP": DefaultTCPMaxConnectionsPerIP,
|
"tcpMaxConnectionsPerIP": DefaultTCPMaxConnectionsPerIP,
|
||||||
"tcpMinConnectionsPerIP": DefaultTCPMinConnectionsPerIP,
|
"tcpMinConnectionsPerIP": DefaultTCPMinConnectionsPerIP,
|
||||||
"tcpNewConnectionsRate": DefaultTCPNewConnectionsRate,
|
"tcpNewConnectionsRate": DefaultTCPNewConnectionsRate,
|
||||||
"tcpNewConnectionsMinRate": DefaultTCPNewConnectionsMinRate,
|
"tcpNewConnectionsMinRate": DefaultTCPNewConnectionsMinRate,
|
||||||
|
"tcpDenyNewConnectionsRate": DefaultTCPDenyNewConnectionsRate,
|
||||||
|
"tcpDenyNewConnectionsMinRate": DefaultTCPDenyNewConnectionsMinRate,
|
||||||
|
"tcpDenyNewConnectionsRateTimeout": DefaultTCPDenyNewConnectionsRateTimeout,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,19 +12,26 @@ const (
|
|||||||
DefaultMaxThreadsMin = 1000 // 单节点最大线程数最小值
|
DefaultMaxThreadsMin = 1000 // 单节点最大线程数最小值
|
||||||
DefaultMaxThreadsMax = 100_000 // 单节点最大线程数最大值
|
DefaultMaxThreadsMax = 100_000 // 单节点最大线程数最大值
|
||||||
|
|
||||||
DefaultTCPMaxConnections = 100_000 // 单节点TCP最大连接数
|
DefaultTCPMaxConnections = 100_000 // 单节点TCP最大连接数
|
||||||
DefaultTCPMaxConnectionsPerIP = 1000 // 单IP最大连接数
|
DefaultTCPMaxConnectionsPerIP = 1000 // 单IP最大连接数
|
||||||
DefaultTCPMinConnectionsPerIP = 5 // 单IP最小连接数
|
DefaultTCPMinConnectionsPerIP = 5 // 单IP最小连接数
|
||||||
DefaultTCPNewConnectionsRate = 500 // 单IP连接速率限制(按分钟)
|
DefaultTCPNewConnectionsRate = 500 // 单IP连接速率限制(按分钟)
|
||||||
DefaultTCPNewConnectionsMinRate = 5 // 单IP最小连接速率
|
DefaultTCPNewConnectionsMinRate = 5 // 单IP最小连接速率
|
||||||
DefaultTCPLinger = 3 // 单节点TCP Linger值
|
DefaultTCPDenyNewConnectionsRate = 1000 // 加入黑名单的连接速率
|
||||||
DefaultTLSHandshakeTimeout = 3 // TLS握手超时时间
|
DefaultTCPDenyNewConnectionsMinRate = 5 // 加入黑名单的最小连接速率
|
||||||
|
DefaultTCPDenyNewConnectionsRateTimeout = 1800 // 超过黑名单连接速率禁止时间
|
||||||
|
|
||||||
|
DefaultTCPLinger = 3 // 单节点TCP Linger值
|
||||||
|
DefaultTLSHandshakeTimeout = 3 // TLS握手超时时间
|
||||||
)
|
)
|
||||||
|
|
||||||
var DefaultConfigs = maps.Map{
|
var DefaultConfigs = maps.Map{
|
||||||
"tcpMaxConnections": DefaultTCPMaxConnections,
|
"tcpMaxConnections": DefaultTCPMaxConnections,
|
||||||
"tcpMaxConnectionsPerIP": DefaultTCPMaxConnectionsPerIP,
|
"tcpMaxConnectionsPerIP": DefaultTCPMaxConnectionsPerIP,
|
||||||
"tcpMinConnectionsPerIP": DefaultTCPMinConnectionsPerIP,
|
"tcpMinConnectionsPerIP": DefaultTCPMinConnectionsPerIP,
|
||||||
"tcpNewConnectionsRate": DefaultTCPNewConnectionsRate,
|
"tcpNewConnectionsRate": DefaultTCPNewConnectionsRate,
|
||||||
"tcpNewConnectionsMinRate": DefaultTCPNewConnectionsMinRate,
|
"tcpNewConnectionsMinRate": DefaultTCPNewConnectionsMinRate,
|
||||||
|
"tcpDenyNewConnectionsRate": DefaultTCPDenyNewConnectionsRate,
|
||||||
|
"tcpDenyNewConnectionsMinRate": DefaultTCPDenyNewConnectionsMinRate,
|
||||||
|
"tcpDenyNewConnectionsRateTimeout": DefaultTCPDenyNewConnectionsRateTimeout,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,18 @@
|
|||||||
package ddosconfigs
|
package ddosconfigs
|
||||||
|
|
||||||
type TCPConfig struct {
|
type TCPConfig struct {
|
||||||
IsPrior bool `json:"isPrior"`
|
IsPrior bool `json:"isPrior"`
|
||||||
IsOn bool `json:"isOn"`
|
IsOn bool `json:"isOn"`
|
||||||
MaxConnections int32 `json:"maxConnections"`
|
MaxConnections int32 `json:"maxConnections"`
|
||||||
MaxConnectionsPerIP int32 `json:"maxConnectionsPerIP"`
|
MaxConnectionsPerIP int32 `json:"maxConnectionsPerIP"`
|
||||||
NewConnectionsRate int32 `json:"newConnectionsRate"`
|
NewConnectionsRate int32 `json:"newConnectionsRate"`
|
||||||
AllowIPList []*IPConfig `json:"allowIPList"`
|
|
||||||
Ports []*PortConfig `json:"ports"`
|
// 自动加入黑名单连接速率
|
||||||
|
DenyNewConnectionsRate int32 `json:"denyNewConnectionsRate"`
|
||||||
|
DenyNewConnectionsRateTimeout int32 `json:"denyNewConnectionsRateTimeout"`
|
||||||
|
|
||||||
|
AllowIPList []*IPConfig `json:"allowIPList"`
|
||||||
|
Ports []*PortConfig `json:"ports"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *TCPConfig) Init() error {
|
func (this *TCPConfig) Init() error {
|
||||||
|
|||||||
Reference in New Issue
Block a user