网站首页 > 技术教程 正文
要想产品安全,那么不对外提供服务是最安全的。安全是基于信任的,如果信任失败了,则没有安全。比如你给一个ip加白名单,结果这个ip对你发动了安全攻击。在非常明确需要提供服务的时候才对外提供服务,即白名单。其他的全部禁止。对外提供服务要在控制和管理下,这次我们来看一下《Web安全之代理(Nginx)篇》这个话题。
一.场景
过滤非正常用户使用的http请求。
限制正常用户使用的范围(下载速度、访问频率等)。
通过架构规划来提升安全。
能自动解决http请求问题。
二.解决方案
1.代理自身的安全
千万不要使用root启动!!!
关闭服务器的信息。
server_tokens off;
关闭掉不使用的模块。
2.过滤http
把所有非法的http请求直接拒绝。因为非法的请求往往就是在攻击服务器。
过滤非法的http method
# 只允许 get,post,head方式的请求,其他的不安全也没有用到,
不接受if ($request_method !~ ^(GET|HEAD|POST)$)
{ return 404; }
过滤非法用户代理
# 非法代理直接拒绝# 有一些是爬虫工具,有一些是搜索外国的搜索引擎,有一些是
压力工具if ( $http_user_agent ~* "ApacheBench|WebBench|
HttpClient|Curl|Wget|^$|AhrefsBot|BLEXBot|^-$|WordPress" )
{ return 444; }
控制http请求后缀
有一些攻击都是扫描类似.base_history等。所以除了合法的请求,其他的都拒绝。使用的是【白名单】的思维方式
# 只接受这些后缀location ~ (\.(php|html)|/)${ ... }
控制文件上传
上传的文件只有读的权限,没有执行的权限。访问webshell的产生。
3.控制使用
虽然请求是正常的,但是要控制使用服务的资源。
下载限速
针对于静态资源,特别是大文件,需要限速。
server { server_name xxx.xxx.xxx; #控制下载流量 limit_rate 100k; }
控制访问的url的频率和频次
在关键业务地方,需要做更细粒度控制。
比如说一个ip一天只能免费访问一百次,超过了就禁止访问。
具体的实现思路:通过redis更精准的控制访问粒度。
4.构架规划
用构架规划去增加安全是很有必要的。
动静分离
把提供静态资源和动态资源独立部署。
更严格的控制动态资源的请求类型。
更严格的控制静态资源的权限。
也解决一定的安全问题。
静态化
把一旦生成不会变化的动态请求资源,变成静态的文件。这样就可以预防很多的安全问题。具体的实现思路:通过nginx去实现静态化。
5.自动解决http请求问题
主要是为了预防ddos和cc。可以自动通过机制去处理。主要通过定时分析访问日志,根据不同的危险等级做不同的处理。难点在于危险等级和危险阀值的设定。比如:
低危的限制一段时间即可以继续使用。通过控制使用里的
控制访问的url的频率和频次
即可。中危的通过nginx直接返回403。可以通过nginx的deny,geo来实现。
高危的通过防火墙直接拒绝服务。结合防火墙来实现。
三.验证方法
postman。可以模拟各种http请求
文中有不妥或者错误的地方还望指出,以免误人子弟。另外今天看到一句话特别的话,也在这里分享给大家:Never give up on something that you can't go a day without thinking about.
猜你喜欢
- 2024-10-09 Nginx实现高可用(一)——干货(nginx如何实现高可用)
- 2024-10-09 MAMP部署项目报403和404错误,如何解决?
- 2024-10-09 网站服务器租用预防CC攻击的方法(网站服务器租赁需要什么手续)
- 2024-10-09 Nginx防盗链(nginx防盗链 referer)
- 2024-10-09 触类旁通,从502错误看Nginx常见故障与修复
- 2024-10-09 使用 Nginx 一定要用好 444 状态码
- 2024-10-09 渗透测试中403/401页面绕过的思路
- 2024-10-09 Nginx-包教包会-进阶(nginx详细教程)
- 2024-09-10 16《Nginx 入门教程》Nginx防盗链配置
- 2024-09-10 《前端运维》二、Nginx-3静态资源服务、跨域与其他
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)