虚拟专用服务器托管 10 个网站。1个用iptables做的防火墙
如果这 10 个网站之一受到来自一个 IP 地址的过多 ping 请求的攻击,我该如何限制或删除它而不会将它用于其他 9 个网站?
我是否为每个网站都创建了防火墙?如果是这样,如何?还是改变我的规则更好?如果是这样,如何?谢谢你。
原始问题发布在这里https://serverfault.com/questions/373259/iptables-whats-best-practice-when-there-several-websites-but-you-want-to-us但它太模糊了。
如果需要更多信息,请告诉我。
我的目标是绝对关闭我的 Ubuntu 服务器上的所有端口,端口 22 (SSH) 除外。
我按照服务器故障here上的这个问题的说明,加上here和here的说明。
但是,按照说明进行操作后,我的端口似乎仍处于打开状态。以 80 端口为例:
$ nmap -p 80 ###.###.###.###
Starting Nmap 5.21 ( http://nmap.org ) at 2012-05-09 15:36 JST
Nmap scan report for ###-###-###-###.name.name.com (###.###.###.###)
Host is up (0.0065s latency).
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 1.63 seconds
Run Code Online (Sandbox Code Playgroud)
这是我的 iptables 的内容:
# sudo iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere …Run Code Online (Sandbox Code Playgroud) 我有一些关于 ddos 攻击以及它是如何工作的问题,我真的需要一些好的解释,因为我找不到任何可以帮助我的好的参考。
PPS(每秒数据包数)和 MBPS 之间有什么关系,如果甚至数据包被防火墙丢弃,像 500k/秒这样的大量 pps 是否会导致 ddos?
像 syn/udp flood 这样的 ddos 是否只能通过 iptables 来完全缓解,并且 iptables 可以处理任何类型的 ddos 就其强度和速度而言,也可以安装在被攻击的同一台服务器上的 iptables 处理大量 pps 并在不丢弃它们的情况下任何问题或对性能的影响?
对于同步洪水,大多数人建议使用同步饼干作为缓解同步洪水的完美解决方案,但不幸的是尝试它并没有帮助,为什么?syn cookie 是否有限制或需要在服务器上像文件描述符一样进行调整?
将服务器上的网卡从 100mbit 升级到 1gbps 可以帮助更多地缓解 ddos 攻击还是没有效果?
注意:我的意思是在这种情况下只升级网络接口但网络速度仍然相同
我想删除某个端口上的所有 ipv4 流量,只允许使用 iptables 的 ipv6 流量。是否可以?是这样,怎么样?
我已经按照此处给出的答案将我的 Ubuntu 服务器设置为路由器和网络服务器。我面向 ISP 的接口eth0有一个私有 172.16.xx/30 ip,我的lo接口有一个公共 IP,如上面链接的问题的答案中所述。设置运行良好。我遇到的唯一障碍是我找不到阻止接口上公共 IP 公开的lo端口的方法。我尝试这样做iptables -A INPUT -i eth0 -j DROP,但我的服务器失去了与公共网络(互联网)的连接。我无法 ping 任何公共 ip。我想要的是一种阻止接口上公共 ip 公开的lo端口的方法。而且我还需要 iptables 规则,可以将端口80或 openvpn 端口暴露给公共网络。
我正在编写一个脚本来通过命令行查找所有防火墙详细信息、路由信息和重要的网络相关信息。我可以使用 获取防火墙配置iptables -nvL,但我不确定其余的。我应该使用什么命令来收集其他所有内容?
我想在运行某个 iptables DROP 规则时调用发送电子邮件(或运行特定脚本,如果可能的话)。(例如,当我在 5 次 SSH 登录失败后阻止 IP 时,我想运行mail -s "SSH Blocked" info@example.com或类似的东西。有没有办法直接让 iptables 执行这个?
如果没有,那么我想我需要使用外部工具扫描日志,然后发送电子邮件。有什么推荐的工具吗?请注意,我正在使用,systemd所以我使用的是journalctl而不是老式的日志文件。
如何使用 iptables 将特定 URL 列入白名单?目前所有请求都被阻止。
IE: http://www.apple.com/library/test/success.html
我只需要将此 URL 列入白名单,这样我的强制门户就不会触发 iPad 上的 Captive Network Assistant。理想情况下仍会阻止对 www.apple.com 的请求。
此外,有没有办法使规则特定于某个用户代理?
谢谢!
我有一台新服务器,但对 iptables 不太确定。我试过打开端口(25565,如下所示),但仍然无法连接。iptables -L 说明如下;
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:25565
Run Code Online (Sandbox Code Playgroud)
我认为这与拒绝与 …
我试图阻止一些试图从我的网站利用 XSS 漏洞的攻击者,我发现大多数恶意尝试都是从经典的“alert(document.cookie);\”测试开始的。该站点不易受到 XSS 的攻击,但我想在他们发现真正的漏洞之前阻止有问题的 IP 地址,同时保持日志干净。
我的第一个想法是让脚本不断地检查 Apache 日志中所有以该探测器开头的 IP 地址,并将这些地址发送到 iptables 删除规则。像这样:
cat /var/log/httpd/-access_log | grep“警报(document.cookie);” | awk '{print $1}' | 优衣库
为什么是将该命令的输出发送到 iptables 的有效方法?
提前感谢您的任何意见!