我确实在我的 Postfix 配置中添加了一个新的慢速传输,但这看起来不起作用。消息在慢速传输中正确传递,但它们不受速率限制。
目前,我一直在我的 master.cf 中进行设置:
slow unix - - n - 1 smtp
-o default_destination_concurrency_limit=1
-o initial_destination_concurrency=1
-o smtp_destination_concurrency_limit=1
-o in_flow_delay=2s
-o syslog_name=slow
Run Code Online (Sandbox Code Playgroud)
知道为什么我的消息不受速率限制吗?
我一直在尝试对我正在进行的一个学术项目执行基于 VLAN 的速率限制。该项目使用 Openflow(带有 Beacon 控制器),并使用 Mininet 模拟网络。该网络由 OpenVSwitch 组成。
对于我的项目,我需要对网络中每个 VLAN 上的流量进行速率限制。我为此选择了 tc (带有 htb),并且已经尝试了很多天来使其正常工作。这些是我想要使用 tc 实现的目标: 1) 将所有 VLAN 的速率限制为特定的数据速率。2) 确保设置速率限制后,使用交换机之间物理链路的所有 VLAN 都获得相同(或几乎相同)的最大数据速率。
因此,如果我将每个 VLAN 的数据速率限制设置为 100 Mbps,并且有 5 个 VLAN 使用物理链路,我希望所有这些 VLAN 不超过 100 Mbps,同时每个 VLAN 的最大数据速率约为 100 Mbps。
我已经为此拓扑编写了脚本:
s2---s4
|
s6---s8
|
s10---s12
Run Code Online (Sandbox Code Playgroud)
这是那个脚本:
#!/bin/bash
# delete prev:
tc qdisc del dev s10-eth2 root
tc qdisc del dev s2-eth3 root
tc qdisc del dev s6-eth2 root
tc qdisc del dev s6-eth3 root
tc qdisc del …Run Code Online (Sandbox Code Playgroud) 尝试在 nginx 中实现以下行为
使用浏览器时,每个 ip 的默认速率限制为 1r/s。bing 和 google 蜘蛛的速率限制为 10r/s。拒绝不良机器人。
不幸的是,谷歌没有发布 googlebot 的 IP 地址,所以我只能使用 useragent。
到目前为止,这已经很接近了:
http {
# Rate limits
map $http_user_agent $uatype {
default 'user';
~*(google|bing|msnbot) 'okbot';
~*(slurp|nastybot) 'badbot';
}
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
limit_req_zone $binary_remote_addr zone=two:10m rate=10r/s;
...
server {
...
location / {
if ($uatype == 'badbot) {
return 403;
}
limit_req zone=one burst=5 nodelay;
if ($uatype != 'user') {
limit_req zone=two burst=10 nodelay;
}
...
}
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是 - 'if' 不允许这样做。 …
我正在尝试根据响应状态代码限制 nginx 的请求。我想减慢具有太多 4xx 或 5xx 响应的请求。我的配置文件中有这个代码块:
map $status $bad_guy {
~^[23] "";
default $binary_remote_addr;
}
limit_req_zone "$bad_guy" zone=badguy:10m rate=1r/s;
server {
limit_req zone=badguy burst=20;
Run Code Online (Sandbox Code Playgroud)
看来上面的配置阻止了所有发送超过 1 rps 的 IP 地址,包括那些只有 200 OK 响应的 IP 地址。
请问你能帮帮我吗?为什么上面的配置不起作用?我是否必须使用其他东西(也许是 openresty?)来实现这一目标?谢谢。
使用nginx限速,以这条规则为例:
limit_req_zone $request_limiting_zone_key zone=request_limiting_search:20m rate=30r/m;
这将设置每分钟 30 个请求。但是,如果我想堆叠第二条规则,那么逻辑是“每分钟 30 个请求,或每秒 1 个请求。以先到者为准”
原因是我们仍然希望上限为 30/分钟,但有一些奇怪的尝试,我们在 1-2 秒内看到了 10 次请求的垃圾邮件。当请求通过得那么快时,这会导致一些问题。因此,我们希望将用户限制为每秒 1 个请求,并且每分钟上限为 30 个。
我阅读了文档参考,但没有看到太多有关堆叠不同费率规则的信息。
这可能吗?如果是这样,语法是什么?
在 Nginx(撰写本文时为 1.14.1)中给出一个简单的 HTTP 基本身份验证设置,如下所示:
server {
...
location / {
auth basic "HTTP Auth Required";
auth basic user file "/path/to/htpasswd";
}
}
Run Code Online (Sandbox Code Playgroud)
...如何对失败的登录尝试应用速率限制?例如,如果 30 秒内有 10 次登录尝试失败,我想阻止该源 IP 在一个小时内访问该网站。我希望利用limit_req_zone和 相关指令,但找不到一种方法来连接请求的身份验证状态。
这在 HAproxy 中相当简单,使用棒表和 ACL,使用类似以下工作示例的内容。
userlist users
user me password s3cr3t
frontend https.local
...
# Set up the stick table to track our source IPs, both IPv4 & IPv6
stick-table type ipv6 size 100k expire 1h store http_req_rate(30s)
# Check if the user has authenticated
acl auth_ok http_auth(users) …Run Code Online (Sandbox Code Playgroud) 我想限制每个用户的 CPU 和 RAM 使用量。
因此,假设有用户 john。他可以运行任意数量的进程,但他还需要有 2048 MB 的 RAM 和 2 个 CPU 核心。
我知道有像“ulimit”和“nice”这样的方法,但我仅限于一个命令,所以我需要这样的东西:
limiter_cmd -ram 2048 -cpu 2 screen -s 1 ./script
Run Code Online (Sandbox Code Playgroud)
另外,我使用“screen”命令来保存会话。
如何在 Exim 中实现“速率限制”,以便我的 exim 中的每个用户每天都可以发送特定数量的电子邮件。
用户列表 A 每天可以发送 100 封电子邮件,用户列表 B 每天可以发送 500 封电子邮件。
这是一个关于 ISC BIND 名称服务器软件中速率限制的规范问题。
最近我听说了 BIND 的速率限制功能。尤其是 DNS RRL 似乎变得越来越普遍。
我有点困惑。一些文档似乎说这些功能不应该与递归 DNS 服务器一起使用,但其他文档非常明确地解决了递归 DNS 基础设施。谁是对的?
一个客户的网站目前受到攻击,我被要求修复它。
大量 IP(轻松超过 5,000 个)不断攻击/login,大概是试图强行进入。
我更改了站点,因此页面返回 500 错误,但他们并没有放弃。显然,这对现在无法登录的真实用户不利。
负载平衡是通过HAProxy完成的,我对此知之甚少(尽管我比几个小时前知道的要多得多)。我已经尝试了很多我在网上找到的明智的方法,但似乎都没有帮助,可能是因为有如此大的 IP 块在执行攻击。
那么问题来了:
如果一个 IP在Y秒内命中/login超过X次,我该如何拒绝?
而且,子点 - 我怎样才能看到拒绝日志,所以我知道它确实在工作?
这是haproxy.log的示例:
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.62.79:15290 [03/Jun/2017:14:24:49.505] www-https-test~ www-backend/www-03 751/0/202/38/991 500 220 - - ---- 428/428/120/38/0 0/0 "GET /login HTTP/1.1"
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.63.132:47804 [03/Jun/2017:14:24:49.505] www-https-test~ www-backend/www-04 751/0/202/38/991 500 220 - - ---- 428/428/119/42/0 0/0 "GET /login HTTP/1.1"
Jun 3 14:24:50 hap-server haproxy[11831]: 46.161.62.43:53176 [03/Jun/2017:14:24:49.505] …Run Code Online (Sandbox Code Playgroud)