问题: 我pipe理一个拥有很多dynamic生成页面的网站。 Google,Yahoo和其他search引擎每天都会下载100K以上的页面。 有时候,我也遇到了“黑客”试图大规模下载整个网站的问题。 我想阻止“黑客”的IP地址,同时保持search引擎漫游器爬行页面。 做这个的最好方式是什么 ? 注意: 现在我正在解决这个问题如下。 每隔X秒将每个页面请求的ip保存到一个文件中。 我有一个crontab脚本,每30分钟计算重复的IP。 对于重复次数过多的IP,脚本会检查一个主机名 – 如果它不属于Google / Yahoo / Bing /等,那么我们有一个被禁止的候选人。 但我并不喜欢我的解决scheme,认为自动禁止可以做得更好,或者使用一些开箱即用的解决scheme。
我在我的防火墙configuration上解除了端口53的阻塞,但是我的防火墙仍在阻止我的dns查找。 我知道DNS查找工作,因为如果我更改我的默认input策略为ACCEPT,则名称parsing正确完成。 这是iptables脚本 Generated by iptables-save v1.3.5 on Fri Dec 3 12:23:49 2010 *filter :INPUT DROP [41:3304] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [558:59294] :RH-Firewall-1-INPUT – [0:0] -A INPUT -i eth0 -p tcp -m tcp –sport 1024:65535 –dport 22 -j ACCEPT -A INPUT -s 172.16.0.134 -p tcp -m tcp –sport 1024:65535 –dport 80 -j ACCEPT -A […]
我在一台实现NAT的路由器后面有一台Linux机器和一台Windows机器(图表可能是过度的,但很有趣 ): 我正在转发路由器上的RDP端口(3389)到Linux机器,因为我想审计RDP连接。 为了让Linux机器转发RDPstream量,我写了这些iptables规则: iptables -t nat -A PREROUTING -p tcp –dport 3389 -j DNAT –to-destination win-box iptables -A FORWARD -p tcp –dport 3389 -j ACCEPT 端口正在Windows机器上侦听: C:\Users\nimmy>netstat -a Active Connections Proto Local Address Foreign Address State (..snip..) TCP 0.0.0.0:3389 WIN-BOX:0 LISTENING (..snip..) 而端口正在Linux机器上转发: # tcpdump port 3389 tcpdump: verbose output suppressed, use -v or […]
只要看看Debian Lenny盒子上的“iptables -L”的防火墙规则。 一个条目吓我一跳: 接受所有 – 0.0.38.69任何地方 全部接受 – 任何地方0.0.38.69 这不是来自我的任何脚本 – 它可能是什么? 谢谢!
我试图在iptables中执行以下命令(这是我安装新VPS后发给IPTables的第一个命令,但是当执行下面的命令时: iptables -A INPUT POSTROUTING -s 10.8.0.0/24 -j SNAT –to-source XX.XX.XX.XX 我得到: iptables: No chain/target/match by that name. 从输出结果来看,我认为我必须事先创build一个链/目标,但是我该怎么做呢? 我不明白我要去哪里错了:S
我已经启用iptableslogging来自外部的数据包 -A INPUT ! -s 192.168.218.0/24 -j LOG 现在我看到很多来自未知地址的传入数据包 Jun 5 14:54:56 localhost kernel: [572504.888953] IN=eth1 OUT= MAC=… SRC=91.189.88.140 DST=192.168.218.101 LEN=1500 TOS=0x00 PREC=0x00 TTL=55 ID=49833 DF PROTO=TCP SPT=80 DPT=47954 WINDOW=295 RES=0x00 ACK URGP=0 Jun 5 14:54:56 localhost kernel: [572504.916382] IN=eth1 OUT= MAC=… SRC=91.189.88.140 DST=192.168.218.101 LEN=1500 TOS=0x00 PREC=0x00 TTL=55 ID=49834 DF PROTO=TCP SPT=80 DPT=47954 WINDOW=295 RES=0x00 […]
我正在使用iptables的速率限制模块来防止DoS攻击(我知道它不能阻止全面的DDoS攻击,但至less可以帮助更小的攻击)。 在我的规则中,我有这样的东西: /sbin/iptables -A INPUT -p TCP -m state –state NEW -d xx.xxx.xxx.xx –dport 80 -m limit –limit 20/minute –limit-burst 20 -j ACCEPT 它运作良好,直到昨晚有人不停地打我的80港口。 连接按规则丢弃(如日志所示)。 但是,这也使服务器对其他合法用户不可用。 我不明白为什么会这样。 我认为除了淹没服务器之外,不会影响任何其他用户。 是否因为iptables不堪重负? 任何反馈将不胜感激。 谢谢!
我想知道如果Conntrack -D删除tcp连接,或者它只是删除连接跟踪条目? 我build立了一个ssh到我的路由器,然后删除使用Conntrack -D命令的条目。 我可以看到条目被删除,但是我看到ssh会话在terminal上仍然存在。 此外,我再次看到使用Conntrack -L进行演出的条目,但是这次使用不同的连接ID但端口相同。 难道连接被terminal上的shell / ssh程序重新启动? 或者是Conntrack的预期行为。 我是一个新手,不知道这个问题是否应该属于iptables的标签,如果是这样的话,请redirect我。
我正在阅读一些关于保护SSH的CentOS文档,我注意到有一个规则可以在IPTables中实现,以DROP IP在一定的时间范围内尝试访问你的SSH端口。 它看起来像这样: iptables -A INPUT -p tcp –dport 22 -m recent –set –name ssh –rsource iptables -A INPUT -p tcp –dport 22 -m recent ! –rcheck –seconds 60 –hitcount 4 –name ssh –rsource -j ACCEPT 我已经移动了我的SSH端口,但是我已经在SSH迁移到的端口上实现了这个规则。 我的问题是,因为这是SSH的理想select,这不能写入其他端口? 应该是? 蛮力攻击是通过其他方式来实现的吗? 说你可以实现一个IPTables的规则来完成整个盒子的工作,这会是疯狂的吗? 我猜想一个高stream量的服务器几乎可以“跳闸”这个规则,但是我也猜测,暴力攻击在很短的时间内会达到这么大的数量,可能会有一些限制来防止这个。 非常感谢SF
这就是我如何使用UFW设置我的iptables: sudo ufw default deny incoming (拒绝所有传入) sudo ufw default deny outgoing (拒绝所有传出) sudo ufw allow out 53 (接受传出的DNSstream量 ,包括tcp和udp) sudo ufw allow in 80/tcp (接受来自端口80的所有传入的tcp) sudo ufw allow out 80/tcp (接受所有的输出tcp到端口80) sudo ufw allow proto tcp from <admin_ip_addr> to <server_ip_addr> port 22 (从pipe理员办公室的IP为ssh接受传入的TCP端口22) sudo ufw allow out 9418/tcp (接受传出的git连接) sudo ufw allow proto tcp […]