欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


lnmp能用mail()函数来发邮件
Linux下mysql数据库备份方法
Linux下查找指定时间内修改过的文件
Linux服务器磁盘占满问题解决
Linux很实用的命令查找软件安装目录
如何使用Win7+IIS7发布网站或服务步骤
iis日志无法生成解决办法
linux系统如何休眠
Linux系统下如何实现快速的文件搜索
Windows Server 2012 R2 SMB PowerShell命令
linux服务器(nginx或者apache)限制IP访问
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

 近段时间一直饱受垃圾评论的攻击,服务器一度负载太高而宕机,参见:WordPress垃圾评论防御记。开始试了很多方法都不能很好的解决问题,最后通过屏蔽垃圾评论IP的方式,算是解决了这个问题,当然这个方法不是最好的,但是确实是非常实用的方法。

然后一些朋友就问我是怎么屏蔽这些垃圾评论的IP的,以及能否共享这些垃圾评论的IP,还有朋友问怎么提取自己博客的垃圾评论的IP,这个稍稍讲解下,高手略过,我也是个菜鸟。

nginx环境下

新建 denyip.conf 文件,在服务器/usr/local/nginx/conf目录下的nginx.conf里面,加上

include denyip.conf; 
将屏蔽的IP放到 denyip.conf 里面

deny 110.83.0.0/16; 

deny 110.84.111.0/24; 

deny 110.85.124.56;

保存之后将 denyip.conf 上传到/usr/local/nginx/conf目录下,弄好之后记得重启nginx。

上面我列举了3中屏蔽类型,第一行的是屏蔽110.83.*.*的所有IP,第二行的是屏蔽110.84.111.*的所有IP,第三行是只屏蔽110.85.124.56这个IP。

第一行的屏蔽的范围较大,很容易误拦,第三行的疲敝最稳妥,但是IP越多导致文件会很大,也不算太可取,第二行的方式是我目前使用的,好处坏处介于2这之间,大家可以自由选择。

垃圾评论IP的收集
有人问我如何收集这些垃圾评论IP的,其实很简单,一个SQL就搞定,然后Excle处理下。

首先安装Akismet插件,这个插件会把垃圾评论标记为spam,只安装这一个就可以了,其他任何防评论插件请勿安装。

SELECT `comment_author_IP` FROM `wp_comments` WHERE `comment_approved`= 'spam' 
执行好了之后,导出这些IP,保存csv格式,然后直接用Excle打开,排序,去重,就得到唯一的垃圾评论IP了。

得到垃圾评论了之后就可以按照上面的方式操作了。

apache环境下

空间支持 .htaccess

<Limit GET HEAD POST> 

order allow,deny 

deny from 110.85.104.152 

deny from 110.85.113 

deny from 110.85.113.0/24 

deny from 110.87 

deny from 110.87.0.0/16 

deny from 110.86.167.210 110.86.184.181 

deny from 110.86.185.0/24 110.86.187.0/24 

allow from all 

</Limit> 
apache下关于限制IP的写法比较多种,IP开始的第一行,是最普通的限制唯一IP,第二行跟第三行表达的内容是一样的,限制110.85.113.* 下所有的IP;第四五行也是一样的,限制110.87.*.* 下所有的IP;第六行是限制这2个IP,第7行就是显示这两个IP段;注意多个IP限制时用空格分开。

目前我收集的垃圾评论的IP
经过大约一周时间的统计,目前收集了一批垃圾评论的IP,用纯真IP批量跑了这些IP,其中以福建莆田市的居多,美国的也不少。如果你也饱受垃圾评论的攻击,可以用用这个方法和IP,我会定期更新IP数据的。


iptables IP限制访问 指定IP访问

只允许指定的一个IP访问服务器

vi /etc/sysconfig/iptables

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -s 165.232.121.17 -j ACCEPT
-A INPUT -j DROP
COMMIT

iptables 限制ip访问

通过iptables限制9889端口的访问(只允许192.168.1.201、192.168.1.202、192.168.1.203),其他ip都禁止访问
iptables -I INPUT -p tcp --dport 9889 -j DROP
iptables -I INPUT -s 192.168.1.201 -p tcp --dport 9889 -j ACCEPT
iptables -I INPUT -s 192.168.1.202 -p tcp --dport 9889 -j ACCEPT
iptables -I INPUT -s 192.168.1.203 -p tcp --dport 9889 -j ACCEPT

 

如果你之前的防火墙设置了永久关闭,则需要解除

chkconfig --list 查看启动服务,找到要关闭服务名
chkconfig --level 235 服务名 off 【在等级3和5为开机运行服务】

系统运行级别有0—6,就在/etc/inittab中的0-6

    等级0表示:表示关机

    等级1表示:单用户模式

    等级2表示:无网络连接的多用户命令行模式

    等级3表示:有网络连接的多用户命令行模式

    等级4表示:不可用

    等级5表示:带图形界面的多用户模式

    等级6表示:重新启动2011/10/26

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站