Articles of 限制

用nginx防止大file upload

我使用Nginx作为Web服务器来服务我的网站。 我提供上传function给我的用户(他们被允许提交图片高达5Mb),所以我有指令: client_max_body_size 5M; 在我的服务器configuration。 我注意到的是,如果我尝试上传任何文件,Web服务器不会阻止上传更大的文件。 举个例子,假设我试图上传一个700Mb的真正大的video(电影)。 服务器不会立即拒绝上传,但会缓冲整个数据(花费太长时间并减慢服务器速度),只有在上传结束时才会返回一个413 Request entity too large错误。 所以问题是:有没有办法正确configurationNginx阻止大file upload时,传输的数据开始克服我的client_max_body_size限制? 我认为用我的实际设置进行生产会非常不安全,而且我无法在Google上find任何有用的信息。 编辑: 我使用PHP和Symfony2作为后端… 编辑(再次): 这是我的error.log中显示的内容: 2013/01/28 11:14:11 [error] 11328#0: *37 client intended to send too large body: 725207449 bytes, client: 33.33.33.1, server: www.local.example.com, request: "POST /app_dev.php/api/image/add/byuploader HTTP/1.1", host: "local.example.com", referrer: "http://local.example.com/app_dev.php/"` 奇怪的是,我正在用tail -f error.log监视我的nginx error.log ,并且在上载开始时(在结束之前)立即出现消息。 所以nginx做了一些预防性的检查,但是不会停止/块化上传请求… 我也试图validation,如果PHP通过发出echo 'something'; die();得到上传的控制echo 'something'; […]

systemd,每个用户的cpu和/或内存限制

还有类似的问题: Cgroups,限制每个用户的内存 ,但该解决scheme在“现代”系统中不起作用,其中cgroups层次由systemdpipe理。 直截了当的解决scheme – 模板user-UID.slice – 将不起作用,因为它不被支持,请参阅https://github.com/systemd/systemd/issues/2556 。 有没有办法达到预期的效果 – 以每个用户为基础pipe理CPU和/或内存资源? UPD :为了历史的缘故,我会保留我的解决scheme,但是应该在login时使用pam_exec来调用systemctl set-property ,请参阅https://github.com/hashbang/shell-etc/pull/183 。 在这种方法中,用户login和限制设置之间没有时间窗口。 我的解决scheme 接口org.freedesktop.login1.Manage of /org/freedesktop/login1对象发出UserNew(u uid, o object_path)信号。 我已经写了一个简单的守护进程来监听信号,每次发出时都设置CPUAccounting=true用于刚login的用户片。

如何使用iptables或tc来限制每个客户端的数据包。

我有一些问题的networking客户端发送数据太快。 我想慢下来,使用iptables,或者可能tc。 我见过的iptables解决scheme如: sudo iptables -A INPUT -m state –state RELATED,ESTABLISHED -m limit –limit 50/second –limit-burst 50 -j ACCEPT 但我认为限制适用于符合规则的所有内容,而不是每个客户的地址。 有没有办法使这个规则限制每个客户端地址的数据包?

限制一个端口到一个应用程序

我想限制一系列udp端口到单个应用程序(或用户)。 我想实现的不是简单地阻止其他用户的bind() ,而是从可以自动分配的池中删除范围。 例如,如果有人试图显式绑定12345,但不运行指定的应用程序,他们应该得到EPERM。 如果有人试图绑定一个未指定的端口,他们不应该试图随机绑定12345。 有没有什么系统可以帮到这里? 我尝试浏览apparmor / selinux文档,但他们似乎只做阻塞部分。

思科ASA 5505 ::限制消耗主机的技术(最多10个基本许可证)

