`
com0606
  • 浏览: 60965 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web项目设置ip黑名单

    博客分类:
  • work
 
阅读更多

对于nginx+tomcat的web项目,设置黑白名单的几种的方式

1.使用linux的iptables(基于linux防火墙的,前提是要开启防火墙)

要封停一个IP,使用下面这条命令:

 

iptables -I INPUT -s ***.***.***.*** -j DROP

要解封一个IP(前提是iptables已经有这条记录),使用下面这条命令:

 

 

iptables -D INPUT -s ***.***.***.*** -j DROP

 参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。

 

此外,还可以使用下面的命令来查看当前的IP规则表:

 

iptables -list

 如果要想清空封掉的IP地址,可以输入:

 

 

iptables -flush

 要添加IP段到封停列表中,使用下面的命令:

 

 

iptables -I INPUT -s 121.0.0.0/8 -j DROP

 其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。

 

 

2.使用linux的hosts.allow和hosts.deny

这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。这两个配置文件的格式如下:
#服务进程名:主机列表:当规则匹配时可选的命令操作
server_name:hosts-list[:command]

 

/etc/hosts.allow控制可以访问本机的IP地址,/etc/hosts.deny控制禁止访问本机的IP.如果两个文件的配置有冲突,以/etc/hosts.deny为准。

使用方法,以/etc/hosts.allow为例:

ALL:127.0.0.1 #允许本机访问本机所有服务进程
smbd:192.168.0.0/255.255.255.0 #允许192.168.0.网段的IP访问smbd服务
ALL关键字匹配所有情况,EXCEPT匹配除了某些项之外的情况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名伪装)的情况。

 

3.使用nginx的allow和deny

allow
语法:     allow address | CIDR | unix: | all;
默认值:     —
配置段:     http, server, location, limit_except

允许某个ip或者一个ip段访问.如果指定unix:,那将允许socket的访问.注意:unix在1.5.1中新加入的功能,如果你的版本比这个低,请不要使用这个方法。

 

deny
语法:     deny address | CIDR | unix: | all;
默认值:     —
配置段:     http, server, location, limit_except

禁止某个ip或者一个ip段访问.如果指定unix:,那将禁止socket的访问.注意:unix在1.5.1中新加入的功能,如果你的版本比这个低,请不要使用这个方法。

 

nginx访问控制模块要数nginx里面最简单的指令,只要记住你想禁止谁访问就deny加上IP,想允许则加上allow ip,想禁止或者允许所有,那么allow all或者deny all即可

示例:

 

location / {
deny  192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny  all;
}

 

4.使用tomcat的RemoteHostValve 和RemoteAddrValve

RemoteHostValve是根据主机名进行限制

<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="abc.com" deny=""/> 

RemoteAddrValve是根据IP进行限制

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.4.10" 
deny=""/>

也可以指定网段

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.4.*" 
deny=""/>

使用denyStatus指定拒绝访问返回的状态码

<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.4.22" denyStatus="403" />

 

分享到:
评论

相关推荐

    微软网站IIS中的IP白名单黑名单实践

    本实践主要针对IIS7.5版本,讲解如何配置IP白名单和黑名单,以实现特定IP和网段的访问限制。 首先,要开启IP地址和域限制功能。在【开始】菜单中,打开【服务器管理器】,在【角色】部分选择【Web服务器(IIS)】,...

    php实现ip白名单黑名单功能

    在实际使用中,开发者可以根据自己的需求,将这两个函数集成到自己的PHP项目中,以实现IP地址的白名单或黑名单检测功能。特别是对于需要严格控制访问权限的Web应用,比如只有来自特定IP地址或IP段的请求才能访问某些...

    nginx ip黑名单动态封禁的例子

    在nginx配置文件中,设置了lua_shared_dict用于存放IP黑名单的内存区域,以及配置了多个location块,用于提供黑名单管理接口和同步机制。 4. 使用Lua脚本动态管理IP黑名单: 文中展示的Lua脚本用于从MySQL数据库...

    SpringMVC通过拦截器实现IP黑名单

    SpringMVC 通过拦截器实现 IP 黑名单 SpringMVC 是一款基于 Java 语言的 Web 应用程序框架,它提供了许多强大的功能和灵活的配置方式。拦截器是 SpringMVC 中的一种机制,用于在请求处理过程中的某个点截断请求,并...

    具备白名单、黑名单的Filter基类扩展

    基类的配置会涉及到白名单和黑名单的设置,这可能需要开发者在`web.xml`中添加特定的filter-mapping元素。 5. **过滤逻辑**:当一个请求到达时,Filter会检查URL,如果在白名单内,则允许请求继续;如果在黑名单内...

    Nginx利用Lua+Redis实现动态封禁IP的方法

    一、背景 我们在日常维护网站中,经常会遇到这样一个需求,为了...2、在 Web Server 层面,通过 Nginx 自身的 deny 选项 或者 lua 插件 配置 IP 黑名单; 3、在应用层面,在请求服务之前检查一遍客户端 IP 是否在黑名单

    云黑系统 浪客云黑3.0 黑名单系统PHP源码

    5. **多维度防护**:除了基本的IP黑名单,系统可能还扩展到其他领域,如URL、设备指纹、浏览器特征等,形成多维度的防护网。 6. **接口集成**:为了方便与其他系统协同工作,浪客云黑3.0可能会提供API接口,允许...

    IP地址段的过滤,限制ip,限制主机访问

    8. **IP黑名单与白名单**:可以维护一个IP黑名单或白名单,前者包含不允许访问的IP,后者包含只允许访问的IP。每次请求时,对比黑名单或白名单来决定是否放行。 9. **安全注意事项**:除了IP过滤,还应考虑其他安全...

    动态ip黑白名单ngx_white_black_listnginx.zip

    功能描述: 处在黑名单中的ip与网络,将无法访问web服务。 处在白名单中的ip,访问web服务时,将不受nginx所有安全模块的限制。 支持动态黑名单(需要与ngx_http_limit_req 配合)

    nginx+lua+redis黑名单加载

    在这个场景下,"nginx+lua+redis黑名单加载"的组合通常用于实现一种安全策略,即通过`nginx`拦截并阻止某些IP或用户访问,这些IP或用户在`redis`中被标记为黑名单。 **1. nginx作为前端代理:** `nginx`是一个高...

    网站IP黑名单PHP源码两套打包(CC防火墙软防).zip

    单页版:禁止某个IP访问某个页面 全站版:禁止IP访问全部页面 支持封IP时间,时间到了自动解封 支持IIS和apache 支持被封IP打开页面跳转到指定URL 自定义状态码(404,403,500,502等,统统都可以) 自定义返回内容,被封IP...

    为网站附加IP访问控制,通过webConfig部署

    3. IP地址的黑白名单管理:库可能提供了一个方便的接口,用于管理和操作IP地址的黑名单和白名单。 在实际应用中,除了Web.config配置,还可以通过编写自定义的HTTP模块或中间件来实现更复杂的IP访问控制逻辑。这种...

    IIS 批量封禁 IP 地址

    5. **DNS黑名单**:考虑使用DNS黑名单服务,如SORBS、DNSBL等,自动获取已知恶意IP列表。 6. **反向代理和负载均衡**:如果你的环境中有反向代理或负载均衡设备,可能需要在那里设置IP限制,因为IIS可能看不到...

    毕业设计:基于PHPmc黑名单PHP系统.zip

    通过分析这些文件,我们可以了解到项目的基本架构和实现方式,从而学习到PHP的MVC(模型-视图-控制器)设计模式、数据库交互技巧、安全策略(如黑名单机制)、以及如何组织和管理一个完整的Web项目。此外,还可以...

    Floder ip_Flooding_Flooder_web_

    5. **安全防护机制**:了解如何实施限流、验证码、IP黑名单等防护措施。 综上所述,"Floder ip_Flooding_Flooder_web_"所涵盖的知识点包括了网络安全中的DDoS攻击,特别是IP洪水攻击,以及使用Delphi进行Web应用...

    nodejs实现黑名单中间件设计

    在Node.js环境下,实现一个黑名单中间件设计主要是为了增强Web应用的安全性,防止滥用和机器人灌水行为。实现这样的中间件需要深入理解Node.js的服务端编程以及相关的数据库操作。以下是一些详细的知识点: 1. Node...

    Python爬虫,爬去网贷黑名单数据

    本项目专注于使用Python爬虫来抓取“网贷黑名单p2pblack”的数据。这个任务涉及到的主要知识点包括Python编程基础、网络请求库如requests、解析库如BeautifulSoup或PyQuery、数据处理以及可能的反爬策略应对。 首先...

    MTG防止未知IP访问-ACL(对外).docx

    在本场景中,鼎信MTG网关提供了多种方法来保护设备免受网络攻击,包括设置ACL白名单、控制Web和Telnet访问以及动态黑名单管理。 1. **ACL白名单配置**: - 客户需求:客户希望只允许指定的IP地址通过GE1接口访问...

    基于ASP的ip封锁程序ASP通用版本.zip

    常见的IP封锁策略包括基于IP地址黑名单、频率限制和行为分析等。当一个IP地址被识别为潜在威胁时,服务器会拒绝其请求,返回错误信息或禁止其进一步访问。 **ASP实现IP封锁** 在ASP中,可以使用`Request....

    asp.net 锁定ip代码

    例如,你可以写入黑名单 IP,让 ASP.NET 自动拒绝这些 IP 的所有请求。 4. **项目文件(BlockIP.csproj)**:此文件是 Visual Studio 项目文件,包含了项目的编译和构建信息。虽然它不直接涉及 IP 阻止,但它是整个...

Global site tag (gtag.js) - Google Analytics