博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx 另一WAF方式
阅读量:6797 次
发布时间:2019-06-26

本文共 2898 字,大约阅读时间需要 9 分钟。

 

 
  1. nginx 另一WAF方式 
  2. 2013-03-01 10:57 116人阅读 评论(0) 收藏 举报 
  3. 使用方法: 
  4. vi /usr/local/nginx/conf/drop_sql.conf 
  5. 添加以下内容 
  6. 代码: 
  7. ## Block SQL injections 
  8. set $block_sql_injections 0; 
  9. if ($query_string ~ "union.*select.*\(") { 
  10. set $block_sql_injections 1; 
  11. if ($query_string ~ "union.*all.*select.*") { 
  12. set $block_sql_injections 1; 
  13. if ($query_string ~ "concat.*\(") { 
  14. set $block_sql_injections 1; 
  15. if ($block_sql_injections = 1) { 
  16. return 403; 
  17.  
  18. ## Block file injections 
  19. set $block_file_injections 0; 
  20. if ($query_string ~ "[a-zA-Z0-9_]=http://") { 
  21. set $block_file_injections 1; 
  22. if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") { 
  23. set $block_file_injections 1; 
  24. if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") { 
  25. set $block_file_injections 1; 
  26. if ($block_file_injections = 1) { 
  27. return 403; 
  28.  
  29. ## Block common exploits 
  30. set $block_common_exploits 0; 
  31. if ($query_string ~ "(<|%3C).*script.*(>|%3E)") { 
  32. set $block_common_exploits 1; 
  33. if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") { 
  34. set $block_common_exploits 1; 
  35. if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") { 
  36. set $block_common_exploits 1; 
  37. if ($query_string ~ "proc/self/environ") { 
  38. set $block_common_exploits 1; 
  39. if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") { 
  40. set $block_common_exploits 1; 
  41. if ($query_string ~ "base64_(en|de)code\(.*\)") { 
  42. set $block_common_exploits 1; 
  43. if ($block_common_exploits = 1) { 
  44. return 403; 
  45.  
  46. ## Block spam 
  47. set $block_spam 0; 
  48. if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") { 
  49. set $block_spam 1; 
  50. if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") { 
  51. set $block_spam 1; 
  52. if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") { 
  53. set $block_spam 1; 
  54. if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") { 
  55. set $block_spam 1; 
  56. if ($block_spam = 1) { 
  57. return 403; 
  58.  
  59. ## Block user agents 
  60. set $block_user_agents 0; 
  61.  
  62. # Don't disable wget if you need it to run cron jobs! 
  63. #if ($http_user_agent ~ "Wget") { 
  64. # set $block_user_agents 1; 
  65. #} 
  66.  
  67. # Disable Akeeba Remote Control 2.5 and earlier 
  68. if ($http_user_agent ~ "Indy Library") { 
  69. set $block_user_agents 1; 
  70.  
  71. # Common bandwidth hoggers and hacking tools. 
  72. if ($http_user_agent ~ "libwww-perl") { 
  73. set $block_user_agents 1; 
  74. if ($http_user_agent ~ "GetRight") { 
  75. set $block_user_agents 1; 
  76. if ($http_user_agent ~ "GetWeb!") { 
  77. set $block_user_agents 1; 
  78. if ($http_user_agent ~ "Go!Zilla") { 
  79. set $block_user_agents 1; 
  80. if ($http_user_agent ~ "Download Demon") { 
  81. set $block_user_agents 1; 
  82. if ($http_user_agent ~ "Go-Ahead-Got-It") { 
  83. set $block_user_agents 1; 
  84. if ($http_user_agent ~ "TurnitinBot") { 
  85. set $block_user_agents 1; 
  86. if ($http_user_agent ~ "GrabNet") { 
  87. set $block_user_agents 1; 
  88.  
  89. if ($block_user_agents = 1) { 
  90. return 403; 
  91.  
  92. 在nginx.conf配置文件中的server段中加入 
  93. include drop_sql.conf; 
  94.  
  95. 重新加载nginx配置文件即可生效 
  96. /usr/local/nginx/sbin/nginx -s reload 

 

转载地址:http://okuwl.baihongyu.com/

你可能感兴趣的文章
js页面载入特效如何实现
查看>>
C#委托和事件
查看>>
TPrinter控制票據打印機
查看>>
Pidgin 插件法解决Ubuntu11.10 QQ
查看>>
你好,WPF
查看>>
iOS开发视频教程下载/iphone开发视频教程下载
查看>>
[转]Android SurfaceView 绘图及帧频处理方法修正
查看>>
读《C++ Primer Plus》的总结
查看>>
每天一点Linux --- 中断键和退出键
查看>>
Python+Django静态文件配置
查看>>
DataSet,DataTable,DateView的关系和用法
查看>>
让IE浏览器支持HTML5标准的方法(转)
查看>>
JBPM流程部署之流程版本升级
查看>>
理解内存分配
查看>>
HDU_3339 In Action(Dijkstra + DP)
查看>>
WCF4.0进阶系列--第二章 寄宿WCF服务(转)
查看>>
用驴子拖宝马——怎样滥用结构体
查看>>
如何删除有主外键关系的数据呢?
查看>>
调试九法:软硬件错误的排查之道<书评>
查看>>
无废话ExtJs 入门教程四[表单:FormPanel]
查看>>