不知道,ASA 5505基地许可证限制并发主机的数量为10(RTFM,我知道)。 运行一个“显示本地主机”我看到我的主机数为8,有点过于接近ASA后面的生产Web服务器的舒适度。 进一步调查,我发现有几台主机只能访问VPN,这让我很吃惊,因为这些主机不接收内部主机,也不主动发起外部stream量。 或者我想,看起来像两个内部主机(Linux机箱)周期性地通过端口123发送一个UDP数据包到外面的NTP服务器,以保持正确的系统时间。 这有点严重,不是吗? 单个数据包计为主机,哎。 无论如何,我认为我可以通过使用一个可公开访问的服务器作为NTP服务器来保留这两个主机,而不是到公共NTP服务器之外获取当前时间。 基本上我想主持人违规: 1)我们的2个名字服务器2)生产networking服务器接受4个NAT到public-to-dmz的IP 而不是针对只需要系统时间更新的私人服务器。 另外,为了澄清,主机计数是基于任何内部接口接收/启动来自外部的stream量? 换句话说,没有连接到外部的10.1.xx私有服务器不算作主机。 目前我需要保持在基本许可证10主机限制内,但随着容量需求的增加,显然会升级到50个用户许可证。

除非你是pipe理员,否则XP中的设置会停止正在运行的可执行文件?

如果我去一个特定的大型组织的工作站,并尝试从USB驱动器运行可执行文件,它不会让我。 这是在组策略中设置的,还是在其他地方这样做的?

限制切换到root账户的并发用户数量?

这是Ubuntu 14.04和Centos 7。 我需要限制以root身份运行的用户数量。 即在CLI上以root身份login。 基本上,我一次只需要一个用户就可以以root身份运行命令。 这里的目的是审计。 我研究了/etc/security/limits.conf中的设置限制,但是pam_limits.so模块似乎只会影响login。 或者loginshell。 不确定。 但是,无论具体情况如何,它确实可以防止用户多次通过SSH连接到一个盒子,但不会阻止多个用户通过“sudo su”成为root用户。 因此,设置limits.conf仍然可以允许多个用户同时以root身份login。 这里是limits.conf行我试图限制这个: root hard maxlogins 1 接下来,我尝试限制@admins组中的用户。 我认为,这些用户是唯一允许sudo su的用户(根据我们拥有的自定义sudo规则)。 @admins hard maxlogins 1 这似乎做我想要的,但似乎笨重/错误。 称之为一种直觉 – 我并不完全明白这个问题。 最后,“为什么?” 为什么我有这个要求? 我们正试图实施控制措施,以满足PCI-DSS 3.1要求8.5“不要使用组,共享或通用的ID,密码或其他身份validation方法” – 强调“共享”。 在Windows环境中,您只需向用户授予执行任何操作的权限,而且没有人共享主pipe理员帐户。 Linux环境的devise使得对于某些情况,你真的想以root身份login。 在Linux环境中必须有PCI兼容的方式来解决这个问题。

每个networking的最大主机数量

我记得几年前在某些(我认为)思科文档中阅读过这些内容,但是找不到这个build议或任何其他的参考。 任何人都知道我在说什么? 任何人仍然遵循这些准则? 我通常是一个“浪费”的子网,几乎全部使用/ 24s(除了路由器和DMZ之间的点到点链路),所以我远低于“最大值”,但我只是好奇这个限制以及它是否基于一些与广播stream量有关的旧基准等等。

Windows Server 2008 R2最大打开文件限制

Windows Server 2008 R2有像Linux一样的最大数量的打开的文件有类似的限制吗?

Apache 2.4将URL限制在某些IP地址

我正试图限制一个特定的URL在networking外部只能用于特定的IP地址。 当外面的用户尝试访问该URL而不是IP列表时,他应该被redirect到主页。 这是我迄今为止尝试没有任何运气。 最后一部分将所有人redirect到主页,而不pipeIP。 <Location "/secret"> # <If "%{REMOTE_ADDR} != -ipmatch '123.123.123.123/255.255.255.255'"> # Redirect 303 "/secret" / # </If> RewriteCond "%{REMOTE_ADDR}" "!123\.123\.123\.123" RewriteRule .* / [R,L] LogLevel debug rewrite:trace6 </Location> PS:/ secret URL实际上是一个虚拟的URL,并不存在于硬盘上。