处在系统的层面,这里我想讨论的是DOS,对DDOS我无可奈何,因为就目前的情况看来,如果不是十分的必要,很少有人随随便便就去发动一次并不算简单的大规模DDOS攻击的,所以困扰个人建站大多数基本上是DOS攻击。
首先,假定机器和系统足够健壮,带宽足够。
将保持连接最低可设为20秒,这样如果有活动的IP被命中,可以被很快的释放。
限制半连接数在100以下,(视规模而定)时间设为1 DOS攻击有个规律,就是单位时间内会有大量相同IP的到来,而攻击程序本身的特性又决定了他不能自己判断攻击的有效性,于是我们可以通过监视单位IP的连接请求数来阻塞他们,从而进一步达到我们的目的。
如果相同源IP请求数大于我们设定的值(如5-10)就向iptables添加规则DROP掉,当规则超过一定的条数或时间,就按先进先出的规则删掉,使规则不至于滚的太大,系统的开销也很小。这样可以将站点受到的影响尽量降到最低限度。
以前我用手工操作过的,毕竟太慢,效果随操作波动,谁能帮忙写个shell就好了,我们就还可以做进一步的实验。
因为TCP本身的原因,DOS也算是个历史问题了吧,遗漏或不正确的地方欢迎大家指正和补充。