zoukankan      html  css  js  c++  java
  • iptables对请求的URL作IP访问控制

    服务器运行环境是Tomcat,现在要实现的目的是,只允许特定的IP访问某个目录,
    一种方法是在tomcat配置文件server.conf中,使用RemoteAddrValve对虚拟主机做访问控制。
    另外一种方法可以通过iptables规则。个人比较喜欢iptables
    例如:禁止访问http://192.168.137.254:10000/managersns 这个路径,只允许192.168.137.101访问
    1. /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 192.168.137.101 -m string --string "/managersns" --algo bm -j ACCEPT /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -m string --string "/managersns" --algo bm -j DROP
    2. /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -s 192.168.137.101 -m string --string "/managersns" --algo bm -j ACCEPT
    3. /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -m string --string "/managersns" --algo bm -j DROP
    以上规则是正对eth0网卡,可以跟踪自己需求修改。
    参数说明:
    -m string
    使用string功能,string是iptables的一个module,也就是做字符串匹配的。
    –string “xxxx”
    定义字符串内容,可以是URL里任意字符,如果是需要block下载某些类型的文件或请求,这个有很大的发挥空间,可自由想象喔。
    –algo bm
    设置字符匹配的查询算法,一般默认使用bm算法效果就可以了,另外还可以设置kmp算法,那是一种更复杂的算法,详细内容可自行参见高等数学里的资料。(bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)
    -j DROP
    这在公司网络禁用视频网站是非常有效的,在网关服务器上设置:
    1. iptables -A FORWARD -m string –-string “ku6.com” --algo bm -j DROP iptables -A FORWARD -m string –-string “tudou.com” –-algo bm -j DROP iptables -A FORWARD -m string –-string “ouou.com” –-algo bm -j DROP
    2. iptables -A FORWARD -m string –-string “ku6.com” --algo bm -j DROP
    3. iptables -A FORWARD -m string –-string “tudou.com” –-algo bm -j DROP
    4. iptables -A FORWARD -m string –-string “ouou.com” –-algo bm -j DROP
    其中各项参数的意义如下:
    -A FORWARD
    增加FORWARD链的规则,以上规则是针对启用了路由功能(即:echo 1 > /proc/sys/net/ipv4/ip_forward)
    如果是直接访问,可使用的INPUT或OUTPUT。
    设置符合此条件的包的处理方式,DROP即是丢弃,也是reject的意思。
    1. iptables -A INPUT -m string --string "stringname" --algo bm -j DROP
     
  • 相关阅读:
    YUI3学习笔记 ( 3 )
    DataSnap基础
    SQL语句的添加、删除、修改多种方法
    用命令实现Win7远程桌面关机和重启
    Delphi笔记数据库开发
    Delphi数据库处理
    数据库左连接的一点知识
    FastReport4.6程序员手册_翻译
    ADO BUG之'无法为更新定位行....' 解决之道
    动态将ADOQuery数据移植到ClientDataSet通用函数
  • 原文地址:https://www.cnblogs.com/sunbeidan/p/4940203.html
Copyright © 2011-2022 走看看