代理自身的安全
过滤http
把所有非法的http请求直接拒绝。因为非法的请求往往就是在攻击服务器。
# 只允许 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; }
有一些攻击都是扫描类似.base_history等。所以除了合法的请求,其他的都拒绝。使用的是白名单
的思维方式
# 只接受这些后缀 location ~ (\.(json|html|jsp)|/)${ ... }
上传的文件只有读的权限,没有执行的权限。访问webshell的产生。
控制使用
虽然请求是正常的,但是要控制使用服务的资源。
针对于静态资源,特别是大文件,需要限速。
server { server_name xxx.xxx.xxx; #控制下载流量 limit_rate 100k; }
构架规划
通过构架的规划去增加安全也是很有必要的。
把提供静态资源和动态资源独立部署。
更严格的控制动态资源的请求类型。
更严格的控制静态资源的权限。
也解决一定的安全问题。
把一旦生成不会变化的动态请求资源,变成静态的文件。这样就可以预防很多的安全问题。
具体的实现思路:通过nginx去实现静态化。
自动解决http请求问题
主要是为了预防ddos和cc。可以自动通过机制去处理。
主要通过定时分析访问日志,根据不同的危险等级做不同的处理。难点在于危险等级和危险阀值的设定。
比如:
原文链接:https://www.cnblogs.com/ansn001/p/5643711.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18